COOK COOK N/A
Last Block- HealthChecking Head-
BT--:--
ConsensusQBFT Chain ID20261001 Nodes0/0
Gas price- Gwei
Cookchain Cookchain

Contract Details

Overview

COOK BALANCE

Loading…

TOKEN NAME

EVM Contract

TOTAL SUPPLY

Not available

More Info

CONTRACT ADDRESS

0xa917805a53969e7bf63063da512351ec750646dd

CONTRACT CREATOR

0xdf6e7e94ed8c6fe335c28a8ec50381e9172f7d30
Creation transaction

TOKEN TRACKER

Checking ERC-20 metadata…

Contract Info

SOURCE CODE

✓ Verified

TOKEN DECIMALS

Not available

Market and multichain values require verified data feeds.

Latest Contract Transactions

Loading indexed transactions…

Transaction HashActionBlockAgeFromToAmountTxn Fee
Raw Contract Data · JSON
{
  "id": "0xa917805a53969e7bf63063da512351ec750646dd",
  "contract": "0xa917805a53969e7bf63063da512351ec750646dd",
  "name": "EVM Contract",
  "type": "contract",
  "bytecode": "0x608060405260043610610105575f3560e01c80635ed1f96311610092578063b7ab4db511610062578063b7ab4db51461031d578063ba50b8791461033e578063dbd9a0311461035d578063e3056a341461037c578063e58bb6391461039b575f80fd5b80635ed1f96314610290578063714897df146102a457806395c48bd5146102b85780639f8a13d7146102d7575f80fd5b8063280e2d2b116100d8578063280e2d2b1461019957806328cb1e38146101b85780634d7209e6146101d757806351cff8d9146101f657806355f5751014610215575f80fd5b806308dbbb03146101095780630c340a24146101385780630ebb172a1461016e57806324b8fbf614610184575b5f80fd5b348015610114575f80fd5b5061012568056bc75e2d6310000081565b6040519081526020015b60405180910390f35b348015610143575f80fd5b505f54610156906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b348015610179575f80fd5b506101256212750081565b6101976101923660046110a3565b6103af565b005b3480156101a4575f80fd5b506101976101b3366004611121565b610720565b3480156101c3575f80fd5b506101976101d2366004611121565b610771565b3480156101e2575f80fd5b506101256101f1366004611121565b610850565b348015610201575f80fd5b50610197610210366004611121565b6108ca565b348015610220575f80fd5b5061026461022f366004611121565b600260208190525f918252604090912080546001820154928201546003909201546001600160a01b0390911692919060ff1684565b604080516001600160a01b0390951685526020850193909352918301521515606082015260800161012f565b34801561029b575f80fd5b50610125600481565b3480156102af575f80fd5b50610125602081565b3480156102c3575f80fd5b506101976102d2366004611121565b610b26565b3480156102e2575f80fd5b5061030d6102f1366004611121565b6001600160a01b03165f90815260036020526040902054151590565b604051901515815260200161012f565b348015610328575f80fd5b50610331610bde565b60405161012f9190611141565b348015610349575f80fd5b50610197610358366004611121565b610c3e565b348015610368575f80fd5b50610197610377366004611121565b610c73565b348015610387575f80fd5b50600154610156906001600160a01b031681565b3480156103a6575f80fd5b50610197610dfe565b6001600160a01b038316158015906103de57506001600160a01b038381165f9081526002602052604090205416155b6104245760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b60448201526064015b60405180910390fd5b68056bc75e2d631000003410156104705760405162461bcd60e51b815260206004820152601060248201526f4d696e696d756d2031303020434f4f4b60801b604482015260640161041b565b336001600160a01b0384161461067157604181146104d05760405162461bcd60e51b815260206004820152601a60248201527f56616c696461746f7220636f6e73656e74207265717569726564000000000000604482015260640161041b565b8135602083013560408401355f1a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821180159061051e57508060ff16601b148061051e57508060ff16601c145b61055e5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640161041b565b5f61056833610850565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c810191909152605c0160408051601f1981840301815282825280516020918201205f845290830180835281905260ff851691830191909152606082018690526080820185905291506001600160a01b0388169060019060a0016020604051602081039080840390855afa15801561060c573d5f803e3d5ffd5b505050602060405103516001600160a01b03161461066c5760405162461bcd60e51b815260206004820152601760248201527f57726f6e672076616c696461746f7220636f6e73656e74000000000000000000604482015260640161041b565b505050505b60408051608081018252338082523460208084018281525f858701818152606087018281526001600160a01b038c81168085526002808852948b902099518a546001600160a01b031916921691909117895593516001890155905191870191909155516003909501805460ff191695151595909517909455935190815290927f199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7910160405180910390a3505050565b6001600160a01b038082165f9081526002602052604090208054909116331461075b5760405162461bcd60e51b815260040161041b9061118c565b60038101805460ff191690555f60029091015550565b6001600160a01b038082165f908152600260205260409020805490911633146107ac5760405162461bcd60e51b815260040161041b9061118c565b6001600160a01b0382165f90815260036020526040902054156107d7576107d282610e98565b610805565b600381015460ff166108055760038101805460ff191660011790556107ff62127500426111c7565b60028201555b816001600160a01b03167fd9217a461a0f7f84171a8866118c3d92e943ba7c1ba89b819371f729b5cabcbc826002015460405161084491815260200190565b60405180910390a25050565b604080516080602080830182905260a08301527f436f6f6b636861696e2076616c696461746f7220726567697374726174696f6e60c083015246928201929092523060608201526001600160a01b038316918101919091525f9060e001604051602081830303815290604052805190602001209050919050565b60055460ff16156109095760405162461bcd60e51b81526020600482015260096024820152681499595b9d1c985b9d60ba1b604482015260640161041b565b6005805460ff191660019081179091556001600160a01b038083165f9081526002602081815260409283902083516080810185528154909516808652958101549185019190915290810154918301919091526003015460ff16151560608201529033146109885760405162461bcd60e51b815260040161041b9061118c565b6001600160a01b0382165f908152600360205260409020541580156109ae575080606001515b80156109be575080604001514210155b6109fe5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b081b1bd8dad959607a1b604482015260640161041b565b6001600160a01b0382165f90815260026020818152604080842080546001600160a01b0319168155600181018590559283018490556003909201805460ff1916905583015190513391908381818185875af1925050503d805f8114610a7e576040519150601f19603f3d011682016040523d82523d5f602084013e610a83565b606091505b5050905080610ac65760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161041b565b336001600160a01b0316836001600160a01b03167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb8460200151604051610b0f91815260200190565b60405180910390a350506005805460ff1916905550565b5f546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161041b906111e0565b6001600160a01b038116610b955760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379033b7bb32b93737b960991b604482015260640161041b565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fb2a7644827310967f47607793f9eef1226102dcafd1bfcf6c53ad8afe0dd4628905f90a250565b60606004805480602002602001604051908101604052809291908181526020018280548015610c3457602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610c16575b5050505050905090565b5f546001600160a01b03163314610c675760405162461bcd60e51b815260040161041b906111e0565b610c7081610e98565b50565b5f546001600160a01b03163314610c9c5760405162461bcd60e51b815260040161041b906111e0565b6001600160a01b0381165f908152600260205260409020600181015468056bc75e2d6310000011801590610cd55750600381015460ff16155b8015610cf657506001600160a01b0382165f90815260036020526040902054155b610d315760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420656c696769626c6560a01b604482015260640161041b565b600454602011610d785760405162461bcd60e51b815260206004820152601260248201527156616c696461746f7220636170616369747960701b604482015260640161041b565b600480546001810182557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b03851690811790915590545f828152600360205260408082209290925590517fb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c89190a25050565b6001546001600160a01b03163314610e505760405162461bcd60e51b815260206004820152601560248201527450656e64696e6720676f7665726e6f72206f6e6c7960581b604482015260640161041b565b5f8054336001600160a01b0319918216811783556001805490921690915560405190917f5ffbefd23f1844198adf645535c8dce8d9f3f2f9f5e917bf4e3aa8fc90299a9091a2565b6001600160a01b0381165f9081526003602052604081205490819003610eed5760405162461bcd60e51b815260206004820152600a6024820152694e6f742061637469766560b01b604482015260640161041b565b6004805411610f3e5760405162461bcd60e51b815260206004820152601d60248201527f4b656570206174206c6561737420666f75722076616c696461746f7273000000604482015260640161041b565b600480545f9190610f5190600190611207565b81548110610f6157610f6161121a565b5f918252602090912001546001600160a01b03169050806004610f85600185611207565b81548110610f9557610f9561121a565b5f91825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526003909152604090208290556004805480610fde57610fde61122e565b5f828152602080822083015f1990810180546001600160a01b03191690559092019092556001600160a01b03851682526003808252604080842084905560029092529120908101805460ff1916600117905561103d62127500426111c7565b600282018190556040519081526001600160a01b038516907f988e3402bf34325fbe597e20c00493d017ea71636ee463c3fd0daa8df2ad850d9060200160405180910390a250505050565b80356001600160a01b038116811461109e575f80fd5b919050565b5f805f604084860312156110b5575f80fd5b6110be84611088565b9250602084013567ffffffffffffffff8111156110d9575f80fd5b8401601f810186136110e9575f80fd5b803567ffffffffffffffff8111156110ff575f80fd5b866020828401011115611110575f80fd5b939660209190910195509293505050565b5f60208284031215611131575f80fd5b61113a82611088565b9392505050565b602080825282518282018190525f918401906040840190835b818110156111815783516001600160a01b031683526020938401939092019160010161115a565b509095945050505050565b6020808252600d908201526c4f70657261746f72206f6e6c7960981b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156111da576111da6111b3565b92915050565b6020808252600d908201526c476f7665726e6f72206f6e6c7960981b604082015260600190565b818103818111156111da576111da6111b3565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122059a56e31d2b2a92dd460b77feae4d3b47c74d4bacbb357b25fb27d22dcaf9e6564736f6c634300081a0033",
  "is_contract": true,
  "verified": true,
  "verification": {
    "address": "0xa917805a53969e7bf63063da512351ec750646dd",
    "compiler": "0.8.26+commit.8a97fa7a.Emscripten.clang",
    "contract": "CookchainValidatorStaking.sol:CookchainValidatorStaking",
    "verified": true,
    "match": "runtime-with-metadata",
    "creation_verified": true,
    "factory_deployment": null,
    "constructor_arguments": "000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d3000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004000000000000000000000000100514b071ba3e0abf692dea2ab4cdc07d7d401a0000000000000000000000002eb5ba29f80d18913a01abb7647622da3f66f5d7000000000000000000000000b780e1ad00e4149bea43d331eaa6e537def30c79000000000000000000000000f96a5491ea2c0540be7b34cc3913fc2fc564cb1e",
    "verified_at": "2026-10-03T20:18:00.837Z",
    "chain_id": 20261001,
    "abi": [
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          },
          {
            "internalType": "address[]",
            "name": "initialValidators",
            "type": "address[]"
          }
        ],
        "stateMutability": "payable",
        "type": "constructor"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "validator",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "unlockAt",
            "type": "uint256"
          }
        ],
        "name": "ExitRequested",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "next",
            "type": "address"
          }
        ],
        "name": "GovernorChanged",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "next",
            "type": "address"
          }
        ],
        "name": "GovernorProposed",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "validator",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "operator",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "Registered",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "validator",
            "type": "address"
          }
        ],
        "name": "ValidatorActivated",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "validator",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "unlockAt",
            "type": "uint256"
          }
        ],
        "name": "ValidatorDeactivated",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "internalType": "address",
            "name": "validator",
            "type": "address"
          },
          {
            "indexed": true,
            "internalType": "address",
            "name": "operator",
            "type": "address"
          },
          {
            "indexed": false,
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "Withdrawn",
        "type": "event"
      },
      {
        "inputs": [],
        "name": "MAX_VALIDATORS",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "MINIMUM_STAKE",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "MIN_VALIDATORS",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "WITHDRAWAL_DELAY",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "acceptGovernor",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "v",
            "type": "address"
          }
        ],
        "name": "approveValidator",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "v",
            "type": "address"
          }
        ],
        "name": "cancelExit",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "operator",
            "type": "address"
          }
        ],
        "name": "consentDigest",
        "outputs": [
          {
            "internalType": "bytes32",
            "name": "",
            "type": "bytes32"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "v",
            "type": "address"
          }
        ],
        "name": "deactivateValidator",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "getValidators",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "",
            "type": "address[]"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "governor",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "v",
            "type": "address"
          }
        ],
        "name": "isActive",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [],
        "name": "pendingGovernor",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ],
        "name": "positions",
        "outputs": [
          {
            "internalType": "address",
            "name": "operator",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "unlockAt",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "exiting",
            "type": "bool"
          }
        ],
        "stateMutability": "view",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "next",
            "type": "address"
          }
        ],
        "name": "proposeGovernor",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "validator",
            "type": "address"
          },
          {
            "internalType": "bytes",
            "name": "signature",
            "type": "bytes"
          }
        ],
        "name": "register",
        "outputs": [],
        "stateMutability": "payable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "v",
            "type": "address"
          }
        ],
        "name": "requestExit",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "v",
            "type": "address"
          }
        ],
        "name": "withdraw",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      }
    ],
    "input": {
      "language": "Solidity",
      "sources": {
        "CookchainValidatorStaking.sol": {
          "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.26;\n\n/// @notice Native COOK collateral and controlled QBFT validator admission.\n/// @dev No automatic rewards, delegation or slashing. Consensus activation is a separate network operation.\ncontract CookchainValidatorStaking {\n    uint256 public constant MINIMUM_STAKE = 100 ether;\n    uint256 public constant WITHDRAWAL_DELAY = 14 days;\n    uint256 public constant MIN_VALIDATORS = 4;\n    uint256 public constant MAX_VALIDATORS = 32;\n    uint256 private constant HALF_ORDER = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0;\n    address public governor;\n    address public pendingGovernor;\n    struct Position { address operator; uint256 amount; uint256 unlockAt; bool exiting; }\n    mapping(address => Position) public positions;\n    mapping(address => uint256) private activeIndex;\n    address[] private validators;\n    bool private entered;\n    event Registered(address indexed validator, address indexed operator, uint256 amount);\n    event ValidatorActivated(address indexed validator);\n    event ValidatorDeactivated(address indexed validator, uint256 unlockAt);\n    event ExitRequested(address indexed validator, uint256 unlockAt);\n    event Withdrawn(address indexed validator, address indexed operator, uint256 amount);\n    event GovernorProposed(address indexed next);\n    event GovernorChanged(address indexed next);\n    modifier onlyGovernor(){require(msg.sender==governor,\"Governor only\");_;}\n    modifier nonReentrant(){require(!entered,\"Reentrant\");entered=true;_;entered=false;}\n    constructor(address owner,address[] memory initialValidators) payable {\n        require(owner!=address(0),\"Zero governor\");\n        require(initialValidators.length>=MIN_VALIDATORS&&initialValidators.length<=MAX_VALIDATORS,\"Validator count\");\n        require(msg.value==MINIMUM_STAKE*initialValidators.length,\"Initial collateral\");\n        governor=owner;\n        for(uint256 i;i<initialValidators.length;i++){\n            address v=initialValidators[i];require(v!=address(0)&&positions[v].operator==address(0),\"Invalid validator\");\n            positions[v]=Position(owner,MINIMUM_STAKE,0,false);\n            validators.push(v);activeIndex[v]=validators.length;\n            emit Registered(v,owner,MINIMUM_STAKE);emit ValidatorActivated(v);\n        }\n    }\n    function getValidators() external view returns(address[] memory){return validators;}\n    function isActive(address v) public view returns(bool){return activeIndex[v]!=0;}\n    function consentDigest(address operator) public view returns(bytes32){\n        return keccak256(abi.encode(\"Cookchain validator registration\",block.chainid,address(this),operator));\n    }\n    /// @notice The validator node key signs consentDigest(operator) using EIP-191 personal_sign.\n    function register(address validator,bytes calldata signature) external payable {\n        require(validator!=address(0)&&positions[validator].operator==address(0),\"Already registered\");\n        require(msg.value>=MINIMUM_STAKE,\"Minimum 100 COOK\");\n        if(msg.sender!=validator){\n            require(signature.length==65,\"Validator consent required\");\n            bytes32 r;bytes32 s;uint8 v;\n            assembly {r:=calldataload(signature.offset) s:=calldataload(add(signature.offset,32)) v:=byte(0,calldataload(add(signature.offset,64)))}\n            require(uint256(s)<=HALF_ORDER&&(v==27||v==28),\"Invalid signature\");\n            bytes32 digest=keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\",consentDigest(msg.sender)));\n            require(ecrecover(digest,v,r,s)==validator,\"Wrong validator consent\");\n        }\n        positions[validator]=Position(msg.sender,msg.value,0,false);\n        emit Registered(validator,msg.sender,msg.value);\n    }\n    function approveValidator(address v) external onlyGovernor {\n        Position storage p=positions[v];\n        require(p.amount>=MINIMUM_STAKE&&!p.exiting&&!isActive(v),\"Not eligible\");\n        require(validators.length<MAX_VALIDATORS,\"Validator capacity\");\n        validators.push(v);activeIndex[v]=validators.length;emit ValidatorActivated(v);\n    }\n    function deactivateValidator(address v) external onlyGovernor {_deactivate(v);}\n    function _deactivate(address v) private {\n        uint256 index=activeIndex[v];require(index!=0,\"Not active\");\n        require(validators.length>MIN_VALIDATORS,\"Keep at least four validators\");\n        address last=validators[validators.length-1];validators[index-1]=last;activeIndex[last]=index;\n        validators.pop();delete activeIndex[v];\n        Position storage p=positions[v];p.exiting=true;p.unlockAt=block.timestamp+WITHDRAWAL_DELAY;\n        emit ValidatorDeactivated(v,p.unlockAt);\n    }\n    function requestExit(address v) external {\n        Position storage p=positions[v];require(p.operator==msg.sender,\"Operator only\");\n        if(isActive(v))_deactivate(v);\n        else if(!p.exiting){p.exiting=true;p.unlockAt=block.timestamp+WITHDRAWAL_DELAY;}\n        emit ExitRequested(v,p.unlockAt);\n    }\n    function cancelExit(address v) external {\n        Position storage p=positions[v];require(p.operator==msg.sender,\"Operator only\");\n        p.exiting=false;p.unlockAt=0;\n    }\n    function withdraw(address v) external nonReentrant {\n        Position memory p=positions[v];require(p.operator==msg.sender,\"Operator only\");\n        require(!isActive(v)&&p.exiting&&block.timestamp>=p.unlockAt,\"Withdrawal locked\");\n        delete positions[v];(bool ok,)=payable(msg.sender).call{value:p.amount}(\"\");require(ok,\"Transfer failed\");\n        emit Withdrawn(v,msg.sender,p.amount);\n    }\n    function proposeGovernor(address next) external onlyGovernor {require(next!=address(0),\"Zero governor\");pendingGovernor=next;emit GovernorProposed(next);}\n    function acceptGovernor() external {require(msg.sender==pendingGovernor,\"Pending governor only\");governor=msg.sender;pendingGovernor=address(0);emit GovernorChanged(msg.sender);}\n}\n"
        }
      },
      "settings": {
        "optimizer": {
          "enabled": true,
          "runs": 200
        },
        "evmVersion": "shanghai",
        "outputSelection": {
          "CookchainValidatorStaking.sol": {
            "CookchainValidatorStaking": [
              "abi",
              "metadata",
              "evm.bytecode",
              "evm.deployedBytecode"
            ],
            "": [
              "ast"
            ]
          }
        }
      }
    },
    "metadata": {
      "compiler": {
        "version": "0.8.26+commit.8a97fa7a"
      },
      "language": "Solidity",
      "output": {
        "abi": [
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "owner",
                "type": "address"
              },
              {
                "internalType": "address[]",
                "name": "initialValidators",
                "type": "address[]"
              }
            ],
            "stateMutability": "payable",
            "type": "constructor"
          },
          {
            "anonymous": false,
            "inputs": [
              {
                "indexed": true,
                "internalType": "address",
                "name": "validator",
                "type": "address"
              },
              {
                "indexed": false,
                "internalType": "uint256",
                "name": "unlockAt",
                "type": "uint256"
              }
            ],
            "name": "ExitRequested",
            "type": "event"
          },
          {
            "anonymous": false,
            "inputs": [
              {
                "indexed": true,
                "internalType": "address",
                "name": "next",
                "type": "address"
              }
            ],
            "name": "GovernorChanged",
            "type": "event"
          },
          {
            "anonymous": false,
            "inputs": [
              {
                "indexed": true,
                "internalType": "address",
                "name": "next",
                "type": "address"
              }
            ],
            "name": "GovernorProposed",
            "type": "event"
          },
          {
            "anonymous": false,
            "inputs": [
              {
                "indexed": true,
                "internalType": "address",
                "name": "validator",
                "type": "address"
              },
              {
                "indexed": true,
                "internalType": "address",
                "name": "operator",
                "type": "address"
              },
              {
                "indexed": false,
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              }
            ],
            "name": "Registered",
            "type": "event"
          },
          {
            "anonymous": false,
            "inputs": [
              {
                "indexed": true,
                "internalType": "address",
                "name": "validator",
                "type": "address"
              }
            ],
            "name": "ValidatorActivated",
            "type": "event"
          },
          {
            "anonymous": false,
            "inputs": [
              {
                "indexed": true,
                "internalType": "address",
                "name": "validator",
                "type": "address"
              },
              {
                "indexed": false,
                "internalType": "uint256",
                "name": "unlockAt",
                "type": "uint256"
              }
            ],
            "name": "ValidatorDeactivated",
            "type": "event"
          },
          {
            "anonymous": false,
            "inputs": [
              {
                "indexed": true,
                "internalType": "address",
                "name": "validator",
                "type": "address"
              },
              {
                "indexed": true,
                "internalType": "address",
                "name": "operator",
                "type": "address"
              },
              {
                "indexed": false,
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              }
            ],
            "name": "Withdrawn",
            "type": "event"
          },
          {
            "inputs": [],
            "name": "MAX_VALIDATORS",
            "outputs": [
              {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [],
            "name": "MINIMUM_STAKE",
            "outputs": [
              {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [],
            "name": "MIN_VALIDATORS",
            "outputs": [
              {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [],
            "name": "WITHDRAWAL_DELAY",
            "outputs": [
              {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [],
            "name": "acceptGovernor",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "v",
                "type": "address"
              }
            ],
            "name": "approveValidator",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "v",
                "type": "address"
              }
            ],
            "name": "cancelExit",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "operator",
                "type": "address"
              }
            ],
            "name": "consentDigest",
            "outputs": [
              {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "v",
                "type": "address"
              }
            ],
            "name": "deactivateValidator",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
          },
          {
            "inputs": [],
            "name": "getValidators",
            "outputs": [
              {
                "internalType": "address[]",
                "name": "",
                "type": "address[]"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [],
            "name": "governor",
            "outputs": [
              {
                "internalType": "address",
                "name": "",
                "type": "address"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "v",
                "type": "address"
              }
            ],
            "name": "isActive",
            "outputs": [
              {
                "internalType": "bool",
                "name": "",
                "type": "bool"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [],
            "name": "pendingGovernor",
            "outputs": [
              {
                "internalType": "address",
                "name": "",
                "type": "address"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "",
                "type": "address"
              }
            ],
            "name": "positions",
            "outputs": [
              {
                "internalType": "address",
                "name": "operator",
                "type": "address"
              },
              {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "unlockAt",
                "type": "uint256"
              },
              {
                "internalType": "bool",
                "name": "exiting",
                "type": "bool"
              }
            ],
            "stateMutability": "view",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "next",
                "type": "address"
              }
            ],
            "name": "proposeGovernor",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "validator",
                "type": "address"
              },
              {
                "internalType": "bytes",
                "name": "signature",
                "type": "bytes"
              }
            ],
            "name": "register",
            "outputs": [],
            "stateMutability": "payable",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "v",
                "type": "address"
              }
            ],
            "name": "requestExit",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
          },
          {
            "inputs": [
              {
                "internalType": "address",
                "name": "v",
                "type": "address"
              }
            ],
            "name": "withdraw",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
          }
        ],
        "devdoc": {
          "details": "No automatic rewards, delegation or slashing. Consensus activation is a separate network operation.",
          "kind": "dev",
          "methods": {},
          "version": 1
        },
        "userdoc": {
          "kind": "user",
          "methods": {
            "register(address,bytes)": {
              "notice": "The validator node key signs consentDigest(operator) using EIP-191 personal_sign."
            }
          },
          "notice": "Native COOK collateral and controlled QBFT validator admission.",
          "version": 1
        }
      },
      "settings": {
        "compilationTarget": {
          "CookchainValidatorStaking.sol": "CookchainValidatorStaking"
        },
        "evmVersion": "shanghai",
        "libraries": {},
        "metadata": {
          "bytecodeHash": "ipfs"
        },
        "optimizer": {
          "enabled": true,
          "runs": 200
        },
        "remappings": []
      },
      "sources": {
        "CookchainValidatorStaking.sol": {
          "keccak256": "0xc5924e60a80c7d1562ff28e2450304c0195e660e2aea98f25ac983474221c008",
          "license": "MIT",
          "urls": [
            "bzz-raw://bf9dd27955fbb3bd9ec8e58a505ff8d74c6280482f5b14b1f665ff1e104249b2",
            "dweb:/ipfs/QmR7Z77cZa7TgNqqLaayDdXU6EAQZV78e9ks12oewEBbRu"
          ]
        }
      },
      "version": 1
    }
  },
  "deployment": {
    "txid": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
    "hash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
    "sender": "0xdf6e7e94ed8c6fe335c28a8ec50381e9172f7d30",
    "recipient": "0xa917805a53969e7bf63063da512351ec750646dd",
    "amount_dec": "400",
    "value_raw": "400000000000000000000",
    "fee_dec": "0.00000001528381",
    "fee_raw": "15283810000",
    "asset": "COOK",
    "timestamp_ms": 1791058348000,
    "block": 73869,
    "status": "Success",
    "kind": "Contract creation",
    "source": "EVM",
    "nonce": 152,
    "transaction_type": 2,
    "gas_limit": "1541678",
    "gas_used": "1528381",
    "gas_price_wei": "10000",
    "gas_price_gwei": "0.00001",
    "data_hex": "0x60806040526040516116e13803806116e183398101604081905261002291610341565b6001600160a01b03821661006d5760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379033b7bb32b93737b960991b60448201526064015b60405180910390fd5b600481511015801561008157506020815111155b6100bf5760405162461bcd60e51b815260206004820152600f60248201526e15985b1a59185d1bdc8818dbdd5b9d608a1b6044820152606401610064565b80516100d49068056bc75e2d6310000061041f565b34146101175760405162461bcd60e51b8152602060048201526012602482015271125b9a5d1a585b0818dbdb1b185d195c985b60721b6044820152606401610064565b5f80546001600160a01b0319166001600160a01b0384161781555b815181101561030a575f82828151811061014e5761014e610448565b602002602001015190505f6001600160a01b0316816001600160a01b03161415801561019157506001600160a01b038181165f9081526002602052604090205416155b6101d15760405162461bcd60e51b815260206004820152601160248201527024b73b30b634b2103b30b634b230ba37b960791b6044820152606401610064565b604080516080810182526001600160a01b0386811680835268056bc75e2d6310000060208085018281525f868801818152606088018281528a881680845260028087528b85209a518b546001600160a01b031990811691909b16178b5594516001808c01919091559251948a0194909455516003988901805460ff19169115159190911790556004805491820181557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805490971683179096559454958252938690209490945593519384529290917f199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7910160405180910390a36040516001600160a01b038216907fb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8905f90a250600101610132565b50505061045c565b80516001600160a01b0381168114610328575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610352575f80fd5b61035b83610312565b60208401519092506001600160401b03811115610376575f80fd5b8301601f81018513610386575f80fd5b80516001600160401b0381111561039f5761039f61032d565b604051600582901b90603f8201601f191681016001600160401b03811182821017156103cd576103cd61032d565b6040529182526020818401810192908101888411156103ea575f80fd5b6020850194505b838510156104105761040285610312565b8152602094850194016103f1565b50809450505050509250929050565b808202811582820484141761044257634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52603260045260245ffd5b611278806104695f395ff3fe608060405260043610610105575f3560e01c80635ed1f96311610092578063b7ab4db511610062578063b7ab4db51461031d578063ba50b8791461033e578063dbd9a0311461035d578063e3056a341461037c578063e58bb6391461039b575f80fd5b80635ed1f96314610290578063714897df146102a457806395c48bd5146102b85780639f8a13d7146102d7575f80fd5b8063280e2d2b116100d8578063280e2d2b1461019957806328cb1e38146101b85780634d7209e6146101d757806351cff8d9146101f657806355f5751014610215575f80fd5b806308dbbb03146101095780630c340a24146101385780630ebb172a1461016e57806324b8fbf614610184575b5f80fd5b348015610114575f80fd5b5061012568056bc75e2d6310000081565b6040519081526020015b60405180910390f35b348015610143575f80fd5b505f54610156906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b348015610179575f80fd5b506101256212750081565b6101976101923660046110a3565b6103af565b005b3480156101a4575f80fd5b506101976101b3366004611121565b610720565b3480156101c3575f80fd5b506101976101d2366004611121565b610771565b3480156101e2575f80fd5b506101256101f1366004611121565b610850565b348015610201575f80fd5b50610197610210366004611121565b6108ca565b348015610220575f80fd5b5061026461022f366004611121565b600260208190525f918252604090912080546001820154928201546003909201546001600160a01b0390911692919060ff1684565b604080516001600160a01b0390951685526020850193909352918301521515606082015260800161012f565b34801561029b575f80fd5b50610125600481565b3480156102af575f80fd5b50610125602081565b3480156102c3575f80fd5b506101976102d2366004611121565b610b26565b3480156102e2575f80fd5b5061030d6102f1366004611121565b6001600160a01b03165f90815260036020526040902054151590565b604051901515815260200161012f565b348015610328575f80fd5b50610331610bde565b60405161012f9190611141565b348015610349575f80fd5b50610197610358366004611121565b610c3e565b348015610368575f80fd5b50610197610377366004611121565b610c73565b348015610387575f80fd5b50600154610156906001600160a01b031681565b3480156103a6575f80fd5b50610197610dfe565b6001600160a01b038316158015906103de57506001600160a01b038381165f9081526002602052604090205416155b6104245760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b60448201526064015b60405180910390fd5b68056bc75e2d631000003410156104705760405162461bcd60e51b815260206004820152601060248201526f4d696e696d756d2031303020434f4f4b60801b604482015260640161041b565b336001600160a01b0384161461067157604181146104d05760405162461bcd60e51b815260206004820152601a60248201527f56616c696461746f7220636f6e73656e74207265717569726564000000000000604482015260640161041b565b8135602083013560408401355f1a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821180159061051e57508060ff16601b148061051e57508060ff16601c145b61055e5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640161041b565b5f61056833610850565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c810191909152605c0160408051601f1981840301815282825280516020918201205f845290830180835281905260ff851691830191909152606082018690526080820185905291506001600160a01b0388169060019060a0016020604051602081039080840390855afa15801561060c573d5f803e3d5ffd5b505050602060405103516001600160a01b03161461066c5760405162461bcd60e51b815260206004820152601760248201527f57726f6e672076616c696461746f7220636f6e73656e74000000000000000000604482015260640161041b565b505050505b60408051608081018252338082523460208084018281525f858701818152606087018281526001600160a01b038c81168085526002808852948b902099518a546001600160a01b031916921691909117895593516001890155905191870191909155516003909501805460ff191695151595909517909455935190815290927f199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7910160405180910390a3505050565b6001600160a01b038082165f9081526002602052604090208054909116331461075b5760405162461bcd60e51b815260040161041b9061118c565b60038101805460ff191690555f60029091015550565b6001600160a01b038082165f908152600260205260409020805490911633146107ac5760405162461bcd60e51b815260040161041b9061118c565b6001600160a01b0382165f90815260036020526040902054156107d7576107d282610e98565b610805565b600381015460ff166108055760038101805460ff191660011790556107ff62127500426111c7565b60028201555b816001600160a01b03167fd9217a461a0f7f84171a8866118c3d92e943ba7c1ba89b819371f729b5cabcbc826002015460405161084491815260200190565b60405180910390a25050565b604080516080602080830182905260a08301527f436f6f6b636861696e2076616c696461746f7220726567697374726174696f6e60c083015246928201929092523060608201526001600160a01b038316918101919091525f9060e001604051602081830303815290604052805190602001209050919050565b60055460ff16156109095760405162461bcd60e51b81526020600482015260096024820152681499595b9d1c985b9d60ba1b604482015260640161041b565b6005805460ff191660019081179091556001600160a01b038083165f9081526002602081815260409283902083516080810185528154909516808652958101549185019190915290810154918301919091526003015460ff16151560608201529033146109885760405162461bcd60e51b815260040161041b9061118c565b6001600160a01b0382165f908152600360205260409020541580156109ae575080606001515b80156109be575080604001514210155b6109fe5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b081b1bd8dad959607a1b604482015260640161041b565b6001600160a01b0382165f90815260026020818152604080842080546001600160a01b0319168155600181018590559283018490556003909201805460ff1916905583015190513391908381818185875af1925050503d805f8114610a7e576040519150601f19603f3d011682016040523d82523d5f602084013e610a83565b606091505b5050905080610ac65760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161041b565b336001600160a01b0316836001600160a01b03167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb8460200151604051610b0f91815260200190565b60405180910390a350506005805460ff1916905550565b5f546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161041b906111e0565b6001600160a01b038116610b955760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379033b7bb32b93737b960991b604482015260640161041b565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fb2a7644827310967f47607793f9eef1226102dcafd1bfcf6c53ad8afe0dd4628905f90a250565b60606004805480602002602001604051908101604052809291908181526020018280548015610c3457602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610c16575b5050505050905090565b5f546001600160a01b03163314610c675760405162461bcd60e51b815260040161041b906111e0565b610c7081610e98565b50565b5f546001600160a01b03163314610c9c5760405162461bcd60e51b815260040161041b906111e0565b6001600160a01b0381165f908152600260205260409020600181015468056bc75e2d6310000011801590610cd55750600381015460ff16155b8015610cf657506001600160a01b0382165f90815260036020526040902054155b610d315760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420656c696769626c6560a01b604482015260640161041b565b600454602011610d785760405162461bcd60e51b815260206004820152601260248201527156616c696461746f7220636170616369747960701b604482015260640161041b565b600480546001810182557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b03851690811790915590545f828152600360205260408082209290925590517fb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c89190a25050565b6001546001600160a01b03163314610e505760405162461bcd60e51b815260206004820152601560248201527450656e64696e6720676f7665726e6f72206f6e6c7960581b604482015260640161041b565b5f8054336001600160a01b0319918216811783556001805490921690915560405190917f5ffbefd23f1844198adf645535c8dce8d9f3f2f9f5e917bf4e3aa8fc90299a9091a2565b6001600160a01b0381165f9081526003602052604081205490819003610eed5760405162461bcd60e51b815260206004820152600a6024820152694e6f742061637469766560b01b604482015260640161041b565b6004805411610f3e5760405162461bcd60e51b815260206004820152601d60248201527f4b656570206174206c6561737420666f75722076616c696461746f7273000000604482015260640161041b565b600480545f9190610f5190600190611207565b81548110610f6157610f6161121a565b5f918252602090912001546001600160a01b03169050806004610f85600185611207565b81548110610f9557610f9561121a565b5f91825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526003909152604090208290556004805480610fde57610fde61122e565b5f828152602080822083015f1990810180546001600160a01b03191690559092019092556001600160a01b03851682526003808252604080842084905560029092529120908101805460ff1916600117905561103d62127500426111c7565b600282018190556040519081526001600160a01b038516907f988e3402bf34325fbe597e20c00493d017ea71636ee463c3fd0daa8df2ad850d9060200160405180910390a250505050565b80356001600160a01b038116811461109e575f80fd5b919050565b5f805f604084860312156110b5575f80fd5b6110be84611088565b9250602084013567ffffffffffffffff8111156110d9575f80fd5b8401601f810186136110e9575f80fd5b803567ffffffffffffffff8111156110ff575f80fd5b866020828401011115611110575f80fd5b939660209190910195509293505050565b5f60208284031215611131575f80fd5b61113a82611088565b9392505050565b602080825282518282018190525f918401906040840190835b818110156111815783516001600160a01b031683526020938401939092019160010161115a565b509095945050505050565b6020808252600d908201526c4f70657261746f72206f6e6c7960981b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156111da576111da6111b3565b92915050565b6020808252600d908201526c476f7665726e6f72206f6e6c7960981b604082015260600190565b818103818111156111da576111da6111b3565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122059a56e31d2b2a92dd460b77feae4d3b47c74d4bacbb357b25fb27d22dcaf9e6564736f6c634300081a0033000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d3000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004000000000000000000000000100514b071ba3e0abf692dea2ab4cdc07d7d401a0000000000000000000000002eb5ba29f80d18913a01abb7647622da3f66f5d7000000000000000000000000b780e1ad00e4149bea43d331eaa6e537def30c79000000000000000000000000f96a5491ea2c0540be7b34cc3913fc2fc564cb1e",
    "receipt": {
      "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
      "blockNumber": "0x1208d",
      "contractAddress": "0xa917805a53969e7bf63063da512351ec750646dd",
      "cumulativeGasUsed": "0x17523d",
      "from": "0xdf6e7e94ed8c6fe335c28a8ec50381e9172f7d30",
      "gasUsed": "0x17523d",
      "effectiveGasPrice": "0x2710",
      "logs": [
        {
          "address": "0xa917805a53969e7bf63063da512351ec750646dd",
          "topics": [
            "0x199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7",
            "0x000000000000000000000000100514b071ba3e0abf692dea2ab4cdc07d7d401a",
            "0x000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d30"
          ],
          "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
          "blockNumber": "0x1208d",
          "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
          "transactionIndex": "0x0",
          "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
          "blockTimestamp": "0x6ac161ac",
          "logIndex": "0x0",
          "removed": false
        },
        {
          "address": "0xa917805a53969e7bf63063da512351ec750646dd",
          "topics": [
            "0xb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8",
            "0x000000000000000000000000100514b071ba3e0abf692dea2ab4cdc07d7d401a"
          ],
          "data": "0x",
          "blockNumber": "0x1208d",
          "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
          "transactionIndex": "0x0",
          "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
          "blockTimestamp": "0x6ac161ac",
          "logIndex": "0x1",
          "removed": false
        },
        {
          "address": "0xa917805a53969e7bf63063da512351ec750646dd",
          "topics": [
            "0x199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7",
            "0x0000000000000000000000002eb5ba29f80d18913a01abb7647622da3f66f5d7",
            "0x000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d30"
          ],
          "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
          "blockNumber": "0x1208d",
          "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
          "transactionIndex": "0x0",
          "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
          "blockTimestamp": "0x6ac161ac",
          "logIndex": "0x2",
          "removed": false
        },
        {
          "address": "0xa917805a53969e7bf63063da512351ec750646dd",
          "topics": [
            "0xb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8",
            "0x0000000000000000000000002eb5ba29f80d18913a01abb7647622da3f66f5d7"
          ],
          "data": "0x",
          "blockNumber": "0x1208d",
          "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
          "transactionIndex": "0x0",
          "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
          "blockTimestamp": "0x6ac161ac",
          "logIndex": "0x3",
          "removed": false
        },
        {
          "address": "0xa917805a53969e7bf63063da512351ec750646dd",
          "topics": [
            "0x199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7",
            "0x000000000000000000000000b780e1ad00e4149bea43d331eaa6e537def30c79",
            "0x000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d30"
          ],
          "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
          "blockNumber": "0x1208d",
          "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
          "transactionIndex": "0x0",
          "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
          "blockTimestamp": "0x6ac161ac",
          "logIndex": "0x4",
          "removed": false
        },
        {
          "address": "0xa917805a53969e7bf63063da512351ec750646dd",
          "topics": [
            "0xb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8",
            "0x000000000000000000000000b780e1ad00e4149bea43d331eaa6e537def30c79"
          ],
          "data": "0x",
          "blockNumber": "0x1208d",
          "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
          "transactionIndex": "0x0",
          "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
          "blockTimestamp": "0x6ac161ac",
          "logIndex": "0x5",
          "removed": false
        },
        {
          "address": "0xa917805a53969e7bf63063da512351ec750646dd",
          "topics": [
            "0x199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7",
            "0x000000000000000000000000f96a5491ea2c0540be7b34cc3913fc2fc564cb1e",
            "0x000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d30"
          ],
          "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
          "blockNumber": "0x1208d",
          "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
          "transactionIndex": "0x0",
          "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
          "blockTimestamp": "0x6ac161ac",
          "logIndex": "0x6",
          "removed": false
        },
        {
          "address": "0xa917805a53969e7bf63063da512351ec750646dd",
          "topics": [
            "0xb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8",
            "0x000000000000000000000000f96a5491ea2c0540be7b34cc3913fc2fc564cb1e"
          ],
          "data": "0x",
          "blockNumber": "0x1208d",
          "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
          "transactionIndex": "0x0",
          "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
          "blockTimestamp": "0x6ac161ac",
          "logIndex": "0x7",
          "removed": false
        }
      ],
      "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000010000000000000000000000000000010000000000000000000003000000004000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000504120000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008800000000000008000001000020000000000000020000000000000000000000201000000000000000000000",
      "status": "0x1",
      "to": null,
      "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
      "transactionIndex": "0x0",
      "type": "0x2"
    },
    "logs": [
      {
        "address": "0xa917805a53969e7bf63063da512351ec750646dd",
        "topics": [
          "0x199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7",
          "0x000000000000000000000000100514b071ba3e0abf692dea2ab4cdc07d7d401a",
          "0x000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d30"
        ],
        "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
        "blockNumber": "0x1208d",
        "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
        "transactionIndex": "0x0",
        "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
        "blockTimestamp": "0x6ac161ac",
        "logIndex": "0x0",
        "removed": false
      },
      {
        "address": "0xa917805a53969e7bf63063da512351ec750646dd",
        "topics": [
          "0xb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8",
          "0x000000000000000000000000100514b071ba3e0abf692dea2ab4cdc07d7d401a"
        ],
        "data": "0x",
        "blockNumber": "0x1208d",
        "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
        "transactionIndex": "0x0",
        "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
        "blockTimestamp": "0x6ac161ac",
        "logIndex": "0x1",
        "removed": false
      },
      {
        "address": "0xa917805a53969e7bf63063da512351ec750646dd",
        "topics": [
          "0x199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7",
          "0x0000000000000000000000002eb5ba29f80d18913a01abb7647622da3f66f5d7",
          "0x000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d30"
        ],
        "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
        "blockNumber": "0x1208d",
        "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
        "transactionIndex": "0x0",
        "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
        "blockTimestamp": "0x6ac161ac",
        "logIndex": "0x2",
        "removed": false
      },
      {
        "address": "0xa917805a53969e7bf63063da512351ec750646dd",
        "topics": [
          "0xb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8",
          "0x0000000000000000000000002eb5ba29f80d18913a01abb7647622da3f66f5d7"
        ],
        "data": "0x",
        "blockNumber": "0x1208d",
        "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
        "transactionIndex": "0x0",
        "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
        "blockTimestamp": "0x6ac161ac",
        "logIndex": "0x3",
        "removed": false
      },
      {
        "address": "0xa917805a53969e7bf63063da512351ec750646dd",
        "topics": [
          "0x199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7",
          "0x000000000000000000000000b780e1ad00e4149bea43d331eaa6e537def30c79",
          "0x000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d30"
        ],
        "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
        "blockNumber": "0x1208d",
        "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
        "transactionIndex": "0x0",
        "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
        "blockTimestamp": "0x6ac161ac",
        "logIndex": "0x4",
        "removed": false
      },
      {
        "address": "0xa917805a53969e7bf63063da512351ec750646dd",
        "topics": [
          "0xb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8",
          "0x000000000000000000000000b780e1ad00e4149bea43d331eaa6e537def30c79"
        ],
        "data": "0x",
        "blockNumber": "0x1208d",
        "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
        "transactionIndex": "0x0",
        "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
        "blockTimestamp": "0x6ac161ac",
        "logIndex": "0x5",
        "removed": false
      },
      {
        "address": "0xa917805a53969e7bf63063da512351ec750646dd",
        "topics": [
          "0x199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7",
          "0x000000000000000000000000f96a5491ea2c0540be7b34cc3913fc2fc564cb1e",
          "0x000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d30"
        ],
        "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
        "blockNumber": "0x1208d",
        "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
        "transactionIndex": "0x0",
        "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
        "blockTimestamp": "0x6ac161ac",
        "logIndex": "0x6",
        "removed": false
      },
      {
        "address": "0xa917805a53969e7bf63063da512351ec750646dd",
        "topics": [
          "0xb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8",
          "0x000000000000000000000000f96a5491ea2c0540be7b34cc3913fc2fc564cb1e"
        ],
        "data": "0x",
        "blockNumber": "0x1208d",
        "transactionHash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
        "transactionIndex": "0x0",
        "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
        "blockTimestamp": "0x6ac161ac",
        "logIndex": "0x7",
        "removed": false
      }
    ],
    "raw_transaction": {
      "accessList": [],
      "blockHash": "0x6a6205e46315db725126493beeef4da40c32648ef5f3ab3d53d4e5fcaabcb598",
      "blockNumber": "0x1208d",
      "blockTimestamp": "0x6ac161ac",
      "chainId": "0x1352889",
      "from": "0xdf6e7e94ed8c6fe335c28a8ec50381e9172f7d30",
      "gas": "0x17862e",
      "gasPrice": "0x2710",
      "maxPriorityFeePerGas": "0x2710",
      "maxFeePerGas": "0x2710",
      "hash": "0x773291579fccbdb2a1ef9292b10a1bf44ca9bf8c781554b2a503c1d8a9a84124",
      "input": "0x60806040526040516116e13803806116e183398101604081905261002291610341565b6001600160a01b03821661006d5760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379033b7bb32b93737b960991b60448201526064015b60405180910390fd5b600481511015801561008157506020815111155b6100bf5760405162461bcd60e51b815260206004820152600f60248201526e15985b1a59185d1bdc8818dbdd5b9d608a1b6044820152606401610064565b80516100d49068056bc75e2d6310000061041f565b34146101175760405162461bcd60e51b8152602060048201526012602482015271125b9a5d1a585b0818dbdb1b185d195c985b60721b6044820152606401610064565b5f80546001600160a01b0319166001600160a01b0384161781555b815181101561030a575f82828151811061014e5761014e610448565b602002602001015190505f6001600160a01b0316816001600160a01b03161415801561019157506001600160a01b038181165f9081526002602052604090205416155b6101d15760405162461bcd60e51b815260206004820152601160248201527024b73b30b634b2103b30b634b230ba37b960791b6044820152606401610064565b604080516080810182526001600160a01b0386811680835268056bc75e2d6310000060208085018281525f868801818152606088018281528a881680845260028087528b85209a518b546001600160a01b031990811691909b16178b5594516001808c01919091559251948a0194909455516003988901805460ff19169115159190911790556004805491820181557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805490971683179096559454958252938690209490945593519384529290917f199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7910160405180910390a36040516001600160a01b038216907fb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c8905f90a250600101610132565b50505061045c565b80516001600160a01b0381168114610328575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610352575f80fd5b61035b83610312565b60208401519092506001600160401b03811115610376575f80fd5b8301601f81018513610386575f80fd5b80516001600160401b0381111561039f5761039f61032d565b604051600582901b90603f8201601f191681016001600160401b03811182821017156103cd576103cd61032d565b6040529182526020818401810192908101888411156103ea575f80fd5b6020850194505b838510156104105761040285610312565b8152602094850194016103f1565b50809450505050509250929050565b808202811582820484141761044257634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52603260045260245ffd5b611278806104695f395ff3fe608060405260043610610105575f3560e01c80635ed1f96311610092578063b7ab4db511610062578063b7ab4db51461031d578063ba50b8791461033e578063dbd9a0311461035d578063e3056a341461037c578063e58bb6391461039b575f80fd5b80635ed1f96314610290578063714897df146102a457806395c48bd5146102b85780639f8a13d7146102d7575f80fd5b8063280e2d2b116100d8578063280e2d2b1461019957806328cb1e38146101b85780634d7209e6146101d757806351cff8d9146101f657806355f5751014610215575f80fd5b806308dbbb03146101095780630c340a24146101385780630ebb172a1461016e57806324b8fbf614610184575b5f80fd5b348015610114575f80fd5b5061012568056bc75e2d6310000081565b6040519081526020015b60405180910390f35b348015610143575f80fd5b505f54610156906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b348015610179575f80fd5b506101256212750081565b6101976101923660046110a3565b6103af565b005b3480156101a4575f80fd5b506101976101b3366004611121565b610720565b3480156101c3575f80fd5b506101976101d2366004611121565b610771565b3480156101e2575f80fd5b506101256101f1366004611121565b610850565b348015610201575f80fd5b50610197610210366004611121565b6108ca565b348015610220575f80fd5b5061026461022f366004611121565b600260208190525f918252604090912080546001820154928201546003909201546001600160a01b0390911692919060ff1684565b604080516001600160a01b0390951685526020850193909352918301521515606082015260800161012f565b34801561029b575f80fd5b50610125600481565b3480156102af575f80fd5b50610125602081565b3480156102c3575f80fd5b506101976102d2366004611121565b610b26565b3480156102e2575f80fd5b5061030d6102f1366004611121565b6001600160a01b03165f90815260036020526040902054151590565b604051901515815260200161012f565b348015610328575f80fd5b50610331610bde565b60405161012f9190611141565b348015610349575f80fd5b50610197610358366004611121565b610c3e565b348015610368575f80fd5b50610197610377366004611121565b610c73565b348015610387575f80fd5b50600154610156906001600160a01b031681565b3480156103a6575f80fd5b50610197610dfe565b6001600160a01b038316158015906103de57506001600160a01b038381165f9081526002602052604090205416155b6104245760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b60448201526064015b60405180910390fd5b68056bc75e2d631000003410156104705760405162461bcd60e51b815260206004820152601060248201526f4d696e696d756d2031303020434f4f4b60801b604482015260640161041b565b336001600160a01b0384161461067157604181146104d05760405162461bcd60e51b815260206004820152601a60248201527f56616c696461746f7220636f6e73656e74207265717569726564000000000000604482015260640161041b565b8135602083013560408401355f1a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821180159061051e57508060ff16601b148061051e57508060ff16601c145b61055e5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640161041b565b5f61056833610850565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c810191909152605c0160408051601f1981840301815282825280516020918201205f845290830180835281905260ff851691830191909152606082018690526080820185905291506001600160a01b0388169060019060a0016020604051602081039080840390855afa15801561060c573d5f803e3d5ffd5b505050602060405103516001600160a01b03161461066c5760405162461bcd60e51b815260206004820152601760248201527f57726f6e672076616c696461746f7220636f6e73656e74000000000000000000604482015260640161041b565b505050505b60408051608081018252338082523460208084018281525f858701818152606087018281526001600160a01b038c81168085526002808852948b902099518a546001600160a01b031916921691909117895593516001890155905191870191909155516003909501805460ff191695151595909517909455935190815290927f199098452639b249bef6f727bc09ce903cece47ca72a8518bef9367ad39b6de7910160405180910390a3505050565b6001600160a01b038082165f9081526002602052604090208054909116331461075b5760405162461bcd60e51b815260040161041b9061118c565b60038101805460ff191690555f60029091015550565b6001600160a01b038082165f908152600260205260409020805490911633146107ac5760405162461bcd60e51b815260040161041b9061118c565b6001600160a01b0382165f90815260036020526040902054156107d7576107d282610e98565b610805565b600381015460ff166108055760038101805460ff191660011790556107ff62127500426111c7565b60028201555b816001600160a01b03167fd9217a461a0f7f84171a8866118c3d92e943ba7c1ba89b819371f729b5cabcbc826002015460405161084491815260200190565b60405180910390a25050565b604080516080602080830182905260a08301527f436f6f6b636861696e2076616c696461746f7220726567697374726174696f6e60c083015246928201929092523060608201526001600160a01b038316918101919091525f9060e001604051602081830303815290604052805190602001209050919050565b60055460ff16156109095760405162461bcd60e51b81526020600482015260096024820152681499595b9d1c985b9d60ba1b604482015260640161041b565b6005805460ff191660019081179091556001600160a01b038083165f9081526002602081815260409283902083516080810185528154909516808652958101549185019190915290810154918301919091526003015460ff16151560608201529033146109885760405162461bcd60e51b815260040161041b9061118c565b6001600160a01b0382165f908152600360205260409020541580156109ae575080606001515b80156109be575080604001514210155b6109fe5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b081b1bd8dad959607a1b604482015260640161041b565b6001600160a01b0382165f90815260026020818152604080842080546001600160a01b0319168155600181018590559283018490556003909201805460ff1916905583015190513391908381818185875af1925050503d805f8114610a7e576040519150601f19603f3d011682016040523d82523d5f602084013e610a83565b606091505b5050905080610ac65760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161041b565b336001600160a01b0316836001600160a01b03167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb8460200151604051610b0f91815260200190565b60405180910390a350506005805460ff1916905550565b5f546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161041b906111e0565b6001600160a01b038116610b955760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379033b7bb32b93737b960991b604482015260640161041b565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fb2a7644827310967f47607793f9eef1226102dcafd1bfcf6c53ad8afe0dd4628905f90a250565b60606004805480602002602001604051908101604052809291908181526020018280548015610c3457602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610c16575b5050505050905090565b5f546001600160a01b03163314610c675760405162461bcd60e51b815260040161041b906111e0565b610c7081610e98565b50565b5f546001600160a01b03163314610c9c5760405162461bcd60e51b815260040161041b906111e0565b6001600160a01b0381165f908152600260205260409020600181015468056bc75e2d6310000011801590610cd55750600381015460ff16155b8015610cf657506001600160a01b0382165f90815260036020526040902054155b610d315760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420656c696769626c6560a01b604482015260640161041b565b600454602011610d785760405162461bcd60e51b815260206004820152601260248201527156616c696461746f7220636170616369747960701b604482015260640161041b565b600480546001810182557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b03851690811790915590545f828152600360205260408082209290925590517fb2b8c5f713f27009f7a78ec2167999c472e5ee8bc591102da17bc4a6551236c89190a25050565b6001546001600160a01b03163314610e505760405162461bcd60e51b815260206004820152601560248201527450656e64696e6720676f7665726e6f72206f6e6c7960581b604482015260640161041b565b5f8054336001600160a01b0319918216811783556001805490921690915560405190917f5ffbefd23f1844198adf645535c8dce8d9f3f2f9f5e917bf4e3aa8fc90299a9091a2565b6001600160a01b0381165f9081526003602052604081205490819003610eed5760405162461bcd60e51b815260206004820152600a6024820152694e6f742061637469766560b01b604482015260640161041b565b6004805411610f3e5760405162461bcd60e51b815260206004820152601d60248201527f4b656570206174206c6561737420666f75722076616c696461746f7273000000604482015260640161041b565b600480545f9190610f5190600190611207565b81548110610f6157610f6161121a565b5f918252602090912001546001600160a01b03169050806004610f85600185611207565b81548110610f9557610f9561121a565b5f91825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526003909152604090208290556004805480610fde57610fde61122e565b5f828152602080822083015f1990810180546001600160a01b03191690559092019092556001600160a01b03851682526003808252604080842084905560029092529120908101805460ff1916600117905561103d62127500426111c7565b600282018190556040519081526001600160a01b038516907f988e3402bf34325fbe597e20c00493d017ea71636ee463c3fd0daa8df2ad850d9060200160405180910390a250505050565b80356001600160a01b038116811461109e575f80fd5b919050565b5f805f604084860312156110b5575f80fd5b6110be84611088565b9250602084013567ffffffffffffffff8111156110d9575f80fd5b8401601f810186136110e9575f80fd5b803567ffffffffffffffff8111156110ff575f80fd5b866020828401011115611110575f80fd5b939660209190910195509293505050565b5f60208284031215611131575f80fd5b61113a82611088565b9392505050565b602080825282518282018190525f918401906040840190835b818110156111815783516001600160a01b031683526020938401939092019160010161115a565b509095945050505050565b6020808252600d908201526c4f70657261746f72206f6e6c7960981b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156111da576111da6111b3565b92915050565b6020808252600d908201526c476f7665726e6f72206f6e6c7960981b604082015260600190565b818103818111156111da576111da6111b3565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122059a56e31d2b2a92dd460b77feae4d3b47c74d4bacbb357b25fb27d22dcaf9e6564736f6c634300081a0033000000000000000000000000df6e7e94ed8c6fe335c28a8ec50381e9172f7d3000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004000000000000000000000000100514b071ba3e0abf692dea2ab4cdc07d7d401a0000000000000000000000002eb5ba29f80d18913a01abb7647622da3f66f5d7000000000000000000000000b780e1ad00e4149bea43d331eaa6e537def30c79000000000000000000000000f96a5491ea2c0540be7b34cc3913fc2fc564cb1e",
      "nonce": "0x98",
      "to": null,
      "transactionIndex": "0x0",
      "type": "0x2",
      "value": "0x15af1d78b58c400000",
      "yParity": "0x1",
      "v": "0x1",
      "r": "0xdc4ff462db8e1870e8f60ebfc2aca9695768a3db32ad5d2033fde89b406a1cb2",
      "s": "0x3fcc56db498e1433c9e8096ae59d879dd7f03592f215811795c3ca9e6b7f6e5"
    }
  }
}