{"id":"e098845db0a4af885c0eb8aa07f6d70b","_format":"hh-sol-build-info-1","solcVersion":"0.8.27","solcLongVersion":"0.8.27+commit.40a35a09","input":{"language":"Solidity","sources":{"contracts/BoostVerifier.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\n/**\n * @title BoostVerifier — gas money drawn on an identity's own treasury\n *\n * A device at zero cannot act. Every exit from {IdentityContract}'s treasury is\n * `onlyRivet` on `msg.sender`, so a flat rivet cannot reach the identity's own\n * money however much of it is sitting there, and no contract can pay the gas\n * for a transaction it did not send. That is the corner this closes.\n *\n * A **Boost** is a statement signed by a rivet while it still has funds, naming\n * a device of the same identity and a ceiling. It costs nothing to issue and\n * consumes no nonce, so a device can leave itself a reserve. Later, anyone may\n * present it here: this contract checks it, pays the named device out of the\n * treasury, and reimburses the presenter's gas in the same transaction. The\n * carrier fronts gas for one block and is made whole; nothing is given away,\n * because the money is the identity's own, released by its own rivet.\n *\n * **No upgrade is needed.** A rivet does not have to be a key — it can be code.\n * Membership is a fact the identity contract holds about an address, and the\n * mint path already relies on that when the factory holds authority for the\n * length of one transaction. So one deployment of this contract, added as a\n * rivet by one ordinary transaction, gives Boosts to identities that are\n * already deployed and cannot be changed.\n *\n * **What adopting it costs.** Rivet membership is total authority: once added,\n * this contract could also add members, remove them, and move the whole\n * treasury. It is written to be small enough to read in one sitting and has no\n * administrator, no owner, and nothing that can be pointed at new code later.\n * Withdrawal is `removeRivet(address(this))` and takes effect immediately,\n * which is a better position than an upgradeable contract would leave.\n *\n * The signed bytes are defined once, in `client/boost-message.mjs`, and every\n * issuer imports that module. `digest()` below is the same construction in\n * Solidity and the test asserts the two agree.\n */\n\ninterface IIdentity {\n    function isValidSignature(bytes32 hash, bytes memory signature) external view returns (bytes4);\n    function isAuthorized(address rivet) external view returns (bool);\n    function rivetActive(address rivet) external view returns (bool);\n    function sendETH(address payable recipient, uint256 amount) external;\n    function getBalance() external view returns (uint256);\n}\n\ncontract BoostVerifier {\n\n    bytes32 public constant BOOST_TYPEHASH = keccak256(\n        \"EpisteryBoost(address verifier,address identity,uint256 chainId,address recipient,uint256 capWei,uint256 tipWei,uint256 writes,uint256 notAfter,uint256 boostId,uint256 epoch)\"\n    );\n\n    /// ERC-1271's \"this signature is valid\" answer.\n    bytes4 private constant EIP1271_MAGIC = 0x1626ba7e;\n\n    /// Gas one ordinary identity write costs. Matches the relay's `setMember`\n    /// budget, which is the dearest of the everyday writes, so a Boost sized in\n    /// writes errs high rather than short. Public so anyone can check the\n    /// arithmetic rather than trust it.\n    uint256 public constant GAS_PER_WRITE = 250_000;\n\n    /// Multiple of the current base fee a Boost funds to, so a device that is\n    /// topped up can still act when the next block is dearer than this one.\n    uint256 public constant FEE_HEADROOM = 2;\n\n    /// Gas this call spends outside the metered span — the two payouts, the\n    /// final accounting, and the transaction's own 21k. Deliberately a rough\n    /// over-estimate: a carrier that is under-reimbursed will not carry.\n    uint256 public constant PRESENT_OVERHEAD = 90_000;\n\n    /**\n     * The signed statement. Passed as a calldata struct rather than as loose\n     * arguments because the checks plus the accounting overflow the EVM's stack\n     * otherwise, and because a caller assembling seven positional numbers in\n     * the right order is a bug waiting to be written.\n     */\n    struct Boost {\n        address identity;            // the IdentityContract it is drawn on\n        address payable recipient;   // the device to be paid\n        uint256 capWei;              // total this Boost may cost the treasury\n        uint256 tipWei;              // what the carrier earns for carrying it\n        uint256 writes;              // ordinary writes it should cover\n        uint256 notAfter;            // unix seconds; required, never 0\n        uint256 boostId;             // presentable once\n        uint256 epoch;               // the epoch it belongs to\n    }\n\n    /// identity => the epoch outstanding Boosts must belong to.\n    mapping(address => uint256) public currentEpoch;\n\n    /// identity => boostId => already presented.\n    mapping(address => mapping(uint256 => bool)) public spent;\n\n    event BoostPresented(\n        address indexed identity,\n        address indexed recipient,\n        uint256 boostId,\n        uint256 paid,\n        uint256 reimbursed,\n        uint256 tip,\n        address carrier\n    );\n\n    event EpochAdvanced(address indexed identity, uint256 epoch, address by);\n\n    /**\n     * @notice The 32 bytes an issuer signs. Mirror of client/boost-message.mjs.\n     * @dev `address(this)` is in the digest as the EIP-712 domain separator's\n     * verifying contract. Without it an identity that had adopted two verifiers\n     * could have one Boost presented at each, since each keeps its own spent\n     * map, and the ceiling would be paid twice.\n     */\n    function digest(\n        address identity,\n        address recipient,\n        uint256 capWei,\n        uint256 tipWei,\n        uint256 writes,\n        uint256 notAfter,\n        uint256 boostId,\n        uint256 epoch\n    ) public view returns (bytes32) {\n        return keccak256(abi.encode(\n            BOOST_TYPEHASH,\n            address(this),\n            identity,\n            block.chainid,\n            recipient,\n            capWei,\n            tipWei,\n            writes,\n            notAfter,\n            boostId,\n            epoch\n        ));\n    }\n\n    /**\n     * @notice Present a Boost. Callable by anyone holding one.\n     *\n     * Four checks carry the safety, and each is evaluated NOW rather than when\n     * the Boost was issued, which is what makes revocation free:\n     *\n     * 1. the device being paid is an active rivet of this identity, so a Boost\n     *    is a gas instrument for an identity's own devices and retiring a lost\n     *    device voids every Boost aimed at it;\n     * 2. the issuer is an active rivet, so removing a compromised device voids\n     *    everything it ever issued, retroactively;\n     * 3. the id is unspent and the epoch is current, so one Boost pays once\n     *    and advancing the epoch voids the whole reserve at one stroke;\n     * 4. the reimbursement is measured and the ceiling bounds the payout, the\n     *    reimbursement and the tip together, so a Boost can never cost more\n     *    than its stated figure and presenting is never a way to drain a\n     *    treasury.\n     *\n     * A carrier should simulate before presenting: an empty treasury means it\n     * pays the gas and collects nothing.\n     */\n    function present(Boost calldata b, bytes calldata signature) external {\n        uint256 gasStart = gasleft();\n        IIdentity id = IIdentity(b.identity);\n\n        // Fail closed and legibly, in the order that costs least to discover.\n        require(b.notAfter != 0, \"boost has no expiry\");\n        require(block.timestamp <= b.notAfter, \"boost expired\");\n        require(b.capWei != 0, \"boost has no ceiling\");\n        require(!spent[b.identity][b.boostId], \"boost already presented\");\n        require(currentEpoch[b.identity] == b.epoch, \"boost epoch superseded\");\n        require(\n            id.isAuthorized(address(this)) && id.rivetActive(address(this)),\n            \"this verifier is not a rivet of that identity\"\n        );\n        require(\n            id.isAuthorized(b.recipient) && id.rivetActive(b.recipient),\n            \"recipient is not an active rivet\"\n        );\n\n        // The issuer check IS the identity contract's own ERC-1271: it recovers\n        // the signer from the personal_sign wrapper and answers only for an\n        // authorised, active rivet. Delegating it means no second copy of the\n        // rivet rule and no ecrecover here to get wrong.\n        require(\n            id.isValidSignature(\n                digest(b.identity, b.recipient, b.capWei, b.tipWei, b.writes, b.notAfter, b.boostId, b.epoch),\n                signature\n            ) == EIP1271_MAGIC,\n            \"boost not issued by an active rivet\"\n        );\n\n        spent[b.identity][b.boostId] = true;\n\n        uint256 paid;\n        uint256 tip;\n        uint256 reimbursed;\n        {\n            // Three claims on one ceiling, settled in priority order.\n            //\n            // The carrier's costs come first: a carrier that is not made whole\n            // does not carry, and then nothing else in this transaction\n            // happens. Its tip comes second, because the tip is the reason a\n            // stranger spent a nonce on someone else's device — a Boost that is\n            // unprofitable to carry is a Boost that does not work. The device\n            // takes what remains, which is the point of the instrument, so the\n            // floor below refuses to settle at all rather than deliver it an\n            // amount too small to act on.\n            reimbursed = (gasStart - gasleft() + PRESENT_OVERHEAD) * tx.gasprice;\n            if (reimbursed > b.capWei) reimbursed = b.capWei;\n\n            uint256 remaining = b.capWei - reimbursed;\n            tip = b.tipWei > remaining ? remaining : b.tipWei;\n            remaining -= tip;\n\n            // Sized on presentation, not at issue. A fixed amount rots: one\n            // written when fees were low is worthless in a busy market. The\n            // ceiling is what the issuer fixed; the amount is what the chain\n            // says that work costs now. A chain with no base fee (non-1559)\n            // reports zero, where the only honest answer is what is left.\n            uint256 fee = block.basefee;\n            paid = fee == 0 ? remaining : b.writes * GAS_PER_WRITE * fee * FEE_HEADROOM;\n            if (paid > remaining) paid = remaining;\n\n            // One write's gas is the least useful outcome. Below it the device\n            // is still stuck, so a ceiling that cannot reach it is a mistake to\n            // report, not a payment to make.\n            require(paid >= (fee == 0 ? 1 : GAS_PER_WRITE * fee), \"boost ceiling too low at the current fee\");\n        }\n\n        require(id.getBalance() >= paid + reimbursed + tip, \"treasury cannot cover this boost\");\n\n        // `sendETH` forwards only the 2300-gas stipend, so both payees must be\n        // ordinary accounts. A carrier with logic in its fallback cannot be\n        // reimbursed, which is a documented condition of carrying rather than a\n        // case to work around here.\n        id.sendETH(b.recipient, paid);\n        // The carrier's costs and its tip are one payment: two transfers to the\n        // same address would just burn more of the ceiling on gas.\n        if (reimbursed + tip > 0) id.sendETH(payable(msg.sender), reimbursed + tip);\n\n        emit BoostPresented(b.identity, b.recipient, b.boostId, paid, reimbursed, tip, msg.sender);\n    }\n\n    /**\n     * @notice Void every outstanding Boost of an identity at one stroke.\n     *\n     * Any active rivet may do this, because a reserve is the identity's own\n     * paper and the hour it leaks is not the hour to look for a quorum. It is\n     * an ordinary transaction, so it needs a solvent device — a flat one cannot\n     * revoke, which is the accepted limit of this version.\n     */\n    function advanceEpoch(address identity) external returns (uint256) {\n        IIdentity id = IIdentity(identity);\n        require(\n            id.isAuthorized(msg.sender) && id.rivetActive(msg.sender),\n            \"only an active rivet may advance the epoch\"\n        );\n        uint256 next = ++currentEpoch[identity];\n        emit EpochAdvanced(identity, next, msg.sender);\n        return next;\n    }\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/BoostVerifier.sol":{"ast":{"absolutePath":"contracts/BoostVerifier.sol","exportedSymbols":{"BoostVerifier":[501],"IIdentity":[38]},"id":502,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".19"],"nodeType":"PragmaDirective","src":"32:24:0"},{"abstract":false,"baseContracts":[],"canonicalName":"IIdentity","contractDependencies":[],"contractKind":"interface","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"58:2043:0","text":" @title BoostVerifier — gas money drawn on an identity's own treasury\n A device at zero cannot act. Every exit from {IdentityContract}'s treasury is\n `onlyRivet` on `msg.sender`, so a flat rivet cannot reach the identity's own\n money however much of it is sitting there, and no contract can pay the gas\n for a transaction it did not send. That is the corner this closes.\n A **Boost** is a statement signed by a rivet while it still has funds, naming\n a device of the same identity and a ceiling. It costs nothing to issue and\n consumes no nonce, so a device can leave itself a reserve. Later, anyone may\n present it here: this contract checks it, pays the named device out of the\n treasury, and reimburses the presenter's gas in the same transaction. The\n carrier fronts gas for one block and is made whole; nothing is given away,\n because the money is the identity's own, released by its own rivet.\n **No upgrade is needed.** A rivet does not have to be a key — it can be code.\n Membership is a fact the identity contract holds about an address, and the\n mint path already relies on that when the factory holds authority for the\n length of one transaction. So one deployment of this contract, added as a\n rivet by one ordinary transaction, gives Boosts to identities that are\n already deployed and cannot be changed.\n **What adopting it costs.** Rivet membership is total authority: once added,\n this contract could also add members, remove them, and move the whole\n treasury. It is written to be small enough to read in one sitting and has no\n administrator, no owner, and nothing that can be pointed at new code later.\n Withdrawal is `removeRivet(address(this))` and takes effect immediately,\n which is a better position than an upgradeable contract would leave.\n The signed bytes are defined once, in `client/boost-message.mjs`, and every\n issuer imports that module. `digest()` below is the same construction in\n Solidity and the test asserts the two agree."},"fullyImplemented":false,"id":38,"linearizedBaseContracts":[38],"name":"IIdentity","nameLocation":"2113:9:0","nodeType":"ContractDefinition","nodes":[{"functionSelector":"1626ba7e","id":11,"implemented":false,"kind":"function","modifiers":[],"name":"isValidSignature","nameLocation":"2138:16:0","nodeType":"FunctionDefinition","parameters":{"id":7,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4,"mutability":"mutable","name":"hash","nameLocation":"2163:4:0","nodeType":"VariableDeclaration","scope":11,"src":"2155:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2155:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":6,"mutability":"mutable","name":"signature","nameLocation":"2182:9:0","nodeType":"VariableDeclaration","scope":11,"src":"2169:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5,"name":"bytes","nodeType":"ElementaryTypeName","src":"2169:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2154:38:0"},"returnParameters":{"id":10,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11,"src":"2216:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2216:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2215:8:0"},"scope":38,"src":"2129:95:0","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"fe9fbb80","id":18,"implemented":false,"kind":"function","modifiers":[],"name":"isAuthorized","nameLocation":"2238:12:0","nodeType":"FunctionDefinition","parameters":{"id":14,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13,"mutability":"mutable","name":"rivet","nameLocation":"2259:5:0","nodeType":"VariableDeclaration","scope":18,"src":"2251:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12,"name":"address","nodeType":"ElementaryTypeName","src":"2251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2250:15:0"},"returnParameters":{"id":17,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18,"src":"2289:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15,"name":"bool","nodeType":"ElementaryTypeName","src":"2289:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2288:6:0"},"scope":38,"src":"2229:66:0","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"bfe1ffca","id":25,"implemented":false,"kind":"function","modifiers":[],"name":"rivetActive","nameLocation":"2309:11:0","nodeType":"FunctionDefinition","parameters":{"id":21,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20,"mutability":"mutable","name":"rivet","nameLocation":"2329:5:0","nodeType":"VariableDeclaration","scope":25,"src":"2321:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19,"name":"address","nodeType":"ElementaryTypeName","src":"2321:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2320:15:0"},"returnParameters":{"id":24,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25,"src":"2359:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22,"name":"bool","nodeType":"ElementaryTypeName","src":"2359:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2358:6:0"},"scope":38,"src":"2300:65:0","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"64a197f3","id":32,"implemented":false,"kind":"function","modifiers":[],"name":"sendETH","nameLocation":"2379:7:0","nodeType":"FunctionDefinition","parameters":{"id":30,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27,"mutability":"mutable","name":"recipient","nameLocation":"2403:9:0","nodeType":"VariableDeclaration","scope":32,"src":"2387:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":26,"name":"address","nodeType":"ElementaryTypeName","src":"2387:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":29,"mutability":"mutable","name":"amount","nameLocation":"2422:6:0","nodeType":"VariableDeclaration","scope":32,"src":"2414:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28,"name":"uint256","nodeType":"ElementaryTypeName","src":"2414:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2386:43:0"},"returnParameters":{"id":31,"nodeType":"ParameterList","parameters":[],"src":"2438:0:0"},"scope":38,"src":"2370:69:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"12065fe0","id":37,"implemented":false,"kind":"function","modifiers":[],"name":"getBalance","nameLocation":"2453:10:0","nodeType":"FunctionDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[],"src":"2463:2:0"},"returnParameters":{"id":36,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37,"src":"2489:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34,"name":"uint256","nodeType":"ElementaryTypeName","src":"2489:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2488:9:0"},"scope":38,"src":"2444:54:0","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":502,"src":"2103:397:0","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"BoostVerifier","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":501,"linearizedBaseContracts":[501],"name":"BoostVerifier","nameLocation":"2511:13:0","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"ba62ef5d","id":43,"mutability":"constant","name":"BOOST_TYPEHASH","nameLocation":"2556:14:0","nodeType":"VariableDeclaration","scope":501,"src":"2532:242:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2532:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4570697374657279426f6f737428616464726573732076657269666965722c61646472657373206964656e746974792c75696e7432353620636861696e49642c6164647265737320726563697069656e742c75696e74323536206361705765692c75696e74323536207469705765692c75696e74323536207772697465732c75696e74323536206e6f7441667465722c75696e7432353620626f6f737449642c75696e743235362065706f636829","id":41,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2592:176:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0295854092d5e178b9b36d8644dc8f1902a782fe7e04d99298de4b61810f422d","typeString":"literal_string \"EpisteryBoost(address verifier,address identity,uint256 chainId,address recipient,uint256 capWei,uint256 tipWei,uint256 writes,uint256 notAfter,uint256 boostId,uint256 epoch)\""},"value":"EpisteryBoost(address verifier,address identity,uint256 chainId,address recipient,uint256 capWei,uint256 tipWei,uint256 writes,uint256 notAfter,uint256 boostId,uint256 epoch)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0295854092d5e178b9b36d8644dc8f1902a782fe7e04d99298de4b61810f422d","typeString":"literal_string \"EpisteryBoost(address verifier,address identity,uint256 chainId,address recipient,uint256 capWei,uint256 tipWei,uint256 writes,uint256 notAfter,uint256 boostId,uint256 epoch)\""}],"id":40,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2573:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2573:201:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"2781:48:0","text":"ERC-1271's \"this signature is valid\" answer."},"id":47,"mutability":"constant","name":"EIP1271_MAGIC","nameLocation":"2858:13:0","nodeType":"VariableDeclaration","scope":501,"src":"2834:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2834:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"hexValue":"30783136323662613765","id":46,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2874:10:0","typeDescriptions":{"typeIdentifier":"t_rational_371636862_by_1","typeString":"int_const 371636862"},"value":"0x1626ba7e"},"visibility":"private"},{"constant":true,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"2891:271:0","text":"Gas one ordinary identity write costs. Matches the relay's `setMember`\n budget, which is the dearest of the everyday writes, so a Boost sized in\n writes errs high rather than short. Public so anyone can check the\n arithmetic rather than trust it."},"functionSelector":"42c6cc8c","id":51,"mutability":"constant","name":"GAS_PER_WRITE","nameLocation":"3191:13:0","nodeType":"VariableDeclaration","scope":501,"src":"3167:47:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49,"name":"uint256","nodeType":"ElementaryTypeName","src":"3167:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3235305f303030","id":50,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3207:7:0","typeDescriptions":{"typeIdentifier":"t_rational_250000_by_1","typeString":"int_const 250000"},"value":"250_000"},"visibility":"public"},{"constant":true,"documentation":{"id":52,"nodeType":"StructuredDocumentation","src":"3221:151:0","text":"Multiple of the current base fee a Boost funds to, so a device that is\n topped up can still act when the next block is dearer than this one."},"functionSelector":"016191d5","id":55,"mutability":"constant","name":"FEE_HEADROOM","nameLocation":"3401:12:0","nodeType":"VariableDeclaration","scope":501,"src":"3377:40:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53,"name":"uint256","nodeType":"ElementaryTypeName","src":"3377:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":54,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3416:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"public"},{"constant":true,"documentation":{"id":56,"nodeType":"StructuredDocumentation","src":"3424:226:0","text":"Gas this call spends outside the metered span — the two payouts, the\n final accounting, and the transaction's own 21k. Deliberately a rough\n over-estimate: a carrier that is under-reimbursed will not carry."},"functionSelector":"445322a3","id":59,"mutability":"constant","name":"PRESENT_OVERHEAD","nameLocation":"3679:16:0","nodeType":"VariableDeclaration","scope":501,"src":"3655:49:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57,"name":"uint256","nodeType":"ElementaryTypeName","src":"3655:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39305f303030","id":58,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3698:6:0","typeDescriptions":{"typeIdentifier":"t_rational_90000_by_1","typeString":"int_const 90000"},"value":"90_000"},"visibility":"public"},{"canonicalName":"BoostVerifier.Boost","documentation":{"id":60,"nodeType":"StructuredDocumentation","src":"3711:303:0","text":" The signed statement. Passed as a calldata struct rather than as loose\n arguments because the checks plus the accounting overflow the EVM's stack\n otherwise, and because a caller assembling seven positional numbers in\n the right order is a bug waiting to be written."},"id":77,"members":[{"constant":false,"id":62,"mutability":"mutable","name":"identity","nameLocation":"4050:8:0","nodeType":"VariableDeclaration","scope":77,"src":"4042:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61,"name":"address","nodeType":"ElementaryTypeName","src":"4042:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64,"mutability":"mutable","name":"recipient","nameLocation":"4134:9:0","nodeType":"VariableDeclaration","scope":77,"src":"4118:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":63,"name":"address","nodeType":"ElementaryTypeName","src":"4118:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":66,"mutability":"mutable","name":"capWei","nameLocation":"4188:6:0","nodeType":"VariableDeclaration","scope":77,"src":"4180:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65,"name":"uint256","nodeType":"ElementaryTypeName","src":"4180:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"tipWei","nameLocation":"4267:6:0","nodeType":"VariableDeclaration","scope":77,"src":"4259:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67,"name":"uint256","nodeType":"ElementaryTypeName","src":"4259:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"writes","nameLocation":"4346:6:0","nodeType":"VariableDeclaration","scope":77,"src":"4338:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69,"name":"uint256","nodeType":"ElementaryTypeName","src":"4338:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"notAfter","nameLocation":"4418:8:0","nodeType":"VariableDeclaration","scope":77,"src":"4410:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"4410:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"boostId","nameLocation":"4490:7:0","nodeType":"VariableDeclaration","scope":77,"src":"4482:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"4482:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76,"mutability":"mutable","name":"epoch","nameLocation":"4547:5:0","nodeType":"VariableDeclaration","scope":77,"src":"4539:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75,"name":"uint256","nodeType":"ElementaryTypeName","src":"4539:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Boost","nameLocation":"4026:5:0","nodeType":"StructDefinition","scope":501,"src":"4019:581:0","visibility":"public"},{"constant":false,"documentation":{"id":78,"nodeType":"StructuredDocumentation","src":"4606:60:0","text":"identity => the epoch outstanding Boosts must belong to."},"functionSelector":"0736e19f","id":82,"mutability":"mutable","name":"currentEpoch","nameLocation":"4706:12:0","nodeType":"VariableDeclaration","scope":501,"src":"4671:47:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":81,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":79,"name":"address","nodeType":"ElementaryTypeName","src":"4679:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4671:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":80,"name":"uint256","nodeType":"ElementaryTypeName","src":"4690:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"documentation":{"id":83,"nodeType":"StructuredDocumentation","src":"4725:45:0","text":"identity => boostId => already presented."},"functionSelector":"0b24a269","id":89,"mutability":"mutable","name":"spent","nameLocation":"4827:5:0","nodeType":"VariableDeclaration","scope":501,"src":"4775:57:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(address => mapping(uint256 => bool))"},"typeName":{"id":88,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":84,"name":"address","nodeType":"ElementaryTypeName","src":"4783:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4775:44:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(address => mapping(uint256 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":87,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":85,"name":"uint256","nodeType":"ElementaryTypeName","src":"4802:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4794:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":86,"name":"bool","nodeType":"ElementaryTypeName","src":"4813:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"anonymous":false,"eventSelector":"fc81bb984905c360e80dc580c5477471426d3a12715290c13ab1227a9ffeae71","id":105,"name":"BoostPresented","nameLocation":"4845:14:0","nodeType":"EventDefinition","parameters":{"id":104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91,"indexed":true,"mutability":"mutable","name":"identity","nameLocation":"4885:8:0","nodeType":"VariableDeclaration","scope":105,"src":"4869:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90,"name":"address","nodeType":"ElementaryTypeName","src":"4869:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"4919:9:0","nodeType":"VariableDeclaration","scope":105,"src":"4903:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92,"name":"address","nodeType":"ElementaryTypeName","src":"4903:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":95,"indexed":false,"mutability":"mutable","name":"boostId","nameLocation":"4946:7:0","nodeType":"VariableDeclaration","scope":105,"src":"4938:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94,"name":"uint256","nodeType":"ElementaryTypeName","src":"4938:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97,"indexed":false,"mutability":"mutable","name":"paid","nameLocation":"4971:4:0","nodeType":"VariableDeclaration","scope":105,"src":"4963:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96,"name":"uint256","nodeType":"ElementaryTypeName","src":"4963:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":99,"indexed":false,"mutability":"mutable","name":"reimbursed","nameLocation":"4993:10:0","nodeType":"VariableDeclaration","scope":105,"src":"4985:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98,"name":"uint256","nodeType":"ElementaryTypeName","src":"4985:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":101,"indexed":false,"mutability":"mutable","name":"tip","nameLocation":"5021:3:0","nodeType":"VariableDeclaration","scope":105,"src":"5013:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100,"name":"uint256","nodeType":"ElementaryTypeName","src":"5013:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":103,"indexed":false,"mutability":"mutable","name":"carrier","nameLocation":"5042:7:0","nodeType":"VariableDeclaration","scope":105,"src":"5034:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":102,"name":"address","nodeType":"ElementaryTypeName","src":"5034:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4859:196:0"},"src":"4839:217:0"},{"anonymous":false,"eventSelector":"674d995dc85855ce52d468f391f3c2703dc66ad7588fd77e64743409b8f1d513","id":113,"name":"EpochAdvanced","nameLocation":"5068:13:0","nodeType":"EventDefinition","parameters":{"id":112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":107,"indexed":true,"mutability":"mutable","name":"identity","nameLocation":"5098:8:0","nodeType":"VariableDeclaration","scope":113,"src":"5082:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":106,"name":"address","nodeType":"ElementaryTypeName","src":"5082:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":109,"indexed":false,"mutability":"mutable","name":"epoch","nameLocation":"5116:5:0","nodeType":"VariableDeclaration","scope":113,"src":"5108:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":108,"name":"uint256","nodeType":"ElementaryTypeName","src":"5108:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":111,"indexed":false,"mutability":"mutable","name":"by","nameLocation":"5131:2:0","nodeType":"VariableDeclaration","scope":113,"src":"5123:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":110,"name":"address","nodeType":"ElementaryTypeName","src":"5123:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5081:53:0"},"src":"5062:73:0"},{"body":{"id":156,"nodeType":"Block","src":"5776:304:0","statements":[{"expression":{"arguments":[{"arguments":[{"id":138,"name":"BOOST_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5827:14:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":141,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5863:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_BoostVerifier_$501","typeString":"contract BoostVerifier"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_BoostVerifier_$501","typeString":"contract BoostVerifier"}],"id":140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5855:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":139,"name":"address","nodeType":"ElementaryTypeName","src":"5855:7:0","typeDescriptions":{}}},"id":142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5855:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":143,"name":"identity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5882:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":144,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5904:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5910:7:0","memberName":"chainid","nodeType":"MemberAccess","src":"5904:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":146,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118,"src":"5931:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":147,"name":"capWei","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"5954:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":148,"name":"tipWei","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"5974:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":149,"name":"writes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":124,"src":"5994:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":150,"name":"notAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"6014:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":151,"name":"boostId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"6036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":152,"name":"epoch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"6057:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5803:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5807:6:0","memberName":"encode","nodeType":"MemberAccess","src":"5803:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5803:269:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5793:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5793:280:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":134,"id":155,"nodeType":"Return","src":"5786:287:0"}]},"documentation":{"id":114,"nodeType":"StructuredDocumentation","src":"5141:379:0","text":" @notice The 32 bytes an issuer signs. Mirror of client/boost-message.mjs.\n @dev `address(this)` is in the digest as the EIP-712 domain separator's\n verifying contract. Without it an identity that had adopted two verifiers\n could have one Boost presented at each, since each keeps its own spent\n map, and the ceiling would be paid twice."},"functionSelector":"ecaa2530","id":157,"implemented":true,"kind":"function","modifiers":[],"name":"digest","nameLocation":"5534:6:0","nodeType":"FunctionDefinition","parameters":{"id":131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":116,"mutability":"mutable","name":"identity","nameLocation":"5558:8:0","nodeType":"VariableDeclaration","scope":157,"src":"5550:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":115,"name":"address","nodeType":"ElementaryTypeName","src":"5550:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118,"mutability":"mutable","name":"recipient","nameLocation":"5584:9:0","nodeType":"VariableDeclaration","scope":157,"src":"5576:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":117,"name":"address","nodeType":"ElementaryTypeName","src":"5576:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":120,"mutability":"mutable","name":"capWei","nameLocation":"5611:6:0","nodeType":"VariableDeclaration","scope":157,"src":"5603:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119,"name":"uint256","nodeType":"ElementaryTypeName","src":"5603:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":122,"mutability":"mutable","name":"tipWei","nameLocation":"5635:6:0","nodeType":"VariableDeclaration","scope":157,"src":"5627:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":121,"name":"uint256","nodeType":"ElementaryTypeName","src":"5627:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":124,"mutability":"mutable","name":"writes","nameLocation":"5659:6:0","nodeType":"VariableDeclaration","scope":157,"src":"5651:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":123,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":126,"mutability":"mutable","name":"notAfter","nameLocation":"5683:8:0","nodeType":"VariableDeclaration","scope":157,"src":"5675:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":125,"name":"uint256","nodeType":"ElementaryTypeName","src":"5675:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"boostId","nameLocation":"5709:7:0","nodeType":"VariableDeclaration","scope":157,"src":"5701:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":127,"name":"uint256","nodeType":"ElementaryTypeName","src":"5701:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"epoch","nameLocation":"5734:5:0","nodeType":"VariableDeclaration","scope":157,"src":"5726:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":129,"name":"uint256","nodeType":"ElementaryTypeName","src":"5726:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5540:205:0"},"returnParameters":{"id":134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":157,"src":"5767:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5767:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5766:9:0"},"scope":501,"src":"5525:555:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":452,"nodeType":"Block","src":"7264:4138:0","statements":[{"assignments":[167],"declarations":[{"constant":false,"id":167,"mutability":"mutable","name":"gasStart","nameLocation":"7282:8:0","nodeType":"VariableDeclaration","scope":452,"src":"7274:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":166,"name":"uint256","nodeType":"ElementaryTypeName","src":"7274:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":170,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":168,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"7293:7:0","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7293:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7274:28:0"},{"assignments":[173],"declarations":[{"constant":false,"id":173,"mutability":"mutable","name":"id","nameLocation":"7322:2:0","nodeType":"VariableDeclaration","scope":452,"src":"7312:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"},"typeName":{"id":172,"nodeType":"UserDefinedTypeName","pathNode":{"id":171,"name":"IIdentity","nameLocations":["7312:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":38,"src":"7312:9:0"},"referencedDeclaration":38,"src":"7312:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"visibility":"internal"}],"id":178,"initialValue":{"arguments":[{"expression":{"id":175,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7337:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7339:8:0","memberName":"identity","nodeType":"MemberAccess","referencedDeclaration":62,"src":"7337:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":174,"name":"IIdentity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38,"src":"7327:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IIdentity_$38_$","typeString":"type(contract IIdentity)"}},"id":177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7327:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"nodeType":"VariableDeclarationStatement","src":"7312:36:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":180,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7446:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7448:8:0","memberName":"notAfter","nodeType":"MemberAccess","referencedDeclaration":72,"src":"7446:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7460:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7446:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"626f6f737420686173206e6f20657870697279","id":184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7463:21:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_a849a16894184b1d7b6fc963510f32148fc8eb91616e65986ad26c0dfa5cb53a","typeString":"literal_string \"boost has no expiry\""},"value":"boost has no expiry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a849a16894184b1d7b6fc963510f32148fc8eb91616e65986ad26c0dfa5cb53a","typeString":"literal_string \"boost has no expiry\""}],"id":179,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7438:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7438:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":186,"nodeType":"ExpressionStatement","src":"7438:47:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":188,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7503:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7509:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"7503:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":190,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7522:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7524:8:0","memberName":"notAfter","nodeType":"MemberAccess","referencedDeclaration":72,"src":"7522:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7503:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"626f6f73742065787069726564","id":193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7534:15:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0f16d37fb203ccfe47ebc77955d3b7cb380c78925cdc45c99a1f866d03687bd","typeString":"literal_string \"boost expired\""},"value":"boost expired"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a0f16d37fb203ccfe47ebc77955d3b7cb380c78925cdc45c99a1f866d03687bd","typeString":"literal_string \"boost expired\""}],"id":187,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7495:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7495:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":195,"nodeType":"ExpressionStatement","src":"7495:55:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":197,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7568:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7570:6:0","memberName":"capWei","nodeType":"MemberAccess","referencedDeclaration":66,"src":"7568:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7580:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7568:13:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"626f6f737420686173206e6f206365696c696e67","id":201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7583:22:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a546485c9d2682edf588693bae6e77babc71f88a38fae98dd3c873a3e76f3f3","typeString":"literal_string \"boost has no ceiling\""},"value":"boost has no ceiling"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4a546485c9d2682edf588693bae6e77babc71f88a38fae98dd3c873a3e76f3f3","typeString":"literal_string \"boost has no ceiling\""}],"id":196,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7560:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":203,"nodeType":"ExpressionStatement","src":"7560:46:0"},{"expression":{"arguments":[{"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7624:29:0","subExpression":{"baseExpression":{"baseExpression":{"id":205,"name":"spent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89,"src":"7625:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(address => mapping(uint256 => bool))"}},"id":208,"indexExpression":{"expression":{"id":206,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7631:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7633:8:0","memberName":"identity","nodeType":"MemberAccess","referencedDeclaration":62,"src":"7631:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7625:17:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":211,"indexExpression":{"expression":{"id":209,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7643:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7645:7:0","memberName":"boostId","nodeType":"MemberAccess","referencedDeclaration":74,"src":"7643:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7625:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"626f6f737420616c72656164792070726573656e746564","id":213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7655:25:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e465502739888938a8e414298e6e02e815fbcadb796b4114783bd32fb659aae","typeString":"literal_string \"boost already presented\""},"value":"boost already presented"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e465502739888938a8e414298e6e02e815fbcadb796b4114783bd32fb659aae","typeString":"literal_string \"boost already presented\""}],"id":204,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7616:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":215,"nodeType":"ExpressionStatement","src":"7616:65:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":217,"name":"currentEpoch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"7699:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":220,"indexExpression":{"expression":{"id":218,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7712:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7714:8:0","memberName":"identity","nodeType":"MemberAccess","referencedDeclaration":62,"src":"7712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7699:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":221,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7727:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7729:5:0","memberName":"epoch","nodeType":"MemberAccess","referencedDeclaration":76,"src":"7727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7699:35:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"626f6f73742065706f63682073757065727365646564","id":224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7736:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0a77b7ed6006c2927fdd222aa2cd03e14108055f00a085dc54bff7b262ab2019","typeString":"literal_string \"boost epoch superseded\""},"value":"boost epoch superseded"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0a77b7ed6006c2927fdd222aa2cd03e14108055f00a085dc54bff7b262ab2019","typeString":"literal_string \"boost epoch superseded\""}],"id":216,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7691:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7691:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":226,"nodeType":"ExpressionStatement","src":"7691:70:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":232,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7816:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_BoostVerifier_$501","typeString":"contract BoostVerifier"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_BoostVerifier_$501","typeString":"contract BoostVerifier"}],"id":231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7808:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":230,"name":"address","nodeType":"ElementaryTypeName","src":"7808:7:0","typeDescriptions":{}}},"id":233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7808:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":228,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"7792:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7795:12:0","memberName":"isAuthorized","nodeType":"MemberAccess","referencedDeclaration":18,"src":"7792:15:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7792:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":239,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7849:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_BoostVerifier_$501","typeString":"contract BoostVerifier"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_BoostVerifier_$501","typeString":"contract BoostVerifier"}],"id":238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7841:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":237,"name":"address","nodeType":"ElementaryTypeName","src":"7841:7:0","typeDescriptions":{}}},"id":240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7841:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":235,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"7826:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7829:11:0","memberName":"rivetActive","nodeType":"MemberAccess","referencedDeclaration":25,"src":"7826:14:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7826:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7792:63:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74686973207665726966696572206973206e6f742061207269766574206f662074686174206964656e74697479","id":243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7869:47:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf80e83d38686fa6d0412db9f76e38033de6c393a8310513aa9671bd80b890d","typeString":"literal_string \"this verifier is not a rivet of that identity\""},"value":"this verifier is not a rivet of that identity"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bbf80e83d38686fa6d0412db9f76e38033de6c393a8310513aa9671bd80b890d","typeString":"literal_string \"this verifier is not a rivet of that identity\""}],"id":227,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7771:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7771:155:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":245,"nodeType":"ExpressionStatement","src":"7771:155:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":249,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"7973:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7975:9:0","memberName":"recipient","nodeType":"MemberAccess","referencedDeclaration":64,"src":"7973:11:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":247,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"7957:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7960:12:0","memberName":"isAuthorized","nodeType":"MemberAccess","referencedDeclaration":18,"src":"7957:15:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7957:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"expression":{"id":254,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8004:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8006:9:0","memberName":"recipient","nodeType":"MemberAccess","referencedDeclaration":64,"src":"8004:11:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":252,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"7989:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7992:11:0","memberName":"rivetActive","nodeType":"MemberAccess","referencedDeclaration":25,"src":"7989:14:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7989:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7957:59:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"726563697069656e74206973206e6f7420616e20616374697665207269766574","id":258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8030:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e393878fb837820f95cb2e7887bc2e58a8e32bbd668ae608cb3b3e321df40800","typeString":"literal_string \"recipient is not an active rivet\""},"value":"recipient is not an active rivet"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e393878fb837820f95cb2e7887bc2e58a8e32bbd668ae608cb3b3e321df40800","typeString":"literal_string \"recipient is not an active rivet\""}],"id":246,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7936:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7936:138:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":260,"nodeType":"ExpressionStatement","src":"7936:138:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":265,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8445:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8447:8:0","memberName":"identity","nodeType":"MemberAccess","referencedDeclaration":62,"src":"8445:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":267,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8457:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8459:9:0","memberName":"recipient","nodeType":"MemberAccess","referencedDeclaration":64,"src":"8457:11:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"id":269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8470:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8472:6:0","memberName":"capWei","nodeType":"MemberAccess","referencedDeclaration":66,"src":"8470:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":271,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8480:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8482:6:0","memberName":"tipWei","nodeType":"MemberAccess","referencedDeclaration":68,"src":"8480:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":273,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8490:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8492:6:0","memberName":"writes","nodeType":"MemberAccess","referencedDeclaration":70,"src":"8490:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":275,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8500:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8502:8:0","memberName":"notAfter","nodeType":"MemberAccess","referencedDeclaration":72,"src":"8500:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":277,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8512:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8514:7:0","memberName":"boostId","nodeType":"MemberAccess","referencedDeclaration":74,"src":"8512:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":279,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8523:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8525:5:0","memberName":"epoch","nodeType":"MemberAccess","referencedDeclaration":76,"src":"8523:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":264,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":157,"src":"8438:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,address,uint256,uint256,uint256,uint256,uint256,uint256) view returns (bytes32)"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8438:93:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":282,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":163,"src":"8549:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":262,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"8401:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8404:16:0","memberName":"isValidSignature","nodeType":"MemberAccess","referencedDeclaration":11,"src":"8401:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (bytes32,bytes memory) view external returns (bytes4)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8401:171:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":284,"name":"EIP1271_MAGIC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"8576:13:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"8401:188:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"626f6f7374206e6f742069737375656420627920616e20616374697665207269766574","id":286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8603:37:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_89dbb717af4fe923f7a23c0bb79ba1ea58e323a9907d72e15f370e52ec3e93df","typeString":"literal_string \"boost not issued by an active rivet\""},"value":"boost not issued by an active rivet"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_89dbb717af4fe923f7a23c0bb79ba1ea58e323a9907d72e15f370e52ec3e93df","typeString":"literal_string \"boost not issued by an active rivet\""}],"id":261,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8380:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8380:270:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":288,"nodeType":"ExpressionStatement","src":"8380:270:0"},{"expression":{"id":297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":289,"name":"spent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89,"src":"8661:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(address => mapping(uint256 => bool))"}},"id":294,"indexExpression":{"expression":{"id":290,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8667:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8669:8:0","memberName":"identity","nodeType":"MemberAccess","referencedDeclaration":62,"src":"8667:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8661:17:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":295,"indexExpression":{"expression":{"id":292,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"8679:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8681:7:0","memberName":"boostId","nodeType":"MemberAccess","referencedDeclaration":74,"src":"8679:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8661:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8692:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8661:35:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":298,"nodeType":"ExpressionStatement","src":"8661:35:0"},{"assignments":[300],"declarations":[{"constant":false,"id":300,"mutability":"mutable","name":"paid","nameLocation":"8715:4:0","nodeType":"VariableDeclaration","scope":452,"src":"8707:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":299,"name":"uint256","nodeType":"ElementaryTypeName","src":"8707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":301,"nodeType":"VariableDeclarationStatement","src":"8707:12:0"},{"assignments":[303],"declarations":[{"constant":false,"id":303,"mutability":"mutable","name":"tip","nameLocation":"8737:3:0","nodeType":"VariableDeclaration","scope":452,"src":"8729:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":302,"name":"uint256","nodeType":"ElementaryTypeName","src":"8729:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":304,"nodeType":"VariableDeclarationStatement","src":"8729:11:0"},{"assignments":[306],"declarations":[{"constant":false,"id":306,"mutability":"mutable","name":"reimbursed","nameLocation":"8758:10:0","nodeType":"VariableDeclaration","scope":452,"src":"8750:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":305,"name":"uint256","nodeType":"ElementaryTypeName","src":"8750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":307,"nodeType":"VariableDeclarationStatement","src":"8750:18:0"},{"id":397,"nodeType":"Block","src":"8778:1870:0","statements":[{"expression":{"id":319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":308,"name":"reimbursed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"9472:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":309,"name":"gasStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":167,"src":"9486:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":310,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"9497:7:0","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9497:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9486:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":313,"name":"PRESENT_OVERHEAD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"9509:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9486:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":315,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9485:41:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":316,"name":"tx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-26,"src":"9529:2:0","typeDescriptions":{"typeIdentifier":"t_magic_transaction","typeString":"tx"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9532:8:0","memberName":"gasprice","nodeType":"MemberAccess","src":"9529:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9485:55:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9472:68:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":320,"nodeType":"ExpressionStatement","src":"9472:68:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":321,"name":"reimbursed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"9558:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":322,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"9571:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9573:6:0","memberName":"capWei","nodeType":"MemberAccess","referencedDeclaration":66,"src":"9571:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9558:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":330,"nodeType":"IfStatement","src":"9554:48:0","trueBody":{"expression":{"id":328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":325,"name":"reimbursed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"9581:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":326,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"9594:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9596:6:0","memberName":"capWei","nodeType":"MemberAccess","referencedDeclaration":66,"src":"9594:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9581:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":329,"nodeType":"ExpressionStatement","src":"9581:21:0"}},{"assignments":[332],"declarations":[{"constant":false,"id":332,"mutability":"mutable","name":"remaining","nameLocation":"9625:9:0","nodeType":"VariableDeclaration","scope":397,"src":"9617:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":331,"name":"uint256","nodeType":"ElementaryTypeName","src":"9617:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":337,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":333,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"9637:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9639:6:0","memberName":"capWei","nodeType":"MemberAccess","referencedDeclaration":66,"src":"9637:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":335,"name":"reimbursed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"9648:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9637:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9617:41:0"},{"expression":{"id":347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":338,"name":"tip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"9672:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":339,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"9678:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9680:6:0","memberName":"tipWei","nodeType":"MemberAccess","referencedDeclaration":68,"src":"9678:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":341,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"9689:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9678:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":344,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"9713:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9715:6:0","memberName":"tipWei","nodeType":"MemberAccess","referencedDeclaration":68,"src":"9713:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9678:43:0","trueExpression":{"id":343,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"9701:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9672:49:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":348,"nodeType":"ExpressionStatement","src":"9672:49:0"},{"expression":{"id":351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":349,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"9735:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":350,"name":"tip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"9748:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9735:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":352,"nodeType":"ExpressionStatement","src":"9735:16:0"},{"assignments":[354],"declarations":[{"constant":false,"id":354,"mutability":"mutable","name":"fee","nameLocation":"10158:3:0","nodeType":"VariableDeclaration","scope":397,"src":"10150:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":353,"name":"uint256","nodeType":"ElementaryTypeName","src":"10150:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":357,"initialValue":{"expression":{"id":355,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10164:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10170:7:0","memberName":"basefee","nodeType":"MemberAccess","src":"10164:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10150:27:0"},{"expression":{"id":372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":358,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"10191:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":359,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":354,"src":"10198:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10205:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10198:8:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":363,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"10221:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10223:6:0","memberName":"writes","nodeType":"MemberAccess","referencedDeclaration":70,"src":"10221:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":365,"name":"GAS_PER_WRITE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51,"src":"10232:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10221:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":367,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":354,"src":"10248:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10221:30:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":369,"name":"FEE_HEADROOM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55,"src":"10254:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10221:45:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10198:68:0","trueExpression":{"id":362,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"10209:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10191:75:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":373,"nodeType":"ExpressionStatement","src":"10191:75:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":374,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"10284:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":375,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"10291:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10284:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":381,"nodeType":"IfStatement","src":"10280:38:0","trueBody":{"expression":{"id":379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":377,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"10302:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":378,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"10309:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10302:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":380,"nodeType":"ExpressionStatement","src":"10302:16:0"}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":383,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"10548:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":384,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":354,"src":"10557:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10564:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10557:8:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":388,"name":"GAS_PER_WRITE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51,"src":"10572:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":389,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":354,"src":"10588:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10572:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10557:34:0","trueExpression":{"hexValue":"31","id":387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10568:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":392,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10556:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10548:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"626f6f7374206365696c696e6720746f6f206c6f77206174207468652063757272656e7420666565","id":394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10594:42:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_064752624ec34a3d2ad55d0b85fa72764c57c8b5a6afda4180045aa2daef9572","typeString":"literal_string \"boost ceiling too low at the current fee\""},"value":"boost ceiling too low at the current fee"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_064752624ec34a3d2ad55d0b85fa72764c57c8b5a6afda4180045aa2daef9572","typeString":"literal_string \"boost ceiling too low at the current fee\""}],"id":382,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"10540:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10540:97:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":396,"nodeType":"ExpressionStatement","src":"10540:97:0"}]},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":399,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"10666:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10669:10:0","memberName":"getBalance","nodeType":"MemberAccess","referencedDeclaration":37,"src":"10666:13:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10666:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":402,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"10685:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":403,"name":"reimbursed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"10692:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10685:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":405,"name":"tip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"10705:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10685:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10666:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74726561737572792063616e6e6f7420636f766572207468697320626f6f7374","id":408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10710:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c40ece204eec58446bd8e2f05889e10471a9582469003c59d1ebd68e5dbec801","typeString":"literal_string \"treasury cannot cover this boost\""},"value":"treasury cannot cover this boost"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c40ece204eec58446bd8e2f05889e10471a9582469003c59d1ebd68e5dbec801","typeString":"literal_string \"treasury cannot cover this boost\""}],"id":398,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"10658:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10658:87:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":410,"nodeType":"ExpressionStatement","src":"10658:87:0"},{"expression":{"arguments":[{"expression":{"id":414,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"11042:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11044:9:0","memberName":"recipient","nodeType":"MemberAccess","referencedDeclaration":64,"src":"11042:11:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":416,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"11055:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":411,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"11031:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11034:7:0","memberName":"sendETH","nodeType":"MemberAccess","referencedDeclaration":32,"src":"11031:10:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_payable_$_t_uint256_$returns$__$","typeString":"function (address payable,uint256) external"}},"id":417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11031:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":418,"nodeType":"ExpressionStatement","src":"11031:29:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":419,"name":"reimbursed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"11223:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":420,"name":"tip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"11236:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11223:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11242:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11223:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":437,"nodeType":"IfStatement","src":"11219:75:0","trueBody":{"expression":{"arguments":[{"arguments":[{"expression":{"id":429,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11264:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11268:6:0","memberName":"sender","nodeType":"MemberAccess","src":"11264:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11256:8:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":427,"name":"address","nodeType":"ElementaryTypeName","src":"11256:8:0","stateMutability":"payable","typeDescriptions":{}}},"id":431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11256:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":432,"name":"reimbursed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"11277:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":433,"name":"tip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"11290:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11277:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":424,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"11245:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11248:7:0","memberName":"sendETH","nodeType":"MemberAccess","referencedDeclaration":32,"src":"11245:10:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_payable_$_t_uint256_$returns$__$","typeString":"function (address payable,uint256) external"}},"id":435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11245:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":436,"nodeType":"ExpressionStatement","src":"11245:49:0"}},{"eventCall":{"arguments":[{"expression":{"id":439,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"11325:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11327:8:0","memberName":"identity","nodeType":"MemberAccess","referencedDeclaration":62,"src":"11325:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":441,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"11337:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11339:9:0","memberName":"recipient","nodeType":"MemberAccess","referencedDeclaration":64,"src":"11337:11:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"id":443,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"11350:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost calldata"}},"id":444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11352:7:0","memberName":"boostId","nodeType":"MemberAccess","referencedDeclaration":74,"src":"11350:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":445,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"11361:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":446,"name":"reimbursed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"11367:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":447,"name":"tip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"11379:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":448,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11384:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11388:6:0","memberName":"sender","nodeType":"MemberAccess","src":"11384:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":438,"name":"BoostPresented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"11310:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,uint256,uint256,uint256,address)"}},"id":450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11310:85:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":451,"nodeType":"EmitStatement","src":"11305:90:0"}]},"documentation":{"id":158,"nodeType":"StructuredDocumentation","src":"6086:1103:0","text":" @notice Present a Boost. Callable by anyone holding one.\n Four checks carry the safety, and each is evaluated NOW rather than when\n the Boost was issued, which is what makes revocation free:\n 1. the device being paid is an active rivet of this identity, so a Boost\n    is a gas instrument for an identity's own devices and retiring a lost\n    device voids every Boost aimed at it;\n 2. the issuer is an active rivet, so removing a compromised device voids\n    everything it ever issued, retroactively;\n 3. the id is unspent and the epoch is current, so one Boost pays once\n    and advancing the epoch voids the whole reserve at one stroke;\n 4. the reimbursement is measured and the ceiling bounds the payout, the\n    reimbursement and the tip together, so a Boost can never cost more\n    than its stated figure and presenting is never a way to drain a\n    treasury.\n A carrier should simulate before presenting: an empty treasury means it\n pays the gas and collects nothing."},"functionSelector":"bed9bf39","id":453,"implemented":true,"kind":"function","modifiers":[],"name":"present","nameLocation":"7203:7:0","nodeType":"FunctionDefinition","parameters":{"id":164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":161,"mutability":"mutable","name":"b","nameLocation":"7226:1:0","nodeType":"VariableDeclaration","scope":453,"src":"7211:16:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_calldata_ptr","typeString":"struct BoostVerifier.Boost"},"typeName":{"id":160,"nodeType":"UserDefinedTypeName","pathNode":{"id":159,"name":"Boost","nameLocations":["7211:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":77,"src":"7211:5:0"},"referencedDeclaration":77,"src":"7211:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_Boost_$77_storage_ptr","typeString":"struct BoostVerifier.Boost"}},"visibility":"internal"},{"constant":false,"id":163,"mutability":"mutable","name":"signature","nameLocation":"7244:9:0","nodeType":"VariableDeclaration","scope":453,"src":"7229:24:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":162,"name":"bytes","nodeType":"ElementaryTypeName","src":"7229:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7210:44:0"},"returnParameters":{"id":165,"nodeType":"ParameterList","parameters":[],"src":"7264:0:0"},"scope":501,"src":"7194:4208:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":499,"nodeType":"Block","src":"11871:333:0","statements":[{"assignments":[463],"declarations":[{"constant":false,"id":463,"mutability":"mutable","name":"id","nameLocation":"11891:2:0","nodeType":"VariableDeclaration","scope":499,"src":"11881:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"},"typeName":{"id":462,"nodeType":"UserDefinedTypeName","pathNode":{"id":461,"name":"IIdentity","nameLocations":["11881:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":38,"src":"11881:9:0"},"referencedDeclaration":38,"src":"11881:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"visibility":"internal"}],"id":467,"initialValue":{"arguments":[{"id":465,"name":"identity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"11906:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":464,"name":"IIdentity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38,"src":"11896:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IIdentity_$38_$","typeString":"type(contract IIdentity)"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11896:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"nodeType":"VariableDeclarationStatement","src":"11881:34:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":471,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11962:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11966:6:0","memberName":"sender","nodeType":"MemberAccess","src":"11962:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":469,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"11946:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11949:12:0","memberName":"isAuthorized","nodeType":"MemberAccess","referencedDeclaration":18,"src":"11946:15:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11946:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"expression":{"id":476,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11992:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11996:6:0","memberName":"sender","nodeType":"MemberAccess","src":"11992:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":474,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"11977:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_IIdentity_$38","typeString":"contract IIdentity"}},"id":475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11980:11:0","memberName":"rivetActive","nodeType":"MemberAccess","referencedDeclaration":25,"src":"11977:14:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11977:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11946:57:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"6f6e6c7920616e20616374697665207269766574206d617920616476616e6365207468652065706f6368","id":480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12017:44:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c27ccaa09d2750abca2064f15da00df0fcd5853717fe970476807fc728985a6","typeString":"literal_string \"only an active rivet may advance the epoch\""},"value":"only an active rivet may advance the epoch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6c27ccaa09d2750abca2064f15da00df0fcd5853717fe970476807fc728985a6","typeString":"literal_string \"only an active rivet may advance the epoch\""}],"id":468,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"11925:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11925:146:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":482,"nodeType":"ExpressionStatement","src":"11925:146:0"},{"assignments":[484],"declarations":[{"constant":false,"id":484,"mutability":"mutable","name":"next","nameLocation":"12089:4:0","nodeType":"VariableDeclaration","scope":499,"src":"12081:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":483,"name":"uint256","nodeType":"ElementaryTypeName","src":"12081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":489,"initialValue":{"id":488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12096:24:0","subExpression":{"baseExpression":{"id":485,"name":"currentEpoch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"12098:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":487,"indexExpression":{"id":486,"name":"identity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"12111:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12098:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12081:39:0"},{"eventCall":{"arguments":[{"id":491,"name":"identity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"12149:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":492,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":484,"src":"12159:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":493,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12165:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12169:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12165:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":490,"name":"EpochAdvanced","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113,"src":"12135:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12135:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":496,"nodeType":"EmitStatement","src":"12130:46:0"},{"expression":{"id":497,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":484,"src":"12193:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":460,"id":498,"nodeType":"Return","src":"12186:11:0"}]},"documentation":{"id":454,"nodeType":"StructuredDocumentation","src":"11408:391:0","text":" @notice Void every outstanding Boost of an identity at one stroke.\n Any active rivet may do this, because a reserve is the identity's own\n paper and the hour it leaks is not the hour to look for a quorum. It is\n an ordinary transaction, so it needs a solvent device — a flat one cannot\n revoke, which is the accepted limit of this version."},"functionSelector":"e20519dd","id":500,"implemented":true,"kind":"function","modifiers":[],"name":"advanceEpoch","nameLocation":"11813:12:0","nodeType":"FunctionDefinition","parameters":{"id":457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":456,"mutability":"mutable","name":"identity","nameLocation":"11834:8:0","nodeType":"VariableDeclaration","scope":500,"src":"11826:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":455,"name":"address","nodeType":"ElementaryTypeName","src":"11826:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11825:18:0"},"returnParameters":{"id":460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":500,"src":"11862:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":458,"name":"uint256","nodeType":"ElementaryTypeName","src":"11862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11861:9:0"},"scope":501,"src":"11804:400:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":502,"src":"2502:9704:0","usedErrors":[],"usedEvents":[105,113]}],"src":"32:12175:0"},"id":0}},"contracts":{"contracts/BoostVerifier.sol":{"BoostVerifier":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"identity","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"boostId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"paid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reimbursed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tip","type":"uint256"},{"indexed":false,"internalType":"address","name":"carrier","type":"address"}],"name":"BoostPresented","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"identity","type":"address"},{"indexed":false,"internalType":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"address","name":"by","type":"address"}],"name":"EpochAdvanced","type":"event"},{"inputs":[],"name":"BOOST_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEE_HEADROOM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAS_PER_WRITE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRESENT_OVERHEAD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"identity","type":"address"}],"name":"advanceEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"currentEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"identity","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"capWei","type":"uint256"},{"internalType":"uint256","name":"tipWei","type":"uint256"},{"internalType":"uint256","name":"writes","type":"uint256"},{"internalType":"uint256","name":"notAfter","type":"uint256"},{"internalType":"uint256","name":"boostId","type":"uint256"},{"internalType":"uint256","name":"epoch","type":"uint256"}],"name":"digest","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"identity","type":"address"},{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"uint256","name":"capWei","type":"uint256"},{"internalType":"uint256","name":"tipWei","type":"uint256"},{"internalType":"uint256","name":"writes","type":"uint256"},{"internalType":"uint256","name":"notAfter","type":"uint256"},{"internalType":"uint256","name":"boostId","type":"uint256"},{"internalType":"uint256","name":"epoch","type":"uint256"}],"internalType":"struct BoostVerifier.Boost","name":"b","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"present","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"spent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6080604052348015600f57600080fd5b5061100e8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063445322a311610066578063445322a31461011b578063ba62ef5d14610125578063bed9bf391461014c578063e20519dd14610161578063ecaa25301461017457600080fd5b8063016191d5146100985780630736e19f146100b35780630b24a269146100d357806342c6cc8c14610111575b600080fd5b6100a0600281565b6040519081526020015b60405180910390f35b6100a06100c1366004610d80565b60006020819052908152604090205481565b6101016100e1366004610da4565b600160209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016100aa565b6100a06203d09081565b6100a062015f9081565b6100a07f0295854092d5e178b9b36d8644dc8f1902a782fe7e04d99298de4b61810f422d81565b61015f61015a366004610dd0565b610187565b005b6100a061016f366004610d80565b610b1b565b6100a0610182366004610e60565b610ccd565b60005a9050600061019b6020860186610d80565b90508460a001356000036101ec5760405162461bcd60e51b8152602060048201526013602482015272626f6f737420686173206e6f2065787069727960681b60448201526064015b60405180910390fd5b8460a001354211156102305760405162461bcd60e51b815260206004820152600d60248201526c189bdbdcdd08195e1c1a5c9959609a1b60448201526064016101e3565b846040013560000361027b5760405162461bcd60e51b8152602060048201526014602482015273626f6f737420686173206e6f206365696c696e6760601b60448201526064016101e3565b6001600061028c6020880188610d80565b6001600160a01b031681526020808201929092526040908101600090812060c0890135825290925290205460ff16156103075760405162461bcd60e51b815260206004820152601760248201527f626f6f737420616c72656164792070726573656e74656400000000000000000060448201526064016101e3565b60e085013560008061031c6020890189610d80565b6001600160a01b03166001600160a01b0316815260200190815260200160002054146103835760405162461bcd60e51b8152602060048201526016602482015275189bdbdcdd08195c1bd8da081cdd5c195c9cd959195960521b60448201526064016101e3565b6040516301fd3f7760e71b81523060048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa1580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb9190610ecb565b801561045a5750604051635ff0ffe560e11b81523060048201526001600160a01b0382169063bfe1ffca90602401602060405180830381865afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190610ecb565b6104bc5760405162461bcd60e51b815260206004820152602d60248201527f74686973207665726966696572206973206e6f742061207269766574206f662060448201526c74686174206964656e7469747960981b60648201526084016101e3565b6001600160a01b03811663fe9fbb806104db6040880160208901610d80565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561051f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105439190610ecb565b80156105d157506001600160a01b03811663bfe1ffca6105696040880160208901610d80565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610ecb565b61061d5760405162461bcd60e51b815260206004820181905260248201527f726563697069656e74206973206e6f7420616e2061637469766520726976657460448201526064016101e3565b630b135d3f60e11b6001600160a01b038216631626ba7e61067761064460208a018a610d80565b61065460408b0160208c01610d80565b8a604001358b606001358c608001358d60a001358e60c001358f60e00135610ccd565b87876040518463ffffffff1660e01b815260040161069793929190610eed565b602060405180830381865afa1580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d89190610f23565b6001600160e01b0319161461073b5760405162461bcd60e51b815260206004820152602360248201527f626f6f7374206e6f742069737375656420627920616e206163746976652072696044820152621d995d60ea1b60648201526084016101e3565b600180600061074d6020890189610d80565b6001600160a01b031681526020808201929092526040908101600090812060c08a013582529092528120805460ff19169215159290921790915580803a62015f905a6107999088610f63565b6107a39190610f7c565b6107ad9190610f8f565b905087604001358111156107c2575060408701355b60006107d28260408b0135610f63565b9050808960600135116107e95788606001356107eb565b805b92506107f78382610f63565b905048801561082d576002816108146203d09060808e0135610f8f565b61081e9190610f8f565b6108289190610f8f565b61082f565b815b94508185111561083d578194505b801561085557610850816203d090610f8f565b610858565b60015b8510156108b85760405162461bcd60e51b815260206004820152602860248201527f626f6f7374206365696c696e6720746f6f206c6f77206174207468652063757260448201526772656e742066656560c01b60648201526084016101e3565b508290506108c68285610f7c565b6108d09190610f7c565b846001600160a01b03166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190610fa6565b10156109805760405162461bcd60e51b815260206004820181905260248201527f74726561737572792063616e6e6f7420636f766572207468697320626f6f737460448201526064016101e3565b6001600160a01b0384166364a197f361099f60408b0160208c01610d80565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101869052604401600060405180830381600087803b1580156109e757600080fd5b505af11580156109fb573d6000803e3d6000fd5b5050505060008282610a0d9190610f7c565b1115610a8c576001600160a01b0384166364a197f333610a2d8585610f7c565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b505050505b610a9c6040890160208a01610d80565b6001600160a01b0316610ab260208a018a610d80565b6040805160c08c0135815260208101879052908101849052606081018590523360808201526001600160a01b0391909116907ffc81bb984905c360e80dc580c5477471426d3a12715290c13ab1227a9ffeae719060a00160405180910390a35050505050505050565b6040516301fd3f7760e71b815233600482015260009082906001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015610b64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b889190610ecb565b8015610bf75750604051635ff0ffe560e11b81523360048201526001600160a01b0382169063bfe1ffca90602401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190610ecb565b610c565760405162461bcd60e51b815260206004820152602a60248201527f6f6e6c7920616e20616374697665207269766574206d617920616476616e6365604482015269040e8d0ca40cae0dec6d60b31b60648201526084016101e3565b6001600160a01b038316600090815260208190526040812080548290610c7b90610fbf565b9182905550604080518281523360208201529192506001600160a01b038616917f674d995dc85855ce52d468f391f3c2703dc66ad7588fd77e64743409b8f1d513910160405180910390a29392505050565b604080517f0295854092d5e178b9b36d8644dc8f1902a782fe7e04d99298de4b61810f422d60208083019190915230828401526001600160a01b039a8b1660608301524660808301529890991660a08a015260c089019690965260e088019490945261010087019290925261012086015261014085015261016080850191909152815180850390910181526101809093019052815191012090565b6001600160a01b0381168114610d7d57600080fd5b50565b600060208284031215610d9257600080fd5b8135610d9d81610d68565b9392505050565b60008060408385031215610db757600080fd5b8235610dc281610d68565b946020939093013593505050565b6000806000838503610120811215610de757600080fd5b610100811215610df657600080fd5b5083925061010084013567ffffffffffffffff811115610e1557600080fd5b8401601f81018613610e2657600080fd5b803567ffffffffffffffff811115610e3d57600080fd5b866020828401011115610e4f57600080fd5b939660209190910195509293505050565b600080600080600080600080610100898b031215610e7d57600080fd5b8835610e8881610d68565b97506020890135610e9881610d68565b979a9799505050506040860135956060810135956080820135955060a0820135945060c0820135935060e0909101359150565b600060208284031215610edd57600080fd5b81518015158114610d9d57600080fd5b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b600060208284031215610f3557600080fd5b81516001600160e01b031981168114610d9d57600080fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f7657610f76610f4d565b92915050565b80820180821115610f7657610f76610f4d565b8082028115828204841417610f7657610f76610f4d565b600060208284031215610fb857600080fd5b5051919050565b600060018201610fd157610fd1610f4d565b506001019056fea26469706673582212205f03dac4aa0a4d23e661a20de7daabff74df69b12565f1c39677200f650261d364736f6c634300081b0033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x100E DUP1 PUSH2 0x1F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x445322A3 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x445322A3 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0xBA62EF5D EQ PUSH2 0x125 JUMPI DUP1 PUSH4 0xBED9BF39 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0xE20519DD EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0xECAA2530 EQ PUSH2 0x174 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x16191D5 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x736E19F EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xB24A269 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x42C6CC8C EQ PUSH2 0x111 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH1 0x2 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA0 PUSH2 0xC1 CALLDATASIZE PUSH1 0x4 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x101 PUSH2 0xE1 CALLDATASIZE PUSH1 0x4 PUSH2 0xDA4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xAA JUMP JUMPDEST PUSH2 0xA0 PUSH3 0x3D090 DUP2 JUMP JUMPDEST PUSH2 0xA0 PUSH3 0x15F90 DUP2 JUMP JUMPDEST PUSH2 0xA0 PUSH32 0x295854092D5E178B9B36D8644DC8F1902A782FE7E04D99298DE4B61810F422D DUP2 JUMP JUMPDEST PUSH2 0x15F PUSH2 0x15A CALLDATASIZE PUSH1 0x4 PUSH2 0xDD0 JUMP JUMPDEST PUSH2 0x187 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA0 PUSH2 0x16F CALLDATASIZE PUSH1 0x4 PUSH2 0xD80 JUMP JUMPDEST PUSH2 0xB1B JUMP JUMPDEST PUSH2 0xA0 PUSH2 0x182 CALLDATASIZE PUSH1 0x4 PUSH2 0xE60 JUMP JUMPDEST PUSH2 0xCCD JUMP JUMPDEST PUSH1 0x0 GAS SWAP1 POP PUSH1 0x0 PUSH2 0x19B PUSH1 0x20 DUP7 ADD DUP7 PUSH2 0xD80 JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x0 SUB PUSH2 0x1EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x626F6F737420686173206E6F20657870697279 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH1 0xA0 ADD CALLDATALOAD TIMESTAMP GT ISZERO PUSH2 0x230 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x189BDBDCDD08195E1C1A5C9959 PUSH1 0x9A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST DUP5 PUSH1 0x40 ADD CALLDATALOAD PUSH1 0x0 SUB PUSH2 0x27B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x626F6F737420686173206E6F206365696C696E67 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH2 0x28C PUSH1 0x20 DUP9 ADD DUP9 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 PUSH1 0xC0 DUP10 ADD CALLDATALOAD DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x307 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626F6F737420616C72656164792070726573656E746564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0xE0 DUP6 ADD CALLDATALOAD PUSH1 0x0 DUP1 PUSH2 0x31C PUSH1 0x20 DUP10 ADD DUP10 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ PUSH2 0x383 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x189BDBDCDD08195C1BD8DA081CDD5C195C9CD9591959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1FD3F77 PUSH1 0xE7 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xFE9FBB80 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3C7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3EB SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x45A JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x5FF0FFE5 PUSH1 0xE1 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xBFE1FFCA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x436 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x45A SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST PUSH2 0x4BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x74686973207665726966696572206973206E6F742061207269766574206F6620 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x74686174206964656E74697479 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH4 0xFE9FBB80 PUSH2 0x4DB PUSH1 0x40 DUP9 ADD PUSH1 0x20 DUP10 ADD PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x51F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x543 SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5D1 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH4 0xBFE1FFCA PUSH2 0x569 PUSH1 0x40 DUP9 ADD PUSH1 0x20 DUP10 ADD PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5D1 SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST PUSH2 0x61D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x726563697069656E74206973206E6F7420616E20616374697665207269766574 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH4 0x1626BA7E PUSH2 0x677 PUSH2 0x644 PUSH1 0x20 DUP11 ADD DUP11 PUSH2 0xD80 JUMP JUMPDEST PUSH2 0x654 PUSH1 0x40 DUP12 ADD PUSH1 0x20 DUP13 ADD PUSH2 0xD80 JUMP JUMPDEST DUP11 PUSH1 0x40 ADD CALLDATALOAD DUP12 PUSH1 0x60 ADD CALLDATALOAD DUP13 PUSH1 0x80 ADD CALLDATALOAD DUP14 PUSH1 0xA0 ADD CALLDATALOAD DUP15 PUSH1 0xC0 ADD CALLDATALOAD DUP16 PUSH1 0xE0 ADD CALLDATALOAD PUSH2 0xCCD JUMP JUMPDEST DUP8 DUP8 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x697 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xEED JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6B4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6D8 SWAP2 SWAP1 PUSH2 0xF23 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND EQ PUSH2 0x73B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626F6F7374206E6F742069737375656420627920616E20616374697665207269 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1D995D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 PUSH2 0x74D PUSH1 0x20 DUP10 ADD DUP10 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 PUSH1 0xC0 DUP11 ADD CALLDATALOAD DUP3 MSTORE SWAP1 SWAP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE DUP1 DUP1 GASPRICE PUSH3 0x15F90 GAS PUSH2 0x799 SWAP1 DUP9 PUSH2 0xF63 JUMP JUMPDEST PUSH2 0x7A3 SWAP2 SWAP1 PUSH2 0xF7C JUMP JUMPDEST PUSH2 0x7AD SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST SWAP1 POP DUP8 PUSH1 0x40 ADD CALLDATALOAD DUP2 GT ISZERO PUSH2 0x7C2 JUMPI POP PUSH1 0x40 DUP8 ADD CALLDATALOAD JUMPDEST PUSH1 0x0 PUSH2 0x7D2 DUP3 PUSH1 0x40 DUP12 ADD CALLDATALOAD PUSH2 0xF63 JUMP JUMPDEST SWAP1 POP DUP1 DUP10 PUSH1 0x60 ADD CALLDATALOAD GT PUSH2 0x7E9 JUMPI DUP9 PUSH1 0x60 ADD CALLDATALOAD PUSH2 0x7EB JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP PUSH2 0x7F7 DUP4 DUP3 PUSH2 0xF63 JUMP JUMPDEST SWAP1 POP BASEFEE DUP1 ISZERO PUSH2 0x82D JUMPI PUSH1 0x2 DUP2 PUSH2 0x814 PUSH3 0x3D090 PUSH1 0x80 DUP15 ADD CALLDATALOAD PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x81E SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x828 SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x82F JUMP JUMPDEST DUP2 JUMPDEST SWAP5 POP DUP2 DUP6 GT ISZERO PUSH2 0x83D JUMPI DUP2 SWAP5 POP JUMPDEST DUP1 ISZERO PUSH2 0x855 JUMPI PUSH2 0x850 DUP2 PUSH3 0x3D090 PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x858 JUMP JUMPDEST PUSH1 0x1 JUMPDEST DUP6 LT ISZERO PUSH2 0x8B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626F6F7374206365696C696E6720746F6F206C6F772061742074686520637572 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x72656E7420666565 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST POP DUP3 SWAP1 POP PUSH2 0x8C6 DUP3 DUP6 PUSH2 0xF7C JUMP JUMPDEST PUSH2 0x8D0 SWAP2 SWAP1 PUSH2 0xF7C JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x90E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x932 SWAP2 SWAP1 PUSH2 0xFA6 JUMP JUMPDEST LT ISZERO PUSH2 0x980 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x74726561737572792063616E6E6F7420636F766572207468697320626F6F7374 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH4 0x64A197F3 PUSH2 0x99F PUSH1 0x40 DUP12 ADD PUSH1 0x20 DUP13 ADD PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 DUP3 DUP3 PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF7C JUMP JUMPDEST GT ISZERO PUSH2 0xA8C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH4 0x64A197F3 CALLER PUSH2 0xA2D DUP6 DUP6 PUSH2 0xF7C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA87 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH2 0xA9C PUSH1 0x40 DUP10 ADD PUSH1 0x20 DUP11 ADD PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xAB2 PUSH1 0x20 DUP11 ADD DUP11 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP13 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP8 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP6 SWAP1 MSTORE CALLER PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND SWAP1 PUSH32 0xFC81BB984905C360E80DC580C5477471426D3A12715290C13AB1227A9FFEAE71 SWAP1 PUSH1 0xA0 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1FD3F77 PUSH1 0xE7 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xFE9FBB80 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB64 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB88 SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBF7 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x5FF0FFE5 PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xBFE1FFCA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBD3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBF7 SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST PUSH2 0xC56 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F6E6C7920616E20616374697665207269766574206D617920616476616E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x40E8D0CA40CAE0DEC6D PUSH1 0xB3 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SWAP1 PUSH2 0xC7B SWAP1 PUSH2 0xFBF JUMP JUMPDEST SWAP2 DUP3 SWAP1 SSTORE POP PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP2 PUSH32 0x674D995DC85855CE52D468F391F3C2703DC66AD7588FD77E64743409B8F1D513 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x295854092D5E178B9B36D8644DC8F1902A782FE7E04D99298DE4B61810F422D PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADDRESS DUP3 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP11 DUP12 AND PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE SWAP9 SWAP1 SWAP10 AND PUSH1 0xA0 DUP11 ADD MSTORE PUSH1 0xC0 DUP10 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0xE0 DUP9 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH2 0x100 DUP8 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH2 0x120 DUP7 ADD MSTORE PUSH2 0x140 DUP6 ADD MSTORE PUSH2 0x160 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 MLOAD DUP1 DUP6 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH2 0x180 SWAP1 SWAP4 ADD SWAP1 MSTORE DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xD9D DUP2 PUSH2 0xD68 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0xDC2 DUP2 PUSH2 0xD68 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP6 SUB PUSH2 0x120 DUP2 SLT ISZERO PUSH2 0xDE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x100 DUP2 SLT ISZERO PUSH2 0xDF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP4 SWAP3 POP PUSH2 0x100 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 ADD PUSH1 0x1F DUP2 ADD DUP7 SGT PUSH2 0xE26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 PUSH1 0x20 DUP3 DUP5 ADD ADD GT ISZERO PUSH2 0xE4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 PUSH1 0x20 SWAP2 SWAP1 SWAP2 ADD SWAP6 POP SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0xE7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH2 0xE88 DUP2 PUSH2 0xD68 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD PUSH2 0xE98 DUP2 PUSH2 0xD68 JUMP JUMPDEST SWAP8 SWAP11 SWAP8 SWAP10 POP POP POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP6 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP6 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 DUP3 ADD CALLDATALOAD SWAP4 POP PUSH1 0xE0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xD9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE DUP2 DUP4 PUSH1 0x60 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP4 ADD PUSH1 0x60 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xD9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xF76 JUMPI PUSH2 0xF76 PUSH2 0xF4D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xF76 JUMPI PUSH2 0xF76 PUSH2 0xF4D JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xF76 JUMPI PUSH2 0xF76 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0xFD1 JUMPI PUSH2 0xFD1 PUSH2 0xF4D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH0 SUB 0xDA 0xC4 0xAA EXP 0x4D 0x23 0xE6 PUSH2 0xA20D 0xE7 0xDA 0xAB SELFDESTRUCT PUSH21 0xDF69B12565F1C39677200F650261D364736F6C6343 STOP ADDMOD SHL STOP CALLER ","sourceMap":"2502:9704:0:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@BOOST_TYPEHASH_43":{"entryPoint":null,"id":43,"parameterSlots":0,"returnSlots":0},"@FEE_HEADROOM_55":{"entryPoint":null,"id":55,"parameterSlots":0,"returnSlots":0},"@GAS_PER_WRITE_51":{"entryPoint":null,"id":51,"parameterSlots":0,"returnSlots":0},"@PRESENT_OVERHEAD_59":{"entryPoint":null,"id":59,"parameterSlots":0,"returnSlots":0},"@advanceEpoch_500":{"entryPoint":2843,"id":500,"parameterSlots":1,"returnSlots":1},"@currentEpoch_82":{"entryPoint":null,"id":82,"parameterSlots":0,"returnSlots":0},"@digest_157":{"entryPoint":3277,"id":157,"parameterSlots":8,"returnSlots":1},"@present_453":{"entryPoint":391,"id":453,"parameterSlots":3,"returnSlots":0},"@spent_89":{"entryPoint":null,"id":89,"parameterSlots":0,"returnSlots":0},"abi_decode_tuple_t_address":{"entryPoint":3456,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payable":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint256t_uint256t_uint256t_uint256":{"entryPoint":3680,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":3492,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":3787,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":3875,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_Boost_$77_calldata_ptrt_bytes_calldata_ptr":{"entryPoint":3536,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":4006,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_payable__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_payable_t_uint256__to_t_address_payable_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":12,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes_calldata_ptr__to_t_bytes32_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":3821,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_stringliteral_064752624ec34a3d2ad55d0b85fa72764c57c8b5a6afda4180045aa2daef9572__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0a77b7ed6006c2927fdd222aa2cd03e14108055f00a085dc54bff7b262ab2019__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4a546485c9d2682edf588693bae6e77babc71f88a38fae98dd3c873a3e76f3f3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5e465502739888938a8e414298e6e02e815fbcadb796b4114783bd32fb659aae__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6c27ccaa09d2750abca2064f15da00df0fcd5853717fe970476807fc728985a6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_89dbb717af4fe923f7a23c0bb79ba1ea58e323a9907d72e15f370e52ec3e93df__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a0f16d37fb203ccfe47ebc77955d3b7cb380c78925cdc45c99a1f866d03687bd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a849a16894184b1d7b6fc963510f32148fc8eb91616e65986ad26c0dfa5cb53a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_bbf80e83d38686fa6d0412db9f76e38033de6c393a8310513aa9671bd80b890d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c40ece204eec58446bd8e2f05889e10471a9582469003c59d1ebd68e5dbec801__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e393878fb837820f95cb2e7887bc2e58a8e32bbd668ae608cb3b3e321df40800__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_address__to_t_uint256_t_uint256_t_uint256_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":3964,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":3983,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":3939,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":4031,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":3917,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":3432,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:11953:1","nodeType":"YulBlock","src":"0:11953:1","statements":[{"nativeSrc":"6:3:1","nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nativeSrc":"115:76:1","nodeType":"YulBlock","src":"115:76:1","statements":[{"nativeSrc":"125:26:1","nodeType":"YulAssignment","src":"125:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"137:9:1","nodeType":"YulIdentifier","src":"137:9:1"},{"kind":"number","nativeSrc":"148:2:1","nodeType":"YulLiteral","src":"148:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"133:3:1","nodeType":"YulIdentifier","src":"133:3:1"},"nativeSrc":"133:18:1","nodeType":"YulFunctionCall","src":"133:18:1"},"variableNames":[{"name":"tail","nativeSrc":"125:4:1","nodeType":"YulIdentifier","src":"125:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"167:9:1","nodeType":"YulIdentifier","src":"167:9:1"},{"name":"value0","nativeSrc":"178:6:1","nodeType":"YulIdentifier","src":"178:6:1"}],"functionName":{"name":"mstore","nativeSrc":"160:6:1","nodeType":"YulIdentifier","src":"160:6:1"},"nativeSrc":"160:25:1","nodeType":"YulFunctionCall","src":"160:25:1"},"nativeSrc":"160:25:1","nodeType":"YulExpressionStatement","src":"160:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nativeSrc":"14:177:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"84:9:1","nodeType":"YulTypedName","src":"84:9:1","type":""},{"name":"value0","nativeSrc":"95:6:1","nodeType":"YulTypedName","src":"95:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"106:4:1","nodeType":"YulTypedName","src":"106:4:1","type":""}],"src":"14:177:1"},{"body":{"nativeSrc":"241:86:1","nodeType":"YulBlock","src":"241:86:1","statements":[{"body":{"nativeSrc":"305:16:1","nodeType":"YulBlock","src":"305:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"314:1:1","nodeType":"YulLiteral","src":"314:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"317:1:1","nodeType":"YulLiteral","src":"317:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"307:6:1","nodeType":"YulIdentifier","src":"307:6:1"},"nativeSrc":"307:12:1","nodeType":"YulFunctionCall","src":"307:12:1"},"nativeSrc":"307:12:1","nodeType":"YulExpressionStatement","src":"307:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"264:5:1","nodeType":"YulIdentifier","src":"264:5:1"},{"arguments":[{"name":"value","nativeSrc":"275:5:1","nodeType":"YulIdentifier","src":"275:5:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"290:3:1","nodeType":"YulLiteral","src":"290:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"295:1:1","nodeType":"YulLiteral","src":"295:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"286:3:1","nodeType":"YulIdentifier","src":"286:3:1"},"nativeSrc":"286:11:1","nodeType":"YulFunctionCall","src":"286:11:1"},{"kind":"number","nativeSrc":"299:1:1","nodeType":"YulLiteral","src":"299:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"282:3:1","nodeType":"YulIdentifier","src":"282:3:1"},"nativeSrc":"282:19:1","nodeType":"YulFunctionCall","src":"282:19:1"}],"functionName":{"name":"and","nativeSrc":"271:3:1","nodeType":"YulIdentifier","src":"271:3:1"},"nativeSrc":"271:31:1","nodeType":"YulFunctionCall","src":"271:31:1"}],"functionName":{"name":"eq","nativeSrc":"261:2:1","nodeType":"YulIdentifier","src":"261:2:1"},"nativeSrc":"261:42:1","nodeType":"YulFunctionCall","src":"261:42:1"}],"functionName":{"name":"iszero","nativeSrc":"254:6:1","nodeType":"YulIdentifier","src":"254:6:1"},"nativeSrc":"254:50:1","nodeType":"YulFunctionCall","src":"254:50:1"},"nativeSrc":"251:70:1","nodeType":"YulIf","src":"251:70:1"}]},"name":"validator_revert_address","nativeSrc":"196:131:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"230:5:1","nodeType":"YulTypedName","src":"230:5:1","type":""}],"src":"196:131:1"},{"body":{"nativeSrc":"402:177:1","nodeType":"YulBlock","src":"402:177:1","statements":[{"body":{"nativeSrc":"448:16:1","nodeType":"YulBlock","src":"448:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"457:1:1","nodeType":"YulLiteral","src":"457:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"460:1:1","nodeType":"YulLiteral","src":"460:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"450:6:1","nodeType":"YulIdentifier","src":"450:6:1"},"nativeSrc":"450:12:1","nodeType":"YulFunctionCall","src":"450:12:1"},"nativeSrc":"450:12:1","nodeType":"YulExpressionStatement","src":"450:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"423:7:1","nodeType":"YulIdentifier","src":"423:7:1"},{"name":"headStart","nativeSrc":"432:9:1","nodeType":"YulIdentifier","src":"432:9:1"}],"functionName":{"name":"sub","nativeSrc":"419:3:1","nodeType":"YulIdentifier","src":"419:3:1"},"nativeSrc":"419:23:1","nodeType":"YulFunctionCall","src":"419:23:1"},{"kind":"number","nativeSrc":"444:2:1","nodeType":"YulLiteral","src":"444:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"415:3:1","nodeType":"YulIdentifier","src":"415:3:1"},"nativeSrc":"415:32:1","nodeType":"YulFunctionCall","src":"415:32:1"},"nativeSrc":"412:52:1","nodeType":"YulIf","src":"412:52:1"},{"nativeSrc":"473:36:1","nodeType":"YulVariableDeclaration","src":"473:36:1","value":{"arguments":[{"name":"headStart","nativeSrc":"499:9:1","nodeType":"YulIdentifier","src":"499:9:1"}],"functionName":{"name":"calldataload","nativeSrc":"486:12:1","nodeType":"YulIdentifier","src":"486:12:1"},"nativeSrc":"486:23:1","nodeType":"YulFunctionCall","src":"486:23:1"},"variables":[{"name":"value","nativeSrc":"477:5:1","nodeType":"YulTypedName","src":"477:5:1","type":""}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"543:5:1","nodeType":"YulIdentifier","src":"543:5:1"}],"functionName":{"name":"validator_revert_address","nativeSrc":"518:24:1","nodeType":"YulIdentifier","src":"518:24:1"},"nativeSrc":"518:31:1","nodeType":"YulFunctionCall","src":"518:31:1"},"nativeSrc":"518:31:1","nodeType":"YulExpressionStatement","src":"518:31:1"},{"nativeSrc":"558:15:1","nodeType":"YulAssignment","src":"558:15:1","value":{"name":"value","nativeSrc":"568:5:1","nodeType":"YulIdentifier","src":"568:5:1"},"variableNames":[{"name":"value0","nativeSrc":"558:6:1","nodeType":"YulIdentifier","src":"558:6:1"}]}]},"name":"abi_decode_tuple_t_address","nativeSrc":"332:247:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"368:9:1","nodeType":"YulTypedName","src":"368:9:1","type":""},{"name":"dataEnd","nativeSrc":"379:7:1","nodeType":"YulTypedName","src":"379:7:1","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"391:6:1","nodeType":"YulTypedName","src":"391:6:1","type":""}],"src":"332:247:1"},{"body":{"nativeSrc":"671:280:1","nodeType":"YulBlock","src":"671:280:1","statements":[{"body":{"nativeSrc":"717:16:1","nodeType":"YulBlock","src":"717:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"726:1:1","nodeType":"YulLiteral","src":"726:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"729:1:1","nodeType":"YulLiteral","src":"729:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"719:6:1","nodeType":"YulIdentifier","src":"719:6:1"},"nativeSrc":"719:12:1","nodeType":"YulFunctionCall","src":"719:12:1"},"nativeSrc":"719:12:1","nodeType":"YulExpressionStatement","src":"719:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"692:7:1","nodeType":"YulIdentifier","src":"692:7:1"},{"name":"headStart","nativeSrc":"701:9:1","nodeType":"YulIdentifier","src":"701:9:1"}],"functionName":{"name":"sub","nativeSrc":"688:3:1","nodeType":"YulIdentifier","src":"688:3:1"},"nativeSrc":"688:23:1","nodeType":"YulFunctionCall","src":"688:23:1"},{"kind":"number","nativeSrc":"713:2:1","nodeType":"YulLiteral","src":"713:2:1","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"684:3:1","nodeType":"YulIdentifier","src":"684:3:1"},"nativeSrc":"684:32:1","nodeType":"YulFunctionCall","src":"684:32:1"},"nativeSrc":"681:52:1","nodeType":"YulIf","src":"681:52:1"},{"nativeSrc":"742:36:1","nodeType":"YulVariableDeclaration","src":"742:36:1","value":{"arguments":[{"name":"headStart","nativeSrc":"768:9:1","nodeType":"YulIdentifier","src":"768:9:1"}],"functionName":{"name":"calldataload","nativeSrc":"755:12:1","nodeType":"YulIdentifier","src":"755:12:1"},"nativeSrc":"755:23:1","nodeType":"YulFunctionCall","src":"755:23:1"},"variables":[{"name":"value","nativeSrc":"746:5:1","nodeType":"YulTypedName","src":"746:5:1","type":""}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"812:5:1","nodeType":"YulIdentifier","src":"812:5:1"}],"functionName":{"name":"validator_revert_address","nativeSrc":"787:24:1","nodeType":"YulIdentifier","src":"787:24:1"},"nativeSrc":"787:31:1","nodeType":"YulFunctionCall","src":"787:31:1"},"nativeSrc":"787:31:1","nodeType":"YulExpressionStatement","src":"787:31:1"},{"nativeSrc":"827:15:1","nodeType":"YulAssignment","src":"827:15:1","value":{"name":"value","nativeSrc":"837:5:1","nodeType":"YulIdentifier","src":"837:5:1"},"variableNames":[{"name":"value0","nativeSrc":"827:6:1","nodeType":"YulIdentifier","src":"827:6:1"}]},{"nativeSrc":"851:16:1","nodeType":"YulVariableDeclaration","src":"851:16:1","value":{"kind":"number","nativeSrc":"866:1:1","nodeType":"YulLiteral","src":"866:1:1","type":"","value":"0"},"variables":[{"name":"value_1","nativeSrc":"855:7:1","nodeType":"YulTypedName","src":"855:7:1","type":""}]},{"nativeSrc":"876:43:1","nodeType":"YulAssignment","src":"876:43:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"904:9:1","nodeType":"YulIdentifier","src":"904:9:1"},{"kind":"number","nativeSrc":"915:2:1","nodeType":"YulLiteral","src":"915:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"900:3:1","nodeType":"YulIdentifier","src":"900:3:1"},"nativeSrc":"900:18:1","nodeType":"YulFunctionCall","src":"900:18:1"}],"functionName":{"name":"calldataload","nativeSrc":"887:12:1","nodeType":"YulIdentifier","src":"887:12:1"},"nativeSrc":"887:32:1","nodeType":"YulFunctionCall","src":"887:32:1"},"variableNames":[{"name":"value_1","nativeSrc":"876:7:1","nodeType":"YulIdentifier","src":"876:7:1"}]},{"nativeSrc":"928:17:1","nodeType":"YulAssignment","src":"928:17:1","value":{"name":"value_1","nativeSrc":"938:7:1","nodeType":"YulIdentifier","src":"938:7:1"},"variableNames":[{"name":"value1","nativeSrc":"928:6:1","nodeType":"YulIdentifier","src":"928:6:1"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nativeSrc":"584:367:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"629:9:1","nodeType":"YulTypedName","src":"629:9:1","type":""},{"name":"dataEnd","nativeSrc":"640:7:1","nodeType":"YulTypedName","src":"640:7:1","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"652:6:1","nodeType":"YulTypedName","src":"652:6:1","type":""},{"name":"value1","nativeSrc":"660:6:1","nodeType":"YulTypedName","src":"660:6:1","type":""}],"src":"584:367:1"},{"body":{"nativeSrc":"1051:92:1","nodeType":"YulBlock","src":"1051:92:1","statements":[{"nativeSrc":"1061:26:1","nodeType":"YulAssignment","src":"1061:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"1073:9:1","nodeType":"YulIdentifier","src":"1073:9:1"},{"kind":"number","nativeSrc":"1084:2:1","nodeType":"YulLiteral","src":"1084:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1069:3:1","nodeType":"YulIdentifier","src":"1069:3:1"},"nativeSrc":"1069:18:1","nodeType":"YulFunctionCall","src":"1069:18:1"},"variableNames":[{"name":"tail","nativeSrc":"1061:4:1","nodeType":"YulIdentifier","src":"1061:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"1103:9:1","nodeType":"YulIdentifier","src":"1103:9:1"},{"arguments":[{"arguments":[{"name":"value0","nativeSrc":"1128:6:1","nodeType":"YulIdentifier","src":"1128:6:1"}],"functionName":{"name":"iszero","nativeSrc":"1121:6:1","nodeType":"YulIdentifier","src":"1121:6:1"},"nativeSrc":"1121:14:1","nodeType":"YulFunctionCall","src":"1121:14:1"}],"functionName":{"name":"iszero","nativeSrc":"1114:6:1","nodeType":"YulIdentifier","src":"1114:6:1"},"nativeSrc":"1114:22:1","nodeType":"YulFunctionCall","src":"1114:22:1"}],"functionName":{"name":"mstore","nativeSrc":"1096:6:1","nodeType":"YulIdentifier","src":"1096:6:1"},"nativeSrc":"1096:41:1","nodeType":"YulFunctionCall","src":"1096:41:1"},"nativeSrc":"1096:41:1","nodeType":"YulExpressionStatement","src":"1096:41:1"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"956:187:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"1020:9:1","nodeType":"YulTypedName","src":"1020:9:1","type":""},{"name":"value0","nativeSrc":"1031:6:1","nodeType":"YulTypedName","src":"1031:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"1042:4:1","nodeType":"YulTypedName","src":"1042:4:1","type":""}],"src":"956:187:1"},{"body":{"nativeSrc":"1249:76:1","nodeType":"YulBlock","src":"1249:76:1","statements":[{"nativeSrc":"1259:26:1","nodeType":"YulAssignment","src":"1259:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"1271:9:1","nodeType":"YulIdentifier","src":"1271:9:1"},{"kind":"number","nativeSrc":"1282:2:1","nodeType":"YulLiteral","src":"1282:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1267:3:1","nodeType":"YulIdentifier","src":"1267:3:1"},"nativeSrc":"1267:18:1","nodeType":"YulFunctionCall","src":"1267:18:1"},"variableNames":[{"name":"tail","nativeSrc":"1259:4:1","nodeType":"YulIdentifier","src":"1259:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"1301:9:1","nodeType":"YulIdentifier","src":"1301:9:1"},{"name":"value0","nativeSrc":"1312:6:1","nodeType":"YulIdentifier","src":"1312:6:1"}],"functionName":{"name":"mstore","nativeSrc":"1294:6:1","nodeType":"YulIdentifier","src":"1294:6:1"},"nativeSrc":"1294:25:1","nodeType":"YulFunctionCall","src":"1294:25:1"},"nativeSrc":"1294:25:1","nodeType":"YulExpressionStatement","src":"1294:25:1"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nativeSrc":"1148:177:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"1218:9:1","nodeType":"YulTypedName","src":"1218:9:1","type":""},{"name":"value0","nativeSrc":"1229:6:1","nodeType":"YulTypedName","src":"1229:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"1240:4:1","nodeType":"YulTypedName","src":"1240:4:1","type":""}],"src":"1148:177:1"},{"body":{"nativeSrc":"1459:602:1","nodeType":"YulBlock","src":"1459:602:1","statements":[{"nativeSrc":"1469:33:1","nodeType":"YulVariableDeclaration","src":"1469:33:1","value":{"arguments":[{"name":"dataEnd","nativeSrc":"1483:7:1","nodeType":"YulIdentifier","src":"1483:7:1"},{"name":"headStart","nativeSrc":"1492:9:1","nodeType":"YulIdentifier","src":"1492:9:1"}],"functionName":{"name":"sub","nativeSrc":"1479:3:1","nodeType":"YulIdentifier","src":"1479:3:1"},"nativeSrc":"1479:23:1","nodeType":"YulFunctionCall","src":"1479:23:1"},"variables":[{"name":"_1","nativeSrc":"1473:2:1","nodeType":"YulTypedName","src":"1473:2:1","type":""}]},{"body":{"nativeSrc":"1527:16:1","nodeType":"YulBlock","src":"1527:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1536:1:1","nodeType":"YulLiteral","src":"1536:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"1539:1:1","nodeType":"YulLiteral","src":"1539:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1529:6:1","nodeType":"YulIdentifier","src":"1529:6:1"},"nativeSrc":"1529:12:1","nodeType":"YulFunctionCall","src":"1529:12:1"},"nativeSrc":"1529:12:1","nodeType":"YulExpressionStatement","src":"1529:12:1"}]},"condition":{"arguments":[{"name":"_1","nativeSrc":"1518:2:1","nodeType":"YulIdentifier","src":"1518:2:1"},{"kind":"number","nativeSrc":"1522:3:1","nodeType":"YulLiteral","src":"1522:3:1","type":"","value":"288"}],"functionName":{"name":"slt","nativeSrc":"1514:3:1","nodeType":"YulIdentifier","src":"1514:3:1"},"nativeSrc":"1514:12:1","nodeType":"YulFunctionCall","src":"1514:12:1"},"nativeSrc":"1511:32:1","nodeType":"YulIf","src":"1511:32:1"},{"body":{"nativeSrc":"1568:16:1","nodeType":"YulBlock","src":"1568:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1577:1:1","nodeType":"YulLiteral","src":"1577:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"1580:1:1","nodeType":"YulLiteral","src":"1580:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1570:6:1","nodeType":"YulIdentifier","src":"1570:6:1"},"nativeSrc":"1570:12:1","nodeType":"YulFunctionCall","src":"1570:12:1"},"nativeSrc":"1570:12:1","nodeType":"YulExpressionStatement","src":"1570:12:1"}]},"condition":{"arguments":[{"name":"_1","nativeSrc":"1559:2:1","nodeType":"YulIdentifier","src":"1559:2:1"},{"kind":"number","nativeSrc":"1563:3:1","nodeType":"YulLiteral","src":"1563:3:1","type":"","value":"256"}],"functionName":{"name":"slt","nativeSrc":"1555:3:1","nodeType":"YulIdentifier","src":"1555:3:1"},"nativeSrc":"1555:12:1","nodeType":"YulFunctionCall","src":"1555:12:1"},"nativeSrc":"1552:32:1","nodeType":"YulIf","src":"1552:32:1"},{"nativeSrc":"1593:19:1","nodeType":"YulAssignment","src":"1593:19:1","value":{"name":"headStart","nativeSrc":"1603:9:1","nodeType":"YulIdentifier","src":"1603:9:1"},"variableNames":[{"name":"value0","nativeSrc":"1593:6:1","nodeType":"YulIdentifier","src":"1593:6:1"}]},{"nativeSrc":"1621:47:1","nodeType":"YulVariableDeclaration","src":"1621:47:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"1652:9:1","nodeType":"YulIdentifier","src":"1652:9:1"},{"kind":"number","nativeSrc":"1663:3:1","nodeType":"YulLiteral","src":"1663:3:1","type":"","value":"256"}],"functionName":{"name":"add","nativeSrc":"1648:3:1","nodeType":"YulIdentifier","src":"1648:3:1"},"nativeSrc":"1648:19:1","nodeType":"YulFunctionCall","src":"1648:19:1"}],"functionName":{"name":"calldataload","nativeSrc":"1635:12:1","nodeType":"YulIdentifier","src":"1635:12:1"},"nativeSrc":"1635:33:1","nodeType":"YulFunctionCall","src":"1635:33:1"},"variables":[{"name":"offset","nativeSrc":"1625:6:1","nodeType":"YulTypedName","src":"1625:6:1","type":""}]},{"body":{"nativeSrc":"1711:16:1","nodeType":"YulBlock","src":"1711:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1720:1:1","nodeType":"YulLiteral","src":"1720:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"1723:1:1","nodeType":"YulLiteral","src":"1723:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1713:6:1","nodeType":"YulIdentifier","src":"1713:6:1"},"nativeSrc":"1713:12:1","nodeType":"YulFunctionCall","src":"1713:12:1"},"nativeSrc":"1713:12:1","nodeType":"YulExpressionStatement","src":"1713:12:1"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"1683:6:1","nodeType":"YulIdentifier","src":"1683:6:1"},{"kind":"number","nativeSrc":"1691:18:1","nodeType":"YulLiteral","src":"1691:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1680:2:1","nodeType":"YulIdentifier","src":"1680:2:1"},"nativeSrc":"1680:30:1","nodeType":"YulFunctionCall","src":"1680:30:1"},"nativeSrc":"1677:50:1","nodeType":"YulIf","src":"1677:50:1"},{"nativeSrc":"1736:32:1","nodeType":"YulVariableDeclaration","src":"1736:32:1","value":{"arguments":[{"name":"headStart","nativeSrc":"1750:9:1","nodeType":"YulIdentifier","src":"1750:9:1"},{"name":"offset","nativeSrc":"1761:6:1","nodeType":"YulIdentifier","src":"1761:6:1"}],"functionName":{"name":"add","nativeSrc":"1746:3:1","nodeType":"YulIdentifier","src":"1746:3:1"},"nativeSrc":"1746:22:1","nodeType":"YulFunctionCall","src":"1746:22:1"},"variables":[{"name":"_2","nativeSrc":"1740:2:1","nodeType":"YulTypedName","src":"1740:2:1","type":""}]},{"body":{"nativeSrc":"1816:16:1","nodeType":"YulBlock","src":"1816:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1825:1:1","nodeType":"YulLiteral","src":"1825:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"1828:1:1","nodeType":"YulLiteral","src":"1828:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1818:6:1","nodeType":"YulIdentifier","src":"1818:6:1"},"nativeSrc":"1818:12:1","nodeType":"YulFunctionCall","src":"1818:12:1"},"nativeSrc":"1818:12:1","nodeType":"YulExpressionStatement","src":"1818:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nativeSrc":"1795:2:1","nodeType":"YulIdentifier","src":"1795:2:1"},{"kind":"number","nativeSrc":"1799:4:1","nodeType":"YulLiteral","src":"1799:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"1791:3:1","nodeType":"YulIdentifier","src":"1791:3:1"},"nativeSrc":"1791:13:1","nodeType":"YulFunctionCall","src":"1791:13:1"},{"name":"dataEnd","nativeSrc":"1806:7:1","nodeType":"YulIdentifier","src":"1806:7:1"}],"functionName":{"name":"slt","nativeSrc":"1787:3:1","nodeType":"YulIdentifier","src":"1787:3:1"},"nativeSrc":"1787:27:1","nodeType":"YulFunctionCall","src":"1787:27:1"}],"functionName":{"name":"iszero","nativeSrc":"1780:6:1","nodeType":"YulIdentifier","src":"1780:6:1"},"nativeSrc":"1780:35:1","nodeType":"YulFunctionCall","src":"1780:35:1"},"nativeSrc":"1777:55:1","nodeType":"YulIf","src":"1777:55:1"},{"nativeSrc":"1841:30:1","nodeType":"YulVariableDeclaration","src":"1841:30:1","value":{"arguments":[{"name":"_2","nativeSrc":"1868:2:1","nodeType":"YulIdentifier","src":"1868:2:1"}],"functionName":{"name":"calldataload","nativeSrc":"1855:12:1","nodeType":"YulIdentifier","src":"1855:12:1"},"nativeSrc":"1855:16:1","nodeType":"YulFunctionCall","src":"1855:16:1"},"variables":[{"name":"length","nativeSrc":"1845:6:1","nodeType":"YulTypedName","src":"1845:6:1","type":""}]},{"body":{"nativeSrc":"1914:16:1","nodeType":"YulBlock","src":"1914:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1923:1:1","nodeType":"YulLiteral","src":"1923:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"1926:1:1","nodeType":"YulLiteral","src":"1926:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1916:6:1","nodeType":"YulIdentifier","src":"1916:6:1"},"nativeSrc":"1916:12:1","nodeType":"YulFunctionCall","src":"1916:12:1"},"nativeSrc":"1916:12:1","nodeType":"YulExpressionStatement","src":"1916:12:1"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"1886:6:1","nodeType":"YulIdentifier","src":"1886:6:1"},{"kind":"number","nativeSrc":"1894:18:1","nodeType":"YulLiteral","src":"1894:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1883:2:1","nodeType":"YulIdentifier","src":"1883:2:1"},"nativeSrc":"1883:30:1","nodeType":"YulFunctionCall","src":"1883:30:1"},"nativeSrc":"1880:50:1","nodeType":"YulIf","src":"1880:50:1"},{"body":{"nativeSrc":"1982:16:1","nodeType":"YulBlock","src":"1982:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1991:1:1","nodeType":"YulLiteral","src":"1991:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"1994:1:1","nodeType":"YulLiteral","src":"1994:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1984:6:1","nodeType":"YulIdentifier","src":"1984:6:1"},"nativeSrc":"1984:12:1","nodeType":"YulFunctionCall","src":"1984:12:1"},"nativeSrc":"1984:12:1","nodeType":"YulExpressionStatement","src":"1984:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nativeSrc":"1953:2:1","nodeType":"YulIdentifier","src":"1953:2:1"},{"name":"length","nativeSrc":"1957:6:1","nodeType":"YulIdentifier","src":"1957:6:1"}],"functionName":{"name":"add","nativeSrc":"1949:3:1","nodeType":"YulIdentifier","src":"1949:3:1"},"nativeSrc":"1949:15:1","nodeType":"YulFunctionCall","src":"1949:15:1"},{"kind":"number","nativeSrc":"1966:4:1","nodeType":"YulLiteral","src":"1966:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1945:3:1","nodeType":"YulIdentifier","src":"1945:3:1"},"nativeSrc":"1945:26:1","nodeType":"YulFunctionCall","src":"1945:26:1"},{"name":"dataEnd","nativeSrc":"1973:7:1","nodeType":"YulIdentifier","src":"1973:7:1"}],"functionName":{"name":"gt","nativeSrc":"1942:2:1","nodeType":"YulIdentifier","src":"1942:2:1"},"nativeSrc":"1942:39:1","nodeType":"YulFunctionCall","src":"1942:39:1"},"nativeSrc":"1939:59:1","nodeType":"YulIf","src":"1939:59:1"},{"nativeSrc":"2007:23:1","nodeType":"YulAssignment","src":"2007:23:1","value":{"arguments":[{"name":"_2","nativeSrc":"2021:2:1","nodeType":"YulIdentifier","src":"2021:2:1"},{"kind":"number","nativeSrc":"2025:4:1","nodeType":"YulLiteral","src":"2025:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2017:3:1","nodeType":"YulIdentifier","src":"2017:3:1"},"nativeSrc":"2017:13:1","nodeType":"YulFunctionCall","src":"2017:13:1"},"variableNames":[{"name":"value1","nativeSrc":"2007:6:1","nodeType":"YulIdentifier","src":"2007:6:1"}]},{"nativeSrc":"2039:16:1","nodeType":"YulAssignment","src":"2039:16:1","value":{"name":"length","nativeSrc":"2049:6:1","nodeType":"YulIdentifier","src":"2049:6:1"},"variableNames":[{"name":"value2","nativeSrc":"2039:6:1","nodeType":"YulIdentifier","src":"2039:6:1"}]}]},"name":"abi_decode_tuple_t_struct$_Boost_$77_calldata_ptrt_bytes_calldata_ptr","nativeSrc":"1330:731:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"1409:9:1","nodeType":"YulTypedName","src":"1409:9:1","type":""},{"name":"dataEnd","nativeSrc":"1420:7:1","nodeType":"YulTypedName","src":"1420:7:1","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"1432:6:1","nodeType":"YulTypedName","src":"1432:6:1","type":""},{"name":"value1","nativeSrc":"1440:6:1","nodeType":"YulTypedName","src":"1440:6:1","type":""},{"name":"value2","nativeSrc":"1448:6:1","nodeType":"YulTypedName","src":"1448:6:1","type":""}],"src":"1330:731:1"},{"body":{"nativeSrc":"2255:924:1","nodeType":"YulBlock","src":"2255:924:1","statements":[{"body":{"nativeSrc":"2302:16:1","nodeType":"YulBlock","src":"2302:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2311:1:1","nodeType":"YulLiteral","src":"2311:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"2314:1:1","nodeType":"YulLiteral","src":"2314:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2304:6:1","nodeType":"YulIdentifier","src":"2304:6:1"},"nativeSrc":"2304:12:1","nodeType":"YulFunctionCall","src":"2304:12:1"},"nativeSrc":"2304:12:1","nodeType":"YulExpressionStatement","src":"2304:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"2276:7:1","nodeType":"YulIdentifier","src":"2276:7:1"},{"name":"headStart","nativeSrc":"2285:9:1","nodeType":"YulIdentifier","src":"2285:9:1"}],"functionName":{"name":"sub","nativeSrc":"2272:3:1","nodeType":"YulIdentifier","src":"2272:3:1"},"nativeSrc":"2272:23:1","nodeType":"YulFunctionCall","src":"2272:23:1"},{"kind":"number","nativeSrc":"2297:3:1","nodeType":"YulLiteral","src":"2297:3:1","type":"","value":"256"}],"functionName":{"name":"slt","nativeSrc":"2268:3:1","nodeType":"YulIdentifier","src":"2268:3:1"},"nativeSrc":"2268:33:1","nodeType":"YulFunctionCall","src":"2268:33:1"},"nativeSrc":"2265:53:1","nodeType":"YulIf","src":"2265:53:1"},{"nativeSrc":"2327:36:1","nodeType":"YulVariableDeclaration","src":"2327:36:1","value":{"arguments":[{"name":"headStart","nativeSrc":"2353:9:1","nodeType":"YulIdentifier","src":"2353:9:1"}],"functionName":{"name":"calldataload","nativeSrc":"2340:12:1","nodeType":"YulIdentifier","src":"2340:12:1"},"nativeSrc":"2340:23:1","nodeType":"YulFunctionCall","src":"2340:23:1"},"variables":[{"name":"value","nativeSrc":"2331:5:1","nodeType":"YulTypedName","src":"2331:5:1","type":""}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"2397:5:1","nodeType":"YulIdentifier","src":"2397:5:1"}],"functionName":{"name":"validator_revert_address","nativeSrc":"2372:24:1","nodeType":"YulIdentifier","src":"2372:24:1"},"nativeSrc":"2372:31:1","nodeType":"YulFunctionCall","src":"2372:31:1"},"nativeSrc":"2372:31:1","nodeType":"YulExpressionStatement","src":"2372:31:1"},{"nativeSrc":"2412:15:1","nodeType":"YulAssignment","src":"2412:15:1","value":{"name":"value","nativeSrc":"2422:5:1","nodeType":"YulIdentifier","src":"2422:5:1"},"variableNames":[{"name":"value0","nativeSrc":"2412:6:1","nodeType":"YulIdentifier","src":"2412:6:1"}]},{"nativeSrc":"2436:47:1","nodeType":"YulVariableDeclaration","src":"2436:47:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2468:9:1","nodeType":"YulIdentifier","src":"2468:9:1"},{"kind":"number","nativeSrc":"2479:2:1","nodeType":"YulLiteral","src":"2479:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"2464:3:1","nodeType":"YulIdentifier","src":"2464:3:1"},"nativeSrc":"2464:18:1","nodeType":"YulFunctionCall","src":"2464:18:1"}],"functionName":{"name":"calldataload","nativeSrc":"2451:12:1","nodeType":"YulIdentifier","src":"2451:12:1"},"nativeSrc":"2451:32:1","nodeType":"YulFunctionCall","src":"2451:32:1"},"variables":[{"name":"value_1","nativeSrc":"2440:7:1","nodeType":"YulTypedName","src":"2440:7:1","type":""}]},{"expression":{"arguments":[{"name":"value_1","nativeSrc":"2517:7:1","nodeType":"YulIdentifier","src":"2517:7:1"}],"functionName":{"name":"validator_revert_address","nativeSrc":"2492:24:1","nodeType":"YulIdentifier","src":"2492:24:1"},"nativeSrc":"2492:33:1","nodeType":"YulFunctionCall","src":"2492:33:1"},"nativeSrc":"2492:33:1","nodeType":"YulExpressionStatement","src":"2492:33:1"},{"nativeSrc":"2534:17:1","nodeType":"YulAssignment","src":"2534:17:1","value":{"name":"value_1","nativeSrc":"2544:7:1","nodeType":"YulIdentifier","src":"2544:7:1"},"variableNames":[{"name":"value1","nativeSrc":"2534:6:1","nodeType":"YulIdentifier","src":"2534:6:1"}]},{"nativeSrc":"2560:16:1","nodeType":"YulVariableDeclaration","src":"2560:16:1","value":{"kind":"number","nativeSrc":"2575:1:1","nodeType":"YulLiteral","src":"2575:1:1","type":"","value":"0"},"variables":[{"name":"value_2","nativeSrc":"2564:7:1","nodeType":"YulTypedName","src":"2564:7:1","type":""}]},{"nativeSrc":"2585:43:1","nodeType":"YulAssignment","src":"2585:43:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2613:9:1","nodeType":"YulIdentifier","src":"2613:9:1"},{"kind":"number","nativeSrc":"2624:2:1","nodeType":"YulLiteral","src":"2624:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"2609:3:1","nodeType":"YulIdentifier","src":"2609:3:1"},"nativeSrc":"2609:18:1","nodeType":"YulFunctionCall","src":"2609:18:1"}],"functionName":{"name":"calldataload","nativeSrc":"2596:12:1","nodeType":"YulIdentifier","src":"2596:12:1"},"nativeSrc":"2596:32:1","nodeType":"YulFunctionCall","src":"2596:32:1"},"variableNames":[{"name":"value_2","nativeSrc":"2585:7:1","nodeType":"YulIdentifier","src":"2585:7:1"}]},{"nativeSrc":"2637:17:1","nodeType":"YulAssignment","src":"2637:17:1","value":{"name":"value_2","nativeSrc":"2647:7:1","nodeType":"YulIdentifier","src":"2647:7:1"},"variableNames":[{"name":"value2","nativeSrc":"2637:6:1","nodeType":"YulIdentifier","src":"2637:6:1"}]},{"nativeSrc":"2663:16:1","nodeType":"YulVariableDeclaration","src":"2663:16:1","value":{"kind":"number","nativeSrc":"2678:1:1","nodeType":"YulLiteral","src":"2678:1:1","type":"","value":"0"},"variables":[{"name":"value_3","nativeSrc":"2667:7:1","nodeType":"YulTypedName","src":"2667:7:1","type":""}]},{"nativeSrc":"2688:43:1","nodeType":"YulAssignment","src":"2688:43:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2716:9:1","nodeType":"YulIdentifier","src":"2716:9:1"},{"kind":"number","nativeSrc":"2727:2:1","nodeType":"YulLiteral","src":"2727:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"2712:3:1","nodeType":"YulIdentifier","src":"2712:3:1"},"nativeSrc":"2712:18:1","nodeType":"YulFunctionCall","src":"2712:18:1"}],"functionName":{"name":"calldataload","nativeSrc":"2699:12:1","nodeType":"YulIdentifier","src":"2699:12:1"},"nativeSrc":"2699:32:1","nodeType":"YulFunctionCall","src":"2699:32:1"},"variableNames":[{"name":"value_3","nativeSrc":"2688:7:1","nodeType":"YulIdentifier","src":"2688:7:1"}]},{"nativeSrc":"2740:17:1","nodeType":"YulAssignment","src":"2740:17:1","value":{"name":"value_3","nativeSrc":"2750:7:1","nodeType":"YulIdentifier","src":"2750:7:1"},"variableNames":[{"name":"value3","nativeSrc":"2740:6:1","nodeType":"YulIdentifier","src":"2740:6:1"}]},{"nativeSrc":"2766:16:1","nodeType":"YulVariableDeclaration","src":"2766:16:1","value":{"kind":"number","nativeSrc":"2781:1:1","nodeType":"YulLiteral","src":"2781:1:1","type":"","value":"0"},"variables":[{"name":"value_4","nativeSrc":"2770:7:1","nodeType":"YulTypedName","src":"2770:7:1","type":""}]},{"nativeSrc":"2791:44:1","nodeType":"YulAssignment","src":"2791:44:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2819:9:1","nodeType":"YulIdentifier","src":"2819:9:1"},{"kind":"number","nativeSrc":"2830:3:1","nodeType":"YulLiteral","src":"2830:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"2815:3:1","nodeType":"YulIdentifier","src":"2815:3:1"},"nativeSrc":"2815:19:1","nodeType":"YulFunctionCall","src":"2815:19:1"}],"functionName":{"name":"calldataload","nativeSrc":"2802:12:1","nodeType":"YulIdentifier","src":"2802:12:1"},"nativeSrc":"2802:33:1","nodeType":"YulFunctionCall","src":"2802:33:1"},"variableNames":[{"name":"value_4","nativeSrc":"2791:7:1","nodeType":"YulIdentifier","src":"2791:7:1"}]},{"nativeSrc":"2844:17:1","nodeType":"YulAssignment","src":"2844:17:1","value":{"name":"value_4","nativeSrc":"2854:7:1","nodeType":"YulIdentifier","src":"2854:7:1"},"variableNames":[{"name":"value4","nativeSrc":"2844:6:1","nodeType":"YulIdentifier","src":"2844:6:1"}]},{"nativeSrc":"2870:16:1","nodeType":"YulVariableDeclaration","src":"2870:16:1","value":{"kind":"number","nativeSrc":"2885:1:1","nodeType":"YulLiteral","src":"2885:1:1","type":"","value":"0"},"variables":[{"name":"value_5","nativeSrc":"2874:7:1","nodeType":"YulTypedName","src":"2874:7:1","type":""}]},{"nativeSrc":"2895:44:1","nodeType":"YulAssignment","src":"2895:44:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2923:9:1","nodeType":"YulIdentifier","src":"2923:9:1"},{"kind":"number","nativeSrc":"2934:3:1","nodeType":"YulLiteral","src":"2934:3:1","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"2919:3:1","nodeType":"YulIdentifier","src":"2919:3:1"},"nativeSrc":"2919:19:1","nodeType":"YulFunctionCall","src":"2919:19:1"}],"functionName":{"name":"calldataload","nativeSrc":"2906:12:1","nodeType":"YulIdentifier","src":"2906:12:1"},"nativeSrc":"2906:33:1","nodeType":"YulFunctionCall","src":"2906:33:1"},"variableNames":[{"name":"value_5","nativeSrc":"2895:7:1","nodeType":"YulIdentifier","src":"2895:7:1"}]},{"nativeSrc":"2948:17:1","nodeType":"YulAssignment","src":"2948:17:1","value":{"name":"value_5","nativeSrc":"2958:7:1","nodeType":"YulIdentifier","src":"2958:7:1"},"variableNames":[{"name":"value5","nativeSrc":"2948:6:1","nodeType":"YulIdentifier","src":"2948:6:1"}]},{"nativeSrc":"2974:16:1","nodeType":"YulVariableDeclaration","src":"2974:16:1","value":{"kind":"number","nativeSrc":"2989:1:1","nodeType":"YulLiteral","src":"2989:1:1","type":"","value":"0"},"variables":[{"name":"value_6","nativeSrc":"2978:7:1","nodeType":"YulTypedName","src":"2978:7:1","type":""}]},{"nativeSrc":"2999:44:1","nodeType":"YulAssignment","src":"2999:44:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3027:9:1","nodeType":"YulIdentifier","src":"3027:9:1"},{"kind":"number","nativeSrc":"3038:3:1","nodeType":"YulLiteral","src":"3038:3:1","type":"","value":"192"}],"functionName":{"name":"add","nativeSrc":"3023:3:1","nodeType":"YulIdentifier","src":"3023:3:1"},"nativeSrc":"3023:19:1","nodeType":"YulFunctionCall","src":"3023:19:1"}],"functionName":{"name":"calldataload","nativeSrc":"3010:12:1","nodeType":"YulIdentifier","src":"3010:12:1"},"nativeSrc":"3010:33:1","nodeType":"YulFunctionCall","src":"3010:33:1"},"variableNames":[{"name":"value_6","nativeSrc":"2999:7:1","nodeType":"YulIdentifier","src":"2999:7:1"}]},{"nativeSrc":"3052:17:1","nodeType":"YulAssignment","src":"3052:17:1","value":{"name":"value_6","nativeSrc":"3062:7:1","nodeType":"YulIdentifier","src":"3062:7:1"},"variableNames":[{"name":"value6","nativeSrc":"3052:6:1","nodeType":"YulIdentifier","src":"3052:6:1"}]},{"nativeSrc":"3078:16:1","nodeType":"YulVariableDeclaration","src":"3078:16:1","value":{"kind":"number","nativeSrc":"3093:1:1","nodeType":"YulLiteral","src":"3093:1:1","type":"","value":"0"},"variables":[{"name":"value_7","nativeSrc":"3082:7:1","nodeType":"YulTypedName","src":"3082:7:1","type":""}]},{"nativeSrc":"3103:44:1","nodeType":"YulAssignment","src":"3103:44:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3131:9:1","nodeType":"YulIdentifier","src":"3131:9:1"},{"kind":"number","nativeSrc":"3142:3:1","nodeType":"YulLiteral","src":"3142:3:1","type":"","value":"224"}],"functionName":{"name":"add","nativeSrc":"3127:3:1","nodeType":"YulIdentifier","src":"3127:3:1"},"nativeSrc":"3127:19:1","nodeType":"YulFunctionCall","src":"3127:19:1"}],"functionName":{"name":"calldataload","nativeSrc":"3114:12:1","nodeType":"YulIdentifier","src":"3114:12:1"},"nativeSrc":"3114:33:1","nodeType":"YulFunctionCall","src":"3114:33:1"},"variableNames":[{"name":"value_7","nativeSrc":"3103:7:1","nodeType":"YulIdentifier","src":"3103:7:1"}]},{"nativeSrc":"3156:17:1","nodeType":"YulAssignment","src":"3156:17:1","value":{"name":"value_7","nativeSrc":"3166:7:1","nodeType":"YulIdentifier","src":"3166:7:1"},"variableNames":[{"name":"value7","nativeSrc":"3156:6:1","nodeType":"YulIdentifier","src":"3156:6:1"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint256t_uint256t_uint256t_uint256","nativeSrc":"2066:1113:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"2165:9:1","nodeType":"YulTypedName","src":"2165:9:1","type":""},{"name":"dataEnd","nativeSrc":"2176:7:1","nodeType":"YulTypedName","src":"2176:7:1","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"2188:6:1","nodeType":"YulTypedName","src":"2188:6:1","type":""},{"name":"value1","nativeSrc":"2196:6:1","nodeType":"YulTypedName","src":"2196:6:1","type":""},{"name":"value2","nativeSrc":"2204:6:1","nodeType":"YulTypedName","src":"2204:6:1","type":""},{"name":"value3","nativeSrc":"2212:6:1","nodeType":"YulTypedName","src":"2212:6:1","type":""},{"name":"value4","nativeSrc":"2220:6:1","nodeType":"YulTypedName","src":"2220:6:1","type":""},{"name":"value5","nativeSrc":"2228:6:1","nodeType":"YulTypedName","src":"2228:6:1","type":""},{"name":"value6","nativeSrc":"2236:6:1","nodeType":"YulTypedName","src":"2236:6:1","type":""},{"name":"value7","nativeSrc":"2244:6:1","nodeType":"YulTypedName","src":"2244:6:1","type":""}],"src":"2066:1113:1"},{"body":{"nativeSrc":"3358:169:1","nodeType":"YulBlock","src":"3358:169:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"3375:9:1","nodeType":"YulIdentifier","src":"3375:9:1"},{"kind":"number","nativeSrc":"3386:2:1","nodeType":"YulLiteral","src":"3386:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"3368:6:1","nodeType":"YulIdentifier","src":"3368:6:1"},"nativeSrc":"3368:21:1","nodeType":"YulFunctionCall","src":"3368:21:1"},"nativeSrc":"3368:21:1","nodeType":"YulExpressionStatement","src":"3368:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3409:9:1","nodeType":"YulIdentifier","src":"3409:9:1"},{"kind":"number","nativeSrc":"3420:2:1","nodeType":"YulLiteral","src":"3420:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"3405:3:1","nodeType":"YulIdentifier","src":"3405:3:1"},"nativeSrc":"3405:18:1","nodeType":"YulFunctionCall","src":"3405:18:1"},{"kind":"number","nativeSrc":"3425:2:1","nodeType":"YulLiteral","src":"3425:2:1","type":"","value":"19"}],"functionName":{"name":"mstore","nativeSrc":"3398:6:1","nodeType":"YulIdentifier","src":"3398:6:1"},"nativeSrc":"3398:30:1","nodeType":"YulFunctionCall","src":"3398:30:1"},"nativeSrc":"3398:30:1","nodeType":"YulExpressionStatement","src":"3398:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3448:9:1","nodeType":"YulIdentifier","src":"3448:9:1"},{"kind":"number","nativeSrc":"3459:2:1","nodeType":"YulLiteral","src":"3459:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"3444:3:1","nodeType":"YulIdentifier","src":"3444:3:1"},"nativeSrc":"3444:18:1","nodeType":"YulFunctionCall","src":"3444:18:1"},{"hexValue":"626f6f737420686173206e6f20657870697279","kind":"string","nativeSrc":"3464:21:1","nodeType":"YulLiteral","src":"3464:21:1","type":"","value":"boost has no expiry"}],"functionName":{"name":"mstore","nativeSrc":"3437:6:1","nodeType":"YulIdentifier","src":"3437:6:1"},"nativeSrc":"3437:49:1","nodeType":"YulFunctionCall","src":"3437:49:1"},"nativeSrc":"3437:49:1","nodeType":"YulExpressionStatement","src":"3437:49:1"},{"nativeSrc":"3495:26:1","nodeType":"YulAssignment","src":"3495:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"3507:9:1","nodeType":"YulIdentifier","src":"3507:9:1"},{"kind":"number","nativeSrc":"3518:2:1","nodeType":"YulLiteral","src":"3518:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"3503:3:1","nodeType":"YulIdentifier","src":"3503:3:1"},"nativeSrc":"3503:18:1","nodeType":"YulFunctionCall","src":"3503:18:1"},"variableNames":[{"name":"tail","nativeSrc":"3495:4:1","nodeType":"YulIdentifier","src":"3495:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_a849a16894184b1d7b6fc963510f32148fc8eb91616e65986ad26c0dfa5cb53a__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"3184:343:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"3335:9:1","nodeType":"YulTypedName","src":"3335:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"3349:4:1","nodeType":"YulTypedName","src":"3349:4:1","type":""}],"src":"3184:343:1"},{"body":{"nativeSrc":"3706:163:1","nodeType":"YulBlock","src":"3706:163:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"3723:9:1","nodeType":"YulIdentifier","src":"3723:9:1"},{"kind":"number","nativeSrc":"3734:2:1","nodeType":"YulLiteral","src":"3734:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"3716:6:1","nodeType":"YulIdentifier","src":"3716:6:1"},"nativeSrc":"3716:21:1","nodeType":"YulFunctionCall","src":"3716:21:1"},"nativeSrc":"3716:21:1","nodeType":"YulExpressionStatement","src":"3716:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3757:9:1","nodeType":"YulIdentifier","src":"3757:9:1"},{"kind":"number","nativeSrc":"3768:2:1","nodeType":"YulLiteral","src":"3768:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"3753:3:1","nodeType":"YulIdentifier","src":"3753:3:1"},"nativeSrc":"3753:18:1","nodeType":"YulFunctionCall","src":"3753:18:1"},{"kind":"number","nativeSrc":"3773:2:1","nodeType":"YulLiteral","src":"3773:2:1","type":"","value":"13"}],"functionName":{"name":"mstore","nativeSrc":"3746:6:1","nodeType":"YulIdentifier","src":"3746:6:1"},"nativeSrc":"3746:30:1","nodeType":"YulFunctionCall","src":"3746:30:1"},"nativeSrc":"3746:30:1","nodeType":"YulExpressionStatement","src":"3746:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3796:9:1","nodeType":"YulIdentifier","src":"3796:9:1"},{"kind":"number","nativeSrc":"3807:2:1","nodeType":"YulLiteral","src":"3807:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"3792:3:1","nodeType":"YulIdentifier","src":"3792:3:1"},"nativeSrc":"3792:18:1","nodeType":"YulFunctionCall","src":"3792:18:1"},{"hexValue":"626f6f73742065787069726564","kind":"string","nativeSrc":"3812:15:1","nodeType":"YulLiteral","src":"3812:15:1","type":"","value":"boost expired"}],"functionName":{"name":"mstore","nativeSrc":"3785:6:1","nodeType":"YulIdentifier","src":"3785:6:1"},"nativeSrc":"3785:43:1","nodeType":"YulFunctionCall","src":"3785:43:1"},"nativeSrc":"3785:43:1","nodeType":"YulExpressionStatement","src":"3785:43:1"},{"nativeSrc":"3837:26:1","nodeType":"YulAssignment","src":"3837:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"3849:9:1","nodeType":"YulIdentifier","src":"3849:9:1"},{"kind":"number","nativeSrc":"3860:2:1","nodeType":"YulLiteral","src":"3860:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"3845:3:1","nodeType":"YulIdentifier","src":"3845:3:1"},"nativeSrc":"3845:18:1","nodeType":"YulFunctionCall","src":"3845:18:1"},"variableNames":[{"name":"tail","nativeSrc":"3837:4:1","nodeType":"YulIdentifier","src":"3837:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_a0f16d37fb203ccfe47ebc77955d3b7cb380c78925cdc45c99a1f866d03687bd__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"3532:337:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"3683:9:1","nodeType":"YulTypedName","src":"3683:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"3697:4:1","nodeType":"YulTypedName","src":"3697:4:1","type":""}],"src":"3532:337:1"},{"body":{"nativeSrc":"4048:170:1","nodeType":"YulBlock","src":"4048:170:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"4065:9:1","nodeType":"YulIdentifier","src":"4065:9:1"},{"kind":"number","nativeSrc":"4076:2:1","nodeType":"YulLiteral","src":"4076:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"4058:6:1","nodeType":"YulIdentifier","src":"4058:6:1"},"nativeSrc":"4058:21:1","nodeType":"YulFunctionCall","src":"4058:21:1"},"nativeSrc":"4058:21:1","nodeType":"YulExpressionStatement","src":"4058:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4099:9:1","nodeType":"YulIdentifier","src":"4099:9:1"},{"kind":"number","nativeSrc":"4110:2:1","nodeType":"YulLiteral","src":"4110:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4095:3:1","nodeType":"YulIdentifier","src":"4095:3:1"},"nativeSrc":"4095:18:1","nodeType":"YulFunctionCall","src":"4095:18:1"},{"kind":"number","nativeSrc":"4115:2:1","nodeType":"YulLiteral","src":"4115:2:1","type":"","value":"20"}],"functionName":{"name":"mstore","nativeSrc":"4088:6:1","nodeType":"YulIdentifier","src":"4088:6:1"},"nativeSrc":"4088:30:1","nodeType":"YulFunctionCall","src":"4088:30:1"},"nativeSrc":"4088:30:1","nodeType":"YulExpressionStatement","src":"4088:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4138:9:1","nodeType":"YulIdentifier","src":"4138:9:1"},{"kind":"number","nativeSrc":"4149:2:1","nodeType":"YulLiteral","src":"4149:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"4134:3:1","nodeType":"YulIdentifier","src":"4134:3:1"},"nativeSrc":"4134:18:1","nodeType":"YulFunctionCall","src":"4134:18:1"},{"hexValue":"626f6f737420686173206e6f206365696c696e67","kind":"string","nativeSrc":"4154:22:1","nodeType":"YulLiteral","src":"4154:22:1","type":"","value":"boost has no ceiling"}],"functionName":{"name":"mstore","nativeSrc":"4127:6:1","nodeType":"YulIdentifier","src":"4127:6:1"},"nativeSrc":"4127:50:1","nodeType":"YulFunctionCall","src":"4127:50:1"},"nativeSrc":"4127:50:1","nodeType":"YulExpressionStatement","src":"4127:50:1"},{"nativeSrc":"4186:26:1","nodeType":"YulAssignment","src":"4186:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"4198:9:1","nodeType":"YulIdentifier","src":"4198:9:1"},{"kind":"number","nativeSrc":"4209:2:1","nodeType":"YulLiteral","src":"4209:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"4194:3:1","nodeType":"YulIdentifier","src":"4194:3:1"},"nativeSrc":"4194:18:1","nodeType":"YulFunctionCall","src":"4194:18:1"},"variableNames":[{"name":"tail","nativeSrc":"4186:4:1","nodeType":"YulIdentifier","src":"4186:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_4a546485c9d2682edf588693bae6e77babc71f88a38fae98dd3c873a3e76f3f3__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"3874:344:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4025:9:1","nodeType":"YulTypedName","src":"4025:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"4039:4:1","nodeType":"YulTypedName","src":"4039:4:1","type":""}],"src":"3874:344:1"},{"body":{"nativeSrc":"4397:173:1","nodeType":"YulBlock","src":"4397:173:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"4414:9:1","nodeType":"YulIdentifier","src":"4414:9:1"},{"kind":"number","nativeSrc":"4425:2:1","nodeType":"YulLiteral","src":"4425:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"4407:6:1","nodeType":"YulIdentifier","src":"4407:6:1"},"nativeSrc":"4407:21:1","nodeType":"YulFunctionCall","src":"4407:21:1"},"nativeSrc":"4407:21:1","nodeType":"YulExpressionStatement","src":"4407:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4448:9:1","nodeType":"YulIdentifier","src":"4448:9:1"},{"kind":"number","nativeSrc":"4459:2:1","nodeType":"YulLiteral","src":"4459:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4444:3:1","nodeType":"YulIdentifier","src":"4444:3:1"},"nativeSrc":"4444:18:1","nodeType":"YulFunctionCall","src":"4444:18:1"},{"kind":"number","nativeSrc":"4464:2:1","nodeType":"YulLiteral","src":"4464:2:1","type":"","value":"23"}],"functionName":{"name":"mstore","nativeSrc":"4437:6:1","nodeType":"YulIdentifier","src":"4437:6:1"},"nativeSrc":"4437:30:1","nodeType":"YulFunctionCall","src":"4437:30:1"},"nativeSrc":"4437:30:1","nodeType":"YulExpressionStatement","src":"4437:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4487:9:1","nodeType":"YulIdentifier","src":"4487:9:1"},{"kind":"number","nativeSrc":"4498:2:1","nodeType":"YulLiteral","src":"4498:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"4483:3:1","nodeType":"YulIdentifier","src":"4483:3:1"},"nativeSrc":"4483:18:1","nodeType":"YulFunctionCall","src":"4483:18:1"},{"hexValue":"626f6f737420616c72656164792070726573656e746564","kind":"string","nativeSrc":"4503:25:1","nodeType":"YulLiteral","src":"4503:25:1","type":"","value":"boost already presented"}],"functionName":{"name":"mstore","nativeSrc":"4476:6:1","nodeType":"YulIdentifier","src":"4476:6:1"},"nativeSrc":"4476:53:1","nodeType":"YulFunctionCall","src":"4476:53:1"},"nativeSrc":"4476:53:1","nodeType":"YulExpressionStatement","src":"4476:53:1"},{"nativeSrc":"4538:26:1","nodeType":"YulAssignment","src":"4538:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"4550:9:1","nodeType":"YulIdentifier","src":"4550:9:1"},{"kind":"number","nativeSrc":"4561:2:1","nodeType":"YulLiteral","src":"4561:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"4546:3:1","nodeType":"YulIdentifier","src":"4546:3:1"},"nativeSrc":"4546:18:1","nodeType":"YulFunctionCall","src":"4546:18:1"},"variableNames":[{"name":"tail","nativeSrc":"4538:4:1","nodeType":"YulIdentifier","src":"4538:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_5e465502739888938a8e414298e6e02e815fbcadb796b4114783bd32fb659aae__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"4223:347:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4374:9:1","nodeType":"YulTypedName","src":"4374:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"4388:4:1","nodeType":"YulTypedName","src":"4388:4:1","type":""}],"src":"4223:347:1"},{"body":{"nativeSrc":"4749:172:1","nodeType":"YulBlock","src":"4749:172:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"4766:9:1","nodeType":"YulIdentifier","src":"4766:9:1"},{"kind":"number","nativeSrc":"4777:2:1","nodeType":"YulLiteral","src":"4777:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"4759:6:1","nodeType":"YulIdentifier","src":"4759:6:1"},"nativeSrc":"4759:21:1","nodeType":"YulFunctionCall","src":"4759:21:1"},"nativeSrc":"4759:21:1","nodeType":"YulExpressionStatement","src":"4759:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4800:9:1","nodeType":"YulIdentifier","src":"4800:9:1"},{"kind":"number","nativeSrc":"4811:2:1","nodeType":"YulLiteral","src":"4811:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4796:3:1","nodeType":"YulIdentifier","src":"4796:3:1"},"nativeSrc":"4796:18:1","nodeType":"YulFunctionCall","src":"4796:18:1"},{"kind":"number","nativeSrc":"4816:2:1","nodeType":"YulLiteral","src":"4816:2:1","type":"","value":"22"}],"functionName":{"name":"mstore","nativeSrc":"4789:6:1","nodeType":"YulIdentifier","src":"4789:6:1"},"nativeSrc":"4789:30:1","nodeType":"YulFunctionCall","src":"4789:30:1"},"nativeSrc":"4789:30:1","nodeType":"YulExpressionStatement","src":"4789:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4839:9:1","nodeType":"YulIdentifier","src":"4839:9:1"},{"kind":"number","nativeSrc":"4850:2:1","nodeType":"YulLiteral","src":"4850:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"4835:3:1","nodeType":"YulIdentifier","src":"4835:3:1"},"nativeSrc":"4835:18:1","nodeType":"YulFunctionCall","src":"4835:18:1"},{"hexValue":"626f6f73742065706f63682073757065727365646564","kind":"string","nativeSrc":"4855:24:1","nodeType":"YulLiteral","src":"4855:24:1","type":"","value":"boost epoch superseded"}],"functionName":{"name":"mstore","nativeSrc":"4828:6:1","nodeType":"YulIdentifier","src":"4828:6:1"},"nativeSrc":"4828:52:1","nodeType":"YulFunctionCall","src":"4828:52:1"},"nativeSrc":"4828:52:1","nodeType":"YulExpressionStatement","src":"4828:52:1"},{"nativeSrc":"4889:26:1","nodeType":"YulAssignment","src":"4889:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"4901:9:1","nodeType":"YulIdentifier","src":"4901:9:1"},{"kind":"number","nativeSrc":"4912:2:1","nodeType":"YulLiteral","src":"4912:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"4897:3:1","nodeType":"YulIdentifier","src":"4897:3:1"},"nativeSrc":"4897:18:1","nodeType":"YulFunctionCall","src":"4897:18:1"},"variableNames":[{"name":"tail","nativeSrc":"4889:4:1","nodeType":"YulIdentifier","src":"4889:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_0a77b7ed6006c2927fdd222aa2cd03e14108055f00a085dc54bff7b262ab2019__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"4575:346:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4726:9:1","nodeType":"YulTypedName","src":"4726:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"4740:4:1","nodeType":"YulTypedName","src":"4740:4:1","type":""}],"src":"4575:346:1"},{"body":{"nativeSrc":"5027:102:1","nodeType":"YulBlock","src":"5027:102:1","statements":[{"nativeSrc":"5037:26:1","nodeType":"YulAssignment","src":"5037:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"5049:9:1","nodeType":"YulIdentifier","src":"5049:9:1"},{"kind":"number","nativeSrc":"5060:2:1","nodeType":"YulLiteral","src":"5060:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5045:3:1","nodeType":"YulIdentifier","src":"5045:3:1"},"nativeSrc":"5045:18:1","nodeType":"YulFunctionCall","src":"5045:18:1"},"variableNames":[{"name":"tail","nativeSrc":"5037:4:1","nodeType":"YulIdentifier","src":"5037:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"5079:9:1","nodeType":"YulIdentifier","src":"5079:9:1"},{"arguments":[{"name":"value0","nativeSrc":"5094:6:1","nodeType":"YulIdentifier","src":"5094:6:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"5110:3:1","nodeType":"YulLiteral","src":"5110:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"5115:1:1","nodeType":"YulLiteral","src":"5115:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"5106:3:1","nodeType":"YulIdentifier","src":"5106:3:1"},"nativeSrc":"5106:11:1","nodeType":"YulFunctionCall","src":"5106:11:1"},{"kind":"number","nativeSrc":"5119:1:1","nodeType":"YulLiteral","src":"5119:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"5102:3:1","nodeType":"YulIdentifier","src":"5102:3:1"},"nativeSrc":"5102:19:1","nodeType":"YulFunctionCall","src":"5102:19:1"}],"functionName":{"name":"and","nativeSrc":"5090:3:1","nodeType":"YulIdentifier","src":"5090:3:1"},"nativeSrc":"5090:32:1","nodeType":"YulFunctionCall","src":"5090:32:1"}],"functionName":{"name":"mstore","nativeSrc":"5072:6:1","nodeType":"YulIdentifier","src":"5072:6:1"},"nativeSrc":"5072:51:1","nodeType":"YulFunctionCall","src":"5072:51:1"},"nativeSrc":"5072:51:1","nodeType":"YulExpressionStatement","src":"5072:51:1"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nativeSrc":"4926:203:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4996:9:1","nodeType":"YulTypedName","src":"4996:9:1","type":""},{"name":"value0","nativeSrc":"5007:6:1","nodeType":"YulTypedName","src":"5007:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5018:4:1","nodeType":"YulTypedName","src":"5018:4:1","type":""}],"src":"4926:203:1"},{"body":{"nativeSrc":"5212:199:1","nodeType":"YulBlock","src":"5212:199:1","statements":[{"body":{"nativeSrc":"5258:16:1","nodeType":"YulBlock","src":"5258:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5267:1:1","nodeType":"YulLiteral","src":"5267:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"5270:1:1","nodeType":"YulLiteral","src":"5270:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"5260:6:1","nodeType":"YulIdentifier","src":"5260:6:1"},"nativeSrc":"5260:12:1","nodeType":"YulFunctionCall","src":"5260:12:1"},"nativeSrc":"5260:12:1","nodeType":"YulExpressionStatement","src":"5260:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"5233:7:1","nodeType":"YulIdentifier","src":"5233:7:1"},{"name":"headStart","nativeSrc":"5242:9:1","nodeType":"YulIdentifier","src":"5242:9:1"}],"functionName":{"name":"sub","nativeSrc":"5229:3:1","nodeType":"YulIdentifier","src":"5229:3:1"},"nativeSrc":"5229:23:1","nodeType":"YulFunctionCall","src":"5229:23:1"},{"kind":"number","nativeSrc":"5254:2:1","nodeType":"YulLiteral","src":"5254:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"5225:3:1","nodeType":"YulIdentifier","src":"5225:3:1"},"nativeSrc":"5225:32:1","nodeType":"YulFunctionCall","src":"5225:32:1"},"nativeSrc":"5222:52:1","nodeType":"YulIf","src":"5222:52:1"},{"nativeSrc":"5283:29:1","nodeType":"YulVariableDeclaration","src":"5283:29:1","value":{"arguments":[{"name":"headStart","nativeSrc":"5302:9:1","nodeType":"YulIdentifier","src":"5302:9:1"}],"functionName":{"name":"mload","nativeSrc":"5296:5:1","nodeType":"YulIdentifier","src":"5296:5:1"},"nativeSrc":"5296:16:1","nodeType":"YulFunctionCall","src":"5296:16:1"},"variables":[{"name":"value","nativeSrc":"5287:5:1","nodeType":"YulTypedName","src":"5287:5:1","type":""}]},{"body":{"nativeSrc":"5365:16:1","nodeType":"YulBlock","src":"5365:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5374:1:1","nodeType":"YulLiteral","src":"5374:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"5377:1:1","nodeType":"YulLiteral","src":"5377:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"5367:6:1","nodeType":"YulIdentifier","src":"5367:6:1"},"nativeSrc":"5367:12:1","nodeType":"YulFunctionCall","src":"5367:12:1"},"nativeSrc":"5367:12:1","nodeType":"YulExpressionStatement","src":"5367:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5334:5:1","nodeType":"YulIdentifier","src":"5334:5:1"},{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5355:5:1","nodeType":"YulIdentifier","src":"5355:5:1"}],"functionName":{"name":"iszero","nativeSrc":"5348:6:1","nodeType":"YulIdentifier","src":"5348:6:1"},"nativeSrc":"5348:13:1","nodeType":"YulFunctionCall","src":"5348:13:1"}],"functionName":{"name":"iszero","nativeSrc":"5341:6:1","nodeType":"YulIdentifier","src":"5341:6:1"},"nativeSrc":"5341:21:1","nodeType":"YulFunctionCall","src":"5341:21:1"}],"functionName":{"name":"eq","nativeSrc":"5331:2:1","nodeType":"YulIdentifier","src":"5331:2:1"},"nativeSrc":"5331:32:1","nodeType":"YulFunctionCall","src":"5331:32:1"}],"functionName":{"name":"iszero","nativeSrc":"5324:6:1","nodeType":"YulIdentifier","src":"5324:6:1"},"nativeSrc":"5324:40:1","nodeType":"YulFunctionCall","src":"5324:40:1"},"nativeSrc":"5321:60:1","nodeType":"YulIf","src":"5321:60:1"},{"nativeSrc":"5390:15:1","nodeType":"YulAssignment","src":"5390:15:1","value":{"name":"value","nativeSrc":"5400:5:1","nodeType":"YulIdentifier","src":"5400:5:1"},"variableNames":[{"name":"value0","nativeSrc":"5390:6:1","nodeType":"YulIdentifier","src":"5390:6:1"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nativeSrc":"5134:277:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5178:9:1","nodeType":"YulTypedName","src":"5178:9:1","type":""},{"name":"dataEnd","nativeSrc":"5189:7:1","nodeType":"YulTypedName","src":"5189:7:1","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"5201:6:1","nodeType":"YulTypedName","src":"5201:6:1","type":""}],"src":"5134:277:1"},{"body":{"nativeSrc":"5590:235:1","nodeType":"YulBlock","src":"5590:235:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"5607:9:1","nodeType":"YulIdentifier","src":"5607:9:1"},{"kind":"number","nativeSrc":"5618:2:1","nodeType":"YulLiteral","src":"5618:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"5600:6:1","nodeType":"YulIdentifier","src":"5600:6:1"},"nativeSrc":"5600:21:1","nodeType":"YulFunctionCall","src":"5600:21:1"},"nativeSrc":"5600:21:1","nodeType":"YulExpressionStatement","src":"5600:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5641:9:1","nodeType":"YulIdentifier","src":"5641:9:1"},{"kind":"number","nativeSrc":"5652:2:1","nodeType":"YulLiteral","src":"5652:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5637:3:1","nodeType":"YulIdentifier","src":"5637:3:1"},"nativeSrc":"5637:18:1","nodeType":"YulFunctionCall","src":"5637:18:1"},{"kind":"number","nativeSrc":"5657:2:1","nodeType":"YulLiteral","src":"5657:2:1","type":"","value":"45"}],"functionName":{"name":"mstore","nativeSrc":"5630:6:1","nodeType":"YulIdentifier","src":"5630:6:1"},"nativeSrc":"5630:30:1","nodeType":"YulFunctionCall","src":"5630:30:1"},"nativeSrc":"5630:30:1","nodeType":"YulExpressionStatement","src":"5630:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5680:9:1","nodeType":"YulIdentifier","src":"5680:9:1"},{"kind":"number","nativeSrc":"5691:2:1","nodeType":"YulLiteral","src":"5691:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"5676:3:1","nodeType":"YulIdentifier","src":"5676:3:1"},"nativeSrc":"5676:18:1","nodeType":"YulFunctionCall","src":"5676:18:1"},{"hexValue":"74686973207665726966696572206973206e6f742061207269766574206f6620","kind":"string","nativeSrc":"5696:34:1","nodeType":"YulLiteral","src":"5696:34:1","type":"","value":"this verifier is not a rivet of "}],"functionName":{"name":"mstore","nativeSrc":"5669:6:1","nodeType":"YulIdentifier","src":"5669:6:1"},"nativeSrc":"5669:62:1","nodeType":"YulFunctionCall","src":"5669:62:1"},"nativeSrc":"5669:62:1","nodeType":"YulExpressionStatement","src":"5669:62:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5751:9:1","nodeType":"YulIdentifier","src":"5751:9:1"},{"kind":"number","nativeSrc":"5762:2:1","nodeType":"YulLiteral","src":"5762:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"5747:3:1","nodeType":"YulIdentifier","src":"5747:3:1"},"nativeSrc":"5747:18:1","nodeType":"YulFunctionCall","src":"5747:18:1"},{"hexValue":"74686174206964656e74697479","kind":"string","nativeSrc":"5767:15:1","nodeType":"YulLiteral","src":"5767:15:1","type":"","value":"that identity"}],"functionName":{"name":"mstore","nativeSrc":"5740:6:1","nodeType":"YulIdentifier","src":"5740:6:1"},"nativeSrc":"5740:43:1","nodeType":"YulFunctionCall","src":"5740:43:1"},"nativeSrc":"5740:43:1","nodeType":"YulExpressionStatement","src":"5740:43:1"},{"nativeSrc":"5792:27:1","nodeType":"YulAssignment","src":"5792:27:1","value":{"arguments":[{"name":"headStart","nativeSrc":"5804:9:1","nodeType":"YulIdentifier","src":"5804:9:1"},{"kind":"number","nativeSrc":"5815:3:1","nodeType":"YulLiteral","src":"5815:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"5800:3:1","nodeType":"YulIdentifier","src":"5800:3:1"},"nativeSrc":"5800:19:1","nodeType":"YulFunctionCall","src":"5800:19:1"},"variableNames":[{"name":"tail","nativeSrc":"5792:4:1","nodeType":"YulIdentifier","src":"5792:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_bbf80e83d38686fa6d0412db9f76e38033de6c393a8310513aa9671bd80b890d__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"5416:409:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5567:9:1","nodeType":"YulTypedName","src":"5567:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5581:4:1","nodeType":"YulTypedName","src":"5581:4:1","type":""}],"src":"5416:409:1"},{"body":{"nativeSrc":"5908:177:1","nodeType":"YulBlock","src":"5908:177:1","statements":[{"body":{"nativeSrc":"5954:16:1","nodeType":"YulBlock","src":"5954:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5963:1:1","nodeType":"YulLiteral","src":"5963:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"5966:1:1","nodeType":"YulLiteral","src":"5966:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"5956:6:1","nodeType":"YulIdentifier","src":"5956:6:1"},"nativeSrc":"5956:12:1","nodeType":"YulFunctionCall","src":"5956:12:1"},"nativeSrc":"5956:12:1","nodeType":"YulExpressionStatement","src":"5956:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"5929:7:1","nodeType":"YulIdentifier","src":"5929:7:1"},{"name":"headStart","nativeSrc":"5938:9:1","nodeType":"YulIdentifier","src":"5938:9:1"}],"functionName":{"name":"sub","nativeSrc":"5925:3:1","nodeType":"YulIdentifier","src":"5925:3:1"},"nativeSrc":"5925:23:1","nodeType":"YulFunctionCall","src":"5925:23:1"},{"kind":"number","nativeSrc":"5950:2:1","nodeType":"YulLiteral","src":"5950:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"5921:3:1","nodeType":"YulIdentifier","src":"5921:3:1"},"nativeSrc":"5921:32:1","nodeType":"YulFunctionCall","src":"5921:32:1"},"nativeSrc":"5918:52:1","nodeType":"YulIf","src":"5918:52:1"},{"nativeSrc":"5979:36:1","nodeType":"YulVariableDeclaration","src":"5979:36:1","value":{"arguments":[{"name":"headStart","nativeSrc":"6005:9:1","nodeType":"YulIdentifier","src":"6005:9:1"}],"functionName":{"name":"calldataload","nativeSrc":"5992:12:1","nodeType":"YulIdentifier","src":"5992:12:1"},"nativeSrc":"5992:23:1","nodeType":"YulFunctionCall","src":"5992:23:1"},"variables":[{"name":"value","nativeSrc":"5983:5:1","nodeType":"YulTypedName","src":"5983:5:1","type":""}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"6049:5:1","nodeType":"YulIdentifier","src":"6049:5:1"}],"functionName":{"name":"validator_revert_address","nativeSrc":"6024:24:1","nodeType":"YulIdentifier","src":"6024:24:1"},"nativeSrc":"6024:31:1","nodeType":"YulFunctionCall","src":"6024:31:1"},"nativeSrc":"6024:31:1","nodeType":"YulExpressionStatement","src":"6024:31:1"},{"nativeSrc":"6064:15:1","nodeType":"YulAssignment","src":"6064:15:1","value":{"name":"value","nativeSrc":"6074:5:1","nodeType":"YulIdentifier","src":"6074:5:1"},"variableNames":[{"name":"value0","nativeSrc":"6064:6:1","nodeType":"YulIdentifier","src":"6064:6:1"}]}]},"name":"abi_decode_tuple_t_address_payable","nativeSrc":"5830:255:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5874:9:1","nodeType":"YulTypedName","src":"5874:9:1","type":""},{"name":"dataEnd","nativeSrc":"5885:7:1","nodeType":"YulTypedName","src":"5885:7:1","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"5897:6:1","nodeType":"YulTypedName","src":"5897:6:1","type":""}],"src":"5830:255:1"},{"body":{"nativeSrc":"6199:102:1","nodeType":"YulBlock","src":"6199:102:1","statements":[{"nativeSrc":"6209:26:1","nodeType":"YulAssignment","src":"6209:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"6221:9:1","nodeType":"YulIdentifier","src":"6221:9:1"},{"kind":"number","nativeSrc":"6232:2:1","nodeType":"YulLiteral","src":"6232:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6217:3:1","nodeType":"YulIdentifier","src":"6217:3:1"},"nativeSrc":"6217:18:1","nodeType":"YulFunctionCall","src":"6217:18:1"},"variableNames":[{"name":"tail","nativeSrc":"6209:4:1","nodeType":"YulIdentifier","src":"6209:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"6251:9:1","nodeType":"YulIdentifier","src":"6251:9:1"},{"arguments":[{"name":"value0","nativeSrc":"6266:6:1","nodeType":"YulIdentifier","src":"6266:6:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"6282:3:1","nodeType":"YulLiteral","src":"6282:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"6287:1:1","nodeType":"YulLiteral","src":"6287:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"6278:3:1","nodeType":"YulIdentifier","src":"6278:3:1"},"nativeSrc":"6278:11:1","nodeType":"YulFunctionCall","src":"6278:11:1"},{"kind":"number","nativeSrc":"6291:1:1","nodeType":"YulLiteral","src":"6291:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"6274:3:1","nodeType":"YulIdentifier","src":"6274:3:1"},"nativeSrc":"6274:19:1","nodeType":"YulFunctionCall","src":"6274:19:1"}],"functionName":{"name":"and","nativeSrc":"6262:3:1","nodeType":"YulIdentifier","src":"6262:3:1"},"nativeSrc":"6262:32:1","nodeType":"YulFunctionCall","src":"6262:32:1"}],"functionName":{"name":"mstore","nativeSrc":"6244:6:1","nodeType":"YulIdentifier","src":"6244:6:1"},"nativeSrc":"6244:51:1","nodeType":"YulFunctionCall","src":"6244:51:1"},"nativeSrc":"6244:51:1","nodeType":"YulExpressionStatement","src":"6244:51:1"}]},"name":"abi_encode_tuple_t_address_payable__to_t_address__fromStack_reversed","nativeSrc":"6090:211:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"6168:9:1","nodeType":"YulTypedName","src":"6168:9:1","type":""},{"name":"value0","nativeSrc":"6179:6:1","nodeType":"YulTypedName","src":"6179:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"6190:4:1","nodeType":"YulTypedName","src":"6190:4:1","type":""}],"src":"6090:211:1"},{"body":{"nativeSrc":"6480:182:1","nodeType":"YulBlock","src":"6480:182:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"6497:9:1","nodeType":"YulIdentifier","src":"6497:9:1"},{"kind":"number","nativeSrc":"6508:2:1","nodeType":"YulLiteral","src":"6508:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"6490:6:1","nodeType":"YulIdentifier","src":"6490:6:1"},"nativeSrc":"6490:21:1","nodeType":"YulFunctionCall","src":"6490:21:1"},"nativeSrc":"6490:21:1","nodeType":"YulExpressionStatement","src":"6490:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6531:9:1","nodeType":"YulIdentifier","src":"6531:9:1"},{"kind":"number","nativeSrc":"6542:2:1","nodeType":"YulLiteral","src":"6542:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6527:3:1","nodeType":"YulIdentifier","src":"6527:3:1"},"nativeSrc":"6527:18:1","nodeType":"YulFunctionCall","src":"6527:18:1"},{"kind":"number","nativeSrc":"6547:2:1","nodeType":"YulLiteral","src":"6547:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"6520:6:1","nodeType":"YulIdentifier","src":"6520:6:1"},"nativeSrc":"6520:30:1","nodeType":"YulFunctionCall","src":"6520:30:1"},"nativeSrc":"6520:30:1","nodeType":"YulExpressionStatement","src":"6520:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6570:9:1","nodeType":"YulIdentifier","src":"6570:9:1"},{"kind":"number","nativeSrc":"6581:2:1","nodeType":"YulLiteral","src":"6581:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"6566:3:1","nodeType":"YulIdentifier","src":"6566:3:1"},"nativeSrc":"6566:18:1","nodeType":"YulFunctionCall","src":"6566:18:1"},{"hexValue":"726563697069656e74206973206e6f7420616e20616374697665207269766574","kind":"string","nativeSrc":"6586:34:1","nodeType":"YulLiteral","src":"6586:34:1","type":"","value":"recipient is not an active rivet"}],"functionName":{"name":"mstore","nativeSrc":"6559:6:1","nodeType":"YulIdentifier","src":"6559:6:1"},"nativeSrc":"6559:62:1","nodeType":"YulFunctionCall","src":"6559:62:1"},"nativeSrc":"6559:62:1","nodeType":"YulExpressionStatement","src":"6559:62:1"},{"nativeSrc":"6630:26:1","nodeType":"YulAssignment","src":"6630:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"6642:9:1","nodeType":"YulIdentifier","src":"6642:9:1"},{"kind":"number","nativeSrc":"6653:2:1","nodeType":"YulLiteral","src":"6653:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"6638:3:1","nodeType":"YulIdentifier","src":"6638:3:1"},"nativeSrc":"6638:18:1","nodeType":"YulFunctionCall","src":"6638:18:1"},"variableNames":[{"name":"tail","nativeSrc":"6630:4:1","nodeType":"YulIdentifier","src":"6630:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_e393878fb837820f95cb2e7887bc2e58a8e32bbd668ae608cb3b3e321df40800__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"6306:356:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"6457:9:1","nodeType":"YulTypedName","src":"6457:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"6471:4:1","nodeType":"YulTypedName","src":"6471:4:1","type":""}],"src":"6306:356:1"},{"body":{"nativeSrc":"6824:302:1","nodeType":"YulBlock","src":"6824:302:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"6841:9:1","nodeType":"YulIdentifier","src":"6841:9:1"},{"name":"value0","nativeSrc":"6852:6:1","nodeType":"YulIdentifier","src":"6852:6:1"}],"functionName":{"name":"mstore","nativeSrc":"6834:6:1","nodeType":"YulIdentifier","src":"6834:6:1"},"nativeSrc":"6834:25:1","nodeType":"YulFunctionCall","src":"6834:25:1"},"nativeSrc":"6834:25:1","nodeType":"YulExpressionStatement","src":"6834:25:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6879:9:1","nodeType":"YulIdentifier","src":"6879:9:1"},{"kind":"number","nativeSrc":"6890:2:1","nodeType":"YulLiteral","src":"6890:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6875:3:1","nodeType":"YulIdentifier","src":"6875:3:1"},"nativeSrc":"6875:18:1","nodeType":"YulFunctionCall","src":"6875:18:1"},{"kind":"number","nativeSrc":"6895:2:1","nodeType":"YulLiteral","src":"6895:2:1","type":"","value":"64"}],"functionName":{"name":"mstore","nativeSrc":"6868:6:1","nodeType":"YulIdentifier","src":"6868:6:1"},"nativeSrc":"6868:30:1","nodeType":"YulFunctionCall","src":"6868:30:1"},"nativeSrc":"6868:30:1","nodeType":"YulExpressionStatement","src":"6868:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6918:9:1","nodeType":"YulIdentifier","src":"6918:9:1"},{"kind":"number","nativeSrc":"6929:2:1","nodeType":"YulLiteral","src":"6929:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"6914:3:1","nodeType":"YulIdentifier","src":"6914:3:1"},"nativeSrc":"6914:18:1","nodeType":"YulFunctionCall","src":"6914:18:1"},{"name":"value2","nativeSrc":"6934:6:1","nodeType":"YulIdentifier","src":"6934:6:1"}],"functionName":{"name":"mstore","nativeSrc":"6907:6:1","nodeType":"YulIdentifier","src":"6907:6:1"},"nativeSrc":"6907:34:1","nodeType":"YulFunctionCall","src":"6907:34:1"},"nativeSrc":"6907:34:1","nodeType":"YulExpressionStatement","src":"6907:34:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6967:9:1","nodeType":"YulIdentifier","src":"6967:9:1"},{"kind":"number","nativeSrc":"6978:2:1","nodeType":"YulLiteral","src":"6978:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"6963:3:1","nodeType":"YulIdentifier","src":"6963:3:1"},"nativeSrc":"6963:18:1","nodeType":"YulFunctionCall","src":"6963:18:1"},{"name":"value1","nativeSrc":"6983:6:1","nodeType":"YulIdentifier","src":"6983:6:1"},{"name":"value2","nativeSrc":"6991:6:1","nodeType":"YulIdentifier","src":"6991:6:1"}],"functionName":{"name":"calldatacopy","nativeSrc":"6950:12:1","nodeType":"YulIdentifier","src":"6950:12:1"},"nativeSrc":"6950:48:1","nodeType":"YulFunctionCall","src":"6950:48:1"},"nativeSrc":"6950:48:1","nodeType":"YulExpressionStatement","src":"6950:48:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"7022:9:1","nodeType":"YulIdentifier","src":"7022:9:1"},{"name":"value2","nativeSrc":"7033:6:1","nodeType":"YulIdentifier","src":"7033:6:1"}],"functionName":{"name":"add","nativeSrc":"7018:3:1","nodeType":"YulIdentifier","src":"7018:3:1"},"nativeSrc":"7018:22:1","nodeType":"YulFunctionCall","src":"7018:22:1"},{"kind":"number","nativeSrc":"7042:2:1","nodeType":"YulLiteral","src":"7042:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"7014:3:1","nodeType":"YulIdentifier","src":"7014:3:1"},"nativeSrc":"7014:31:1","nodeType":"YulFunctionCall","src":"7014:31:1"},{"kind":"number","nativeSrc":"7047:1:1","nodeType":"YulLiteral","src":"7047:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"7007:6:1","nodeType":"YulIdentifier","src":"7007:6:1"},"nativeSrc":"7007:42:1","nodeType":"YulFunctionCall","src":"7007:42:1"},"nativeSrc":"7007:42:1","nodeType":"YulExpressionStatement","src":"7007:42:1"},{"nativeSrc":"7058:62:1","nodeType":"YulAssignment","src":"7058:62:1","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"7074:9:1","nodeType":"YulIdentifier","src":"7074:9:1"},{"arguments":[{"arguments":[{"name":"value2","nativeSrc":"7093:6:1","nodeType":"YulIdentifier","src":"7093:6:1"},{"kind":"number","nativeSrc":"7101:2:1","nodeType":"YulLiteral","src":"7101:2:1","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"7089:3:1","nodeType":"YulIdentifier","src":"7089:3:1"},"nativeSrc":"7089:15:1","nodeType":"YulFunctionCall","src":"7089:15:1"},{"arguments":[{"kind":"number","nativeSrc":"7110:2:1","nodeType":"YulLiteral","src":"7110:2:1","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"7106:3:1","nodeType":"YulIdentifier","src":"7106:3:1"},"nativeSrc":"7106:7:1","nodeType":"YulFunctionCall","src":"7106:7:1"}],"functionName":{"name":"and","nativeSrc":"7085:3:1","nodeType":"YulIdentifier","src":"7085:3:1"},"nativeSrc":"7085:29:1","nodeType":"YulFunctionCall","src":"7085:29:1"}],"functionName":{"name":"add","nativeSrc":"7070:3:1","nodeType":"YulIdentifier","src":"7070:3:1"},"nativeSrc":"7070:45:1","nodeType":"YulFunctionCall","src":"7070:45:1"},{"kind":"number","nativeSrc":"7117:2:1","nodeType":"YulLiteral","src":"7117:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"7066:3:1","nodeType":"YulIdentifier","src":"7066:3:1"},"nativeSrc":"7066:54:1","nodeType":"YulFunctionCall","src":"7066:54:1"},"variableNames":[{"name":"tail","nativeSrc":"7058:4:1","nodeType":"YulIdentifier","src":"7058:4:1"}]}]},"name":"abi_encode_tuple_t_bytes32_t_bytes_calldata_ptr__to_t_bytes32_t_bytes_memory_ptr__fromStack_reversed","nativeSrc":"6667:459:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"6777:9:1","nodeType":"YulTypedName","src":"6777:9:1","type":""},{"name":"value2","nativeSrc":"6788:6:1","nodeType":"YulTypedName","src":"6788:6:1","type":""},{"name":"value1","nativeSrc":"6796:6:1","nodeType":"YulTypedName","src":"6796:6:1","type":""},{"name":"value0","nativeSrc":"6804:6:1","nodeType":"YulTypedName","src":"6804:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"6815:4:1","nodeType":"YulTypedName","src":"6815:4:1","type":""}],"src":"6667:459:1"},{"body":{"nativeSrc":"7211:210:1","nodeType":"YulBlock","src":"7211:210:1","statements":[{"body":{"nativeSrc":"7257:16:1","nodeType":"YulBlock","src":"7257:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7266:1:1","nodeType":"YulLiteral","src":"7266:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"7269:1:1","nodeType":"YulLiteral","src":"7269:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"7259:6:1","nodeType":"YulIdentifier","src":"7259:6:1"},"nativeSrc":"7259:12:1","nodeType":"YulFunctionCall","src":"7259:12:1"},"nativeSrc":"7259:12:1","nodeType":"YulExpressionStatement","src":"7259:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"7232:7:1","nodeType":"YulIdentifier","src":"7232:7:1"},{"name":"headStart","nativeSrc":"7241:9:1","nodeType":"YulIdentifier","src":"7241:9:1"}],"functionName":{"name":"sub","nativeSrc":"7228:3:1","nodeType":"YulIdentifier","src":"7228:3:1"},"nativeSrc":"7228:23:1","nodeType":"YulFunctionCall","src":"7228:23:1"},{"kind":"number","nativeSrc":"7253:2:1","nodeType":"YulLiteral","src":"7253:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"7224:3:1","nodeType":"YulIdentifier","src":"7224:3:1"},"nativeSrc":"7224:32:1","nodeType":"YulFunctionCall","src":"7224:32:1"},"nativeSrc":"7221:52:1","nodeType":"YulIf","src":"7221:52:1"},{"nativeSrc":"7282:29:1","nodeType":"YulVariableDeclaration","src":"7282:29:1","value":{"arguments":[{"name":"headStart","nativeSrc":"7301:9:1","nodeType":"YulIdentifier","src":"7301:9:1"}],"functionName":{"name":"mload","nativeSrc":"7295:5:1","nodeType":"YulIdentifier","src":"7295:5:1"},"nativeSrc":"7295:16:1","nodeType":"YulFunctionCall","src":"7295:16:1"},"variables":[{"name":"value","nativeSrc":"7286:5:1","nodeType":"YulTypedName","src":"7286:5:1","type":""}]},{"body":{"nativeSrc":"7375:16:1","nodeType":"YulBlock","src":"7375:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7384:1:1","nodeType":"YulLiteral","src":"7384:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"7387:1:1","nodeType":"YulLiteral","src":"7387:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"7377:6:1","nodeType":"YulIdentifier","src":"7377:6:1"},"nativeSrc":"7377:12:1","nodeType":"YulFunctionCall","src":"7377:12:1"},"nativeSrc":"7377:12:1","nodeType":"YulExpressionStatement","src":"7377:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"7333:5:1","nodeType":"YulIdentifier","src":"7333:5:1"},{"arguments":[{"name":"value","nativeSrc":"7344:5:1","nodeType":"YulIdentifier","src":"7344:5:1"},{"arguments":[{"kind":"number","nativeSrc":"7355:3:1","nodeType":"YulLiteral","src":"7355:3:1","type":"","value":"224"},{"kind":"number","nativeSrc":"7360:10:1","nodeType":"YulLiteral","src":"7360:10:1","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nativeSrc":"7351:3:1","nodeType":"YulIdentifier","src":"7351:3:1"},"nativeSrc":"7351:20:1","nodeType":"YulFunctionCall","src":"7351:20:1"}],"functionName":{"name":"and","nativeSrc":"7340:3:1","nodeType":"YulIdentifier","src":"7340:3:1"},"nativeSrc":"7340:32:1","nodeType":"YulFunctionCall","src":"7340:32:1"}],"functionName":{"name":"eq","nativeSrc":"7330:2:1","nodeType":"YulIdentifier","src":"7330:2:1"},"nativeSrc":"7330:43:1","nodeType":"YulFunctionCall","src":"7330:43:1"}],"functionName":{"name":"iszero","nativeSrc":"7323:6:1","nodeType":"YulIdentifier","src":"7323:6:1"},"nativeSrc":"7323:51:1","nodeType":"YulFunctionCall","src":"7323:51:1"},"nativeSrc":"7320:71:1","nodeType":"YulIf","src":"7320:71:1"},{"nativeSrc":"7400:15:1","nodeType":"YulAssignment","src":"7400:15:1","value":{"name":"value","nativeSrc":"7410:5:1","nodeType":"YulIdentifier","src":"7410:5:1"},"variableNames":[{"name":"value0","nativeSrc":"7400:6:1","nodeType":"YulIdentifier","src":"7400:6:1"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nativeSrc":"7131:290:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"7177:9:1","nodeType":"YulTypedName","src":"7177:9:1","type":""},{"name":"dataEnd","nativeSrc":"7188:7:1","nodeType":"YulTypedName","src":"7188:7:1","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"7200:6:1","nodeType":"YulTypedName","src":"7200:6:1","type":""}],"src":"7131:290:1"},{"body":{"nativeSrc":"7600:225:1","nodeType":"YulBlock","src":"7600:225:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"7617:9:1","nodeType":"YulIdentifier","src":"7617:9:1"},{"kind":"number","nativeSrc":"7628:2:1","nodeType":"YulLiteral","src":"7628:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"7610:6:1","nodeType":"YulIdentifier","src":"7610:6:1"},"nativeSrc":"7610:21:1","nodeType":"YulFunctionCall","src":"7610:21:1"},"nativeSrc":"7610:21:1","nodeType":"YulExpressionStatement","src":"7610:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"7651:9:1","nodeType":"YulIdentifier","src":"7651:9:1"},{"kind":"number","nativeSrc":"7662:2:1","nodeType":"YulLiteral","src":"7662:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"7647:3:1","nodeType":"YulIdentifier","src":"7647:3:1"},"nativeSrc":"7647:18:1","nodeType":"YulFunctionCall","src":"7647:18:1"},{"kind":"number","nativeSrc":"7667:2:1","nodeType":"YulLiteral","src":"7667:2:1","type":"","value":"35"}],"functionName":{"name":"mstore","nativeSrc":"7640:6:1","nodeType":"YulIdentifier","src":"7640:6:1"},"nativeSrc":"7640:30:1","nodeType":"YulFunctionCall","src":"7640:30:1"},"nativeSrc":"7640:30:1","nodeType":"YulExpressionStatement","src":"7640:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"7690:9:1","nodeType":"YulIdentifier","src":"7690:9:1"},{"kind":"number","nativeSrc":"7701:2:1","nodeType":"YulLiteral","src":"7701:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"7686:3:1","nodeType":"YulIdentifier","src":"7686:3:1"},"nativeSrc":"7686:18:1","nodeType":"YulFunctionCall","src":"7686:18:1"},{"hexValue":"626f6f7374206e6f742069737375656420627920616e20616374697665207269","kind":"string","nativeSrc":"7706:34:1","nodeType":"YulLiteral","src":"7706:34:1","type":"","value":"boost not issued by an active ri"}],"functionName":{"name":"mstore","nativeSrc":"7679:6:1","nodeType":"YulIdentifier","src":"7679:6:1"},"nativeSrc":"7679:62:1","nodeType":"YulFunctionCall","src":"7679:62:1"},"nativeSrc":"7679:62:1","nodeType":"YulExpressionStatement","src":"7679:62:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"7761:9:1","nodeType":"YulIdentifier","src":"7761:9:1"},{"kind":"number","nativeSrc":"7772:2:1","nodeType":"YulLiteral","src":"7772:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"7757:3:1","nodeType":"YulIdentifier","src":"7757:3:1"},"nativeSrc":"7757:18:1","nodeType":"YulFunctionCall","src":"7757:18:1"},{"hexValue":"766574","kind":"string","nativeSrc":"7777:5:1","nodeType":"YulLiteral","src":"7777:5:1","type":"","value":"vet"}],"functionName":{"name":"mstore","nativeSrc":"7750:6:1","nodeType":"YulIdentifier","src":"7750:6:1"},"nativeSrc":"7750:33:1","nodeType":"YulFunctionCall","src":"7750:33:1"},"nativeSrc":"7750:33:1","nodeType":"YulExpressionStatement","src":"7750:33:1"},{"nativeSrc":"7792:27:1","nodeType":"YulAssignment","src":"7792:27:1","value":{"arguments":[{"name":"headStart","nativeSrc":"7804:9:1","nodeType":"YulIdentifier","src":"7804:9:1"},{"kind":"number","nativeSrc":"7815:3:1","nodeType":"YulLiteral","src":"7815:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"7800:3:1","nodeType":"YulIdentifier","src":"7800:3:1"},"nativeSrc":"7800:19:1","nodeType":"YulFunctionCall","src":"7800:19:1"},"variableNames":[{"name":"tail","nativeSrc":"7792:4:1","nodeType":"YulIdentifier","src":"7792:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_89dbb717af4fe923f7a23c0bb79ba1ea58e323a9907d72e15f370e52ec3e93df__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"7426:399:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"7577:9:1","nodeType":"YulTypedName","src":"7577:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"7591:4:1","nodeType":"YulTypedName","src":"7591:4:1","type":""}],"src":"7426:399:1"},{"body":{"nativeSrc":"7862:95:1","nodeType":"YulBlock","src":"7862:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7879:1:1","nodeType":"YulLiteral","src":"7879:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nativeSrc":"7886:3:1","nodeType":"YulLiteral","src":"7886:3:1","type":"","value":"224"},{"kind":"number","nativeSrc":"7891:10:1","nodeType":"YulLiteral","src":"7891:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nativeSrc":"7882:3:1","nodeType":"YulIdentifier","src":"7882:3:1"},"nativeSrc":"7882:20:1","nodeType":"YulFunctionCall","src":"7882:20:1"}],"functionName":{"name":"mstore","nativeSrc":"7872:6:1","nodeType":"YulIdentifier","src":"7872:6:1"},"nativeSrc":"7872:31:1","nodeType":"YulFunctionCall","src":"7872:31:1"},"nativeSrc":"7872:31:1","nodeType":"YulExpressionStatement","src":"7872:31:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7919:1:1","nodeType":"YulLiteral","src":"7919:1:1","type":"","value":"4"},{"kind":"number","nativeSrc":"7922:4:1","nodeType":"YulLiteral","src":"7922:4:1","type":"","value":"0x11"}],"functionName":{"name":"mstore","nativeSrc":"7912:6:1","nodeType":"YulIdentifier","src":"7912:6:1"},"nativeSrc":"7912:15:1","nodeType":"YulFunctionCall","src":"7912:15:1"},"nativeSrc":"7912:15:1","nodeType":"YulExpressionStatement","src":"7912:15:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7943:1:1","nodeType":"YulLiteral","src":"7943:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"7946:4:1","nodeType":"YulLiteral","src":"7946:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"7936:6:1","nodeType":"YulIdentifier","src":"7936:6:1"},"nativeSrc":"7936:15:1","nodeType":"YulFunctionCall","src":"7936:15:1"},"nativeSrc":"7936:15:1","nodeType":"YulExpressionStatement","src":"7936:15:1"}]},"name":"panic_error_0x11","nativeSrc":"7830:127:1","nodeType":"YulFunctionDefinition","src":"7830:127:1"},{"body":{"nativeSrc":"8011:79:1","nodeType":"YulBlock","src":"8011:79:1","statements":[{"nativeSrc":"8021:17:1","nodeType":"YulAssignment","src":"8021:17:1","value":{"arguments":[{"name":"x","nativeSrc":"8033:1:1","nodeType":"YulIdentifier","src":"8033:1:1"},{"name":"y","nativeSrc":"8036:1:1","nodeType":"YulIdentifier","src":"8036:1:1"}],"functionName":{"name":"sub","nativeSrc":"8029:3:1","nodeType":"YulIdentifier","src":"8029:3:1"},"nativeSrc":"8029:9:1","nodeType":"YulFunctionCall","src":"8029:9:1"},"variableNames":[{"name":"diff","nativeSrc":"8021:4:1","nodeType":"YulIdentifier","src":"8021:4:1"}]},{"body":{"nativeSrc":"8062:22:1","nodeType":"YulBlock","src":"8062:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nativeSrc":"8064:16:1","nodeType":"YulIdentifier","src":"8064:16:1"},"nativeSrc":"8064:18:1","nodeType":"YulFunctionCall","src":"8064:18:1"},"nativeSrc":"8064:18:1","nodeType":"YulExpressionStatement","src":"8064:18:1"}]},"condition":{"arguments":[{"name":"diff","nativeSrc":"8053:4:1","nodeType":"YulIdentifier","src":"8053:4:1"},{"name":"x","nativeSrc":"8059:1:1","nodeType":"YulIdentifier","src":"8059:1:1"}],"functionName":{"name":"gt","nativeSrc":"8050:2:1","nodeType":"YulIdentifier","src":"8050:2:1"},"nativeSrc":"8050:11:1","nodeType":"YulFunctionCall","src":"8050:11:1"},"nativeSrc":"8047:37:1","nodeType":"YulIf","src":"8047:37:1"}]},"name":"checked_sub_t_uint256","nativeSrc":"7962:128:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nativeSrc":"7993:1:1","nodeType":"YulTypedName","src":"7993:1:1","type":""},{"name":"y","nativeSrc":"7996:1:1","nodeType":"YulTypedName","src":"7996:1:1","type":""}],"returnVariables":[{"name":"diff","nativeSrc":"8002:4:1","nodeType":"YulTypedName","src":"8002:4:1","type":""}],"src":"7962:128:1"},{"body":{"nativeSrc":"8143:77:1","nodeType":"YulBlock","src":"8143:77:1","statements":[{"nativeSrc":"8153:16:1","nodeType":"YulAssignment","src":"8153:16:1","value":{"arguments":[{"name":"x","nativeSrc":"8164:1:1","nodeType":"YulIdentifier","src":"8164:1:1"},{"name":"y","nativeSrc":"8167:1:1","nodeType":"YulIdentifier","src":"8167:1:1"}],"functionName":{"name":"add","nativeSrc":"8160:3:1","nodeType":"YulIdentifier","src":"8160:3:1"},"nativeSrc":"8160:9:1","nodeType":"YulFunctionCall","src":"8160:9:1"},"variableNames":[{"name":"sum","nativeSrc":"8153:3:1","nodeType":"YulIdentifier","src":"8153:3:1"}]},{"body":{"nativeSrc":"8192:22:1","nodeType":"YulBlock","src":"8192:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nativeSrc":"8194:16:1","nodeType":"YulIdentifier","src":"8194:16:1"},"nativeSrc":"8194:18:1","nodeType":"YulFunctionCall","src":"8194:18:1"},"nativeSrc":"8194:18:1","nodeType":"YulExpressionStatement","src":"8194:18:1"}]},"condition":{"arguments":[{"name":"x","nativeSrc":"8184:1:1","nodeType":"YulIdentifier","src":"8184:1:1"},{"name":"sum","nativeSrc":"8187:3:1","nodeType":"YulIdentifier","src":"8187:3:1"}],"functionName":{"name":"gt","nativeSrc":"8181:2:1","nodeType":"YulIdentifier","src":"8181:2:1"},"nativeSrc":"8181:10:1","nodeType":"YulFunctionCall","src":"8181:10:1"},"nativeSrc":"8178:36:1","nodeType":"YulIf","src":"8178:36:1"}]},"name":"checked_add_t_uint256","nativeSrc":"8095:125:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nativeSrc":"8126:1:1","nodeType":"YulTypedName","src":"8126:1:1","type":""},{"name":"y","nativeSrc":"8129:1:1","nodeType":"YulTypedName","src":"8129:1:1","type":""}],"returnVariables":[{"name":"sum","nativeSrc":"8135:3:1","nodeType":"YulTypedName","src":"8135:3:1","type":""}],"src":"8095:125:1"},{"body":{"nativeSrc":"8277:116:1","nodeType":"YulBlock","src":"8277:116:1","statements":[{"nativeSrc":"8287:20:1","nodeType":"YulAssignment","src":"8287:20:1","value":{"arguments":[{"name":"x","nativeSrc":"8302:1:1","nodeType":"YulIdentifier","src":"8302:1:1"},{"name":"y","nativeSrc":"8305:1:1","nodeType":"YulIdentifier","src":"8305:1:1"}],"functionName":{"name":"mul","nativeSrc":"8298:3:1","nodeType":"YulIdentifier","src":"8298:3:1"},"nativeSrc":"8298:9:1","nodeType":"YulFunctionCall","src":"8298:9:1"},"variableNames":[{"name":"product","nativeSrc":"8287:7:1","nodeType":"YulIdentifier","src":"8287:7:1"}]},{"body":{"nativeSrc":"8365:22:1","nodeType":"YulBlock","src":"8365:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nativeSrc":"8367:16:1","nodeType":"YulIdentifier","src":"8367:16:1"},"nativeSrc":"8367:18:1","nodeType":"YulFunctionCall","src":"8367:18:1"},"nativeSrc":"8367:18:1","nodeType":"YulExpressionStatement","src":"8367:18:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nativeSrc":"8336:1:1","nodeType":"YulIdentifier","src":"8336:1:1"}],"functionName":{"name":"iszero","nativeSrc":"8329:6:1","nodeType":"YulIdentifier","src":"8329:6:1"},"nativeSrc":"8329:9:1","nodeType":"YulFunctionCall","src":"8329:9:1"},{"arguments":[{"name":"y","nativeSrc":"8343:1:1","nodeType":"YulIdentifier","src":"8343:1:1"},{"arguments":[{"name":"product","nativeSrc":"8350:7:1","nodeType":"YulIdentifier","src":"8350:7:1"},{"name":"x","nativeSrc":"8359:1:1","nodeType":"YulIdentifier","src":"8359:1:1"}],"functionName":{"name":"div","nativeSrc":"8346:3:1","nodeType":"YulIdentifier","src":"8346:3:1"},"nativeSrc":"8346:15:1","nodeType":"YulFunctionCall","src":"8346:15:1"}],"functionName":{"name":"eq","nativeSrc":"8340:2:1","nodeType":"YulIdentifier","src":"8340:2:1"},"nativeSrc":"8340:22:1","nodeType":"YulFunctionCall","src":"8340:22:1"}],"functionName":{"name":"or","nativeSrc":"8326:2:1","nodeType":"YulIdentifier","src":"8326:2:1"},"nativeSrc":"8326:37:1","nodeType":"YulFunctionCall","src":"8326:37:1"}],"functionName":{"name":"iszero","nativeSrc":"8319:6:1","nodeType":"YulIdentifier","src":"8319:6:1"},"nativeSrc":"8319:45:1","nodeType":"YulFunctionCall","src":"8319:45:1"},"nativeSrc":"8316:71:1","nodeType":"YulIf","src":"8316:71:1"}]},"name":"checked_mul_t_uint256","nativeSrc":"8225:168:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nativeSrc":"8256:1:1","nodeType":"YulTypedName","src":"8256:1:1","type":""},{"name":"y","nativeSrc":"8259:1:1","nodeType":"YulTypedName","src":"8259:1:1","type":""}],"returnVariables":[{"name":"product","nativeSrc":"8265:7:1","nodeType":"YulTypedName","src":"8265:7:1","type":""}],"src":"8225:168:1"},{"body":{"nativeSrc":"8572:230:1","nodeType":"YulBlock","src":"8572:230:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"8589:9:1","nodeType":"YulIdentifier","src":"8589:9:1"},{"kind":"number","nativeSrc":"8600:2:1","nodeType":"YulLiteral","src":"8600:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"8582:6:1","nodeType":"YulIdentifier","src":"8582:6:1"},"nativeSrc":"8582:21:1","nodeType":"YulFunctionCall","src":"8582:21:1"},"nativeSrc":"8582:21:1","nodeType":"YulExpressionStatement","src":"8582:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"8623:9:1","nodeType":"YulIdentifier","src":"8623:9:1"},{"kind":"number","nativeSrc":"8634:2:1","nodeType":"YulLiteral","src":"8634:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"8619:3:1","nodeType":"YulIdentifier","src":"8619:3:1"},"nativeSrc":"8619:18:1","nodeType":"YulFunctionCall","src":"8619:18:1"},{"kind":"number","nativeSrc":"8639:2:1","nodeType":"YulLiteral","src":"8639:2:1","type":"","value":"40"}],"functionName":{"name":"mstore","nativeSrc":"8612:6:1","nodeType":"YulIdentifier","src":"8612:6:1"},"nativeSrc":"8612:30:1","nodeType":"YulFunctionCall","src":"8612:30:1"},"nativeSrc":"8612:30:1","nodeType":"YulExpressionStatement","src":"8612:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"8662:9:1","nodeType":"YulIdentifier","src":"8662:9:1"},{"kind":"number","nativeSrc":"8673:2:1","nodeType":"YulLiteral","src":"8673:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"8658:3:1","nodeType":"YulIdentifier","src":"8658:3:1"},"nativeSrc":"8658:18:1","nodeType":"YulFunctionCall","src":"8658:18:1"},{"hexValue":"626f6f7374206365696c696e6720746f6f206c6f772061742074686520637572","kind":"string","nativeSrc":"8678:34:1","nodeType":"YulLiteral","src":"8678:34:1","type":"","value":"boost ceiling too low at the cur"}],"functionName":{"name":"mstore","nativeSrc":"8651:6:1","nodeType":"YulIdentifier","src":"8651:6:1"},"nativeSrc":"8651:62:1","nodeType":"YulFunctionCall","src":"8651:62:1"},"nativeSrc":"8651:62:1","nodeType":"YulExpressionStatement","src":"8651:62:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"8733:9:1","nodeType":"YulIdentifier","src":"8733:9:1"},{"kind":"number","nativeSrc":"8744:2:1","nodeType":"YulLiteral","src":"8744:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"8729:3:1","nodeType":"YulIdentifier","src":"8729:3:1"},"nativeSrc":"8729:18:1","nodeType":"YulFunctionCall","src":"8729:18:1"},{"hexValue":"72656e7420666565","kind":"string","nativeSrc":"8749:10:1","nodeType":"YulLiteral","src":"8749:10:1","type":"","value":"rent fee"}],"functionName":{"name":"mstore","nativeSrc":"8722:6:1","nodeType":"YulIdentifier","src":"8722:6:1"},"nativeSrc":"8722:38:1","nodeType":"YulFunctionCall","src":"8722:38:1"},"nativeSrc":"8722:38:1","nodeType":"YulExpressionStatement","src":"8722:38:1"},{"nativeSrc":"8769:27:1","nodeType":"YulAssignment","src":"8769:27:1","value":{"arguments":[{"name":"headStart","nativeSrc":"8781:9:1","nodeType":"YulIdentifier","src":"8781:9:1"},{"kind":"number","nativeSrc":"8792:3:1","nodeType":"YulLiteral","src":"8792:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"8777:3:1","nodeType":"YulIdentifier","src":"8777:3:1"},"nativeSrc":"8777:19:1","nodeType":"YulFunctionCall","src":"8777:19:1"},"variableNames":[{"name":"tail","nativeSrc":"8769:4:1","nodeType":"YulIdentifier","src":"8769:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_064752624ec34a3d2ad55d0b85fa72764c57c8b5a6afda4180045aa2daef9572__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"8398:404:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"8549:9:1","nodeType":"YulTypedName","src":"8549:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"8563:4:1","nodeType":"YulTypedName","src":"8563:4:1","type":""}],"src":"8398:404:1"},{"body":{"nativeSrc":"8888:103:1","nodeType":"YulBlock","src":"8888:103:1","statements":[{"body":{"nativeSrc":"8934:16:1","nodeType":"YulBlock","src":"8934:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8943:1:1","nodeType":"YulLiteral","src":"8943:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"8946:1:1","nodeType":"YulLiteral","src":"8946:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"8936:6:1","nodeType":"YulIdentifier","src":"8936:6:1"},"nativeSrc":"8936:12:1","nodeType":"YulFunctionCall","src":"8936:12:1"},"nativeSrc":"8936:12:1","nodeType":"YulExpressionStatement","src":"8936:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"8909:7:1","nodeType":"YulIdentifier","src":"8909:7:1"},{"name":"headStart","nativeSrc":"8918:9:1","nodeType":"YulIdentifier","src":"8918:9:1"}],"functionName":{"name":"sub","nativeSrc":"8905:3:1","nodeType":"YulIdentifier","src":"8905:3:1"},"nativeSrc":"8905:23:1","nodeType":"YulFunctionCall","src":"8905:23:1"},{"kind":"number","nativeSrc":"8930:2:1","nodeType":"YulLiteral","src":"8930:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"8901:3:1","nodeType":"YulIdentifier","src":"8901:3:1"},"nativeSrc":"8901:32:1","nodeType":"YulFunctionCall","src":"8901:32:1"},"nativeSrc":"8898:52:1","nodeType":"YulIf","src":"8898:52:1"},{"nativeSrc":"8959:26:1","nodeType":"YulAssignment","src":"8959:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"8975:9:1","nodeType":"YulIdentifier","src":"8975:9:1"}],"functionName":{"name":"mload","nativeSrc":"8969:5:1","nodeType":"YulIdentifier","src":"8969:5:1"},"nativeSrc":"8969:16:1","nodeType":"YulFunctionCall","src":"8969:16:1"},"variableNames":[{"name":"value0","nativeSrc":"8959:6:1","nodeType":"YulIdentifier","src":"8959:6:1"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nativeSrc":"8807:184:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"8854:9:1","nodeType":"YulTypedName","src":"8854:9:1","type":""},{"name":"dataEnd","nativeSrc":"8865:7:1","nodeType":"YulTypedName","src":"8865:7:1","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"8877:6:1","nodeType":"YulTypedName","src":"8877:6:1","type":""}],"src":"8807:184:1"},{"body":{"nativeSrc":"9170:182:1","nodeType":"YulBlock","src":"9170:182:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"9187:9:1","nodeType":"YulIdentifier","src":"9187:9:1"},{"kind":"number","nativeSrc":"9198:2:1","nodeType":"YulLiteral","src":"9198:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"9180:6:1","nodeType":"YulIdentifier","src":"9180:6:1"},"nativeSrc":"9180:21:1","nodeType":"YulFunctionCall","src":"9180:21:1"},"nativeSrc":"9180:21:1","nodeType":"YulExpressionStatement","src":"9180:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9221:9:1","nodeType":"YulIdentifier","src":"9221:9:1"},{"kind":"number","nativeSrc":"9232:2:1","nodeType":"YulLiteral","src":"9232:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9217:3:1","nodeType":"YulIdentifier","src":"9217:3:1"},"nativeSrc":"9217:18:1","nodeType":"YulFunctionCall","src":"9217:18:1"},{"kind":"number","nativeSrc":"9237:2:1","nodeType":"YulLiteral","src":"9237:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"9210:6:1","nodeType":"YulIdentifier","src":"9210:6:1"},"nativeSrc":"9210:30:1","nodeType":"YulFunctionCall","src":"9210:30:1"},"nativeSrc":"9210:30:1","nodeType":"YulExpressionStatement","src":"9210:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9260:9:1","nodeType":"YulIdentifier","src":"9260:9:1"},{"kind":"number","nativeSrc":"9271:2:1","nodeType":"YulLiteral","src":"9271:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9256:3:1","nodeType":"YulIdentifier","src":"9256:3:1"},"nativeSrc":"9256:18:1","nodeType":"YulFunctionCall","src":"9256:18:1"},{"hexValue":"74726561737572792063616e6e6f7420636f766572207468697320626f6f7374","kind":"string","nativeSrc":"9276:34:1","nodeType":"YulLiteral","src":"9276:34:1","type":"","value":"treasury cannot cover this boost"}],"functionName":{"name":"mstore","nativeSrc":"9249:6:1","nodeType":"YulIdentifier","src":"9249:6:1"},"nativeSrc":"9249:62:1","nodeType":"YulFunctionCall","src":"9249:62:1"},"nativeSrc":"9249:62:1","nodeType":"YulExpressionStatement","src":"9249:62:1"},{"nativeSrc":"9320:26:1","nodeType":"YulAssignment","src":"9320:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"9332:9:1","nodeType":"YulIdentifier","src":"9332:9:1"},{"kind":"number","nativeSrc":"9343:2:1","nodeType":"YulLiteral","src":"9343:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"9328:3:1","nodeType":"YulIdentifier","src":"9328:3:1"},"nativeSrc":"9328:18:1","nodeType":"YulFunctionCall","src":"9328:18:1"},"variableNames":[{"name":"tail","nativeSrc":"9320:4:1","nodeType":"YulIdentifier","src":"9320:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_c40ece204eec58446bd8e2f05889e10471a9582469003c59d1ebd68e5dbec801__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"8996:356:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"9147:9:1","nodeType":"YulTypedName","src":"9147:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"9161:4:1","nodeType":"YulTypedName","src":"9161:4:1","type":""}],"src":"8996:356:1"},{"body":{"nativeSrc":"9502:145:1","nodeType":"YulBlock","src":"9502:145:1","statements":[{"nativeSrc":"9512:26:1","nodeType":"YulAssignment","src":"9512:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"9524:9:1","nodeType":"YulIdentifier","src":"9524:9:1"},{"kind":"number","nativeSrc":"9535:2:1","nodeType":"YulLiteral","src":"9535:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9520:3:1","nodeType":"YulIdentifier","src":"9520:3:1"},"nativeSrc":"9520:18:1","nodeType":"YulFunctionCall","src":"9520:18:1"},"variableNames":[{"name":"tail","nativeSrc":"9512:4:1","nodeType":"YulIdentifier","src":"9512:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"9554:9:1","nodeType":"YulIdentifier","src":"9554:9:1"},{"arguments":[{"name":"value0","nativeSrc":"9569:6:1","nodeType":"YulIdentifier","src":"9569:6:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"9585:3:1","nodeType":"YulLiteral","src":"9585:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"9590:1:1","nodeType":"YulLiteral","src":"9590:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"9581:3:1","nodeType":"YulIdentifier","src":"9581:3:1"},"nativeSrc":"9581:11:1","nodeType":"YulFunctionCall","src":"9581:11:1"},{"kind":"number","nativeSrc":"9594:1:1","nodeType":"YulLiteral","src":"9594:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"9577:3:1","nodeType":"YulIdentifier","src":"9577:3:1"},"nativeSrc":"9577:19:1","nodeType":"YulFunctionCall","src":"9577:19:1"}],"functionName":{"name":"and","nativeSrc":"9565:3:1","nodeType":"YulIdentifier","src":"9565:3:1"},"nativeSrc":"9565:32:1","nodeType":"YulFunctionCall","src":"9565:32:1"}],"functionName":{"name":"mstore","nativeSrc":"9547:6:1","nodeType":"YulIdentifier","src":"9547:6:1"},"nativeSrc":"9547:51:1","nodeType":"YulFunctionCall","src":"9547:51:1"},"nativeSrc":"9547:51:1","nodeType":"YulExpressionStatement","src":"9547:51:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9618:9:1","nodeType":"YulIdentifier","src":"9618:9:1"},{"kind":"number","nativeSrc":"9629:2:1","nodeType":"YulLiteral","src":"9629:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9614:3:1","nodeType":"YulIdentifier","src":"9614:3:1"},"nativeSrc":"9614:18:1","nodeType":"YulFunctionCall","src":"9614:18:1"},{"name":"value1","nativeSrc":"9634:6:1","nodeType":"YulIdentifier","src":"9634:6:1"}],"functionName":{"name":"mstore","nativeSrc":"9607:6:1","nodeType":"YulIdentifier","src":"9607:6:1"},"nativeSrc":"9607:34:1","nodeType":"YulFunctionCall","src":"9607:34:1"},"nativeSrc":"9607:34:1","nodeType":"YulExpressionStatement","src":"9607:34:1"}]},"name":"abi_encode_tuple_t_address_payable_t_uint256__to_t_address_payable_t_uint256__fromStack_reversed","nativeSrc":"9357:290:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"9463:9:1","nodeType":"YulTypedName","src":"9463:9:1","type":""},{"name":"value1","nativeSrc":"9474:6:1","nodeType":"YulTypedName","src":"9474:6:1","type":""},{"name":"value0","nativeSrc":"9482:6:1","nodeType":"YulTypedName","src":"9482:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"9493:4:1","nodeType":"YulTypedName","src":"9493:4:1","type":""}],"src":"9357:290:1"},{"body":{"nativeSrc":"9865:276:1","nodeType":"YulBlock","src":"9865:276:1","statements":[{"nativeSrc":"9875:27:1","nodeType":"YulAssignment","src":"9875:27:1","value":{"arguments":[{"name":"headStart","nativeSrc":"9887:9:1","nodeType":"YulIdentifier","src":"9887:9:1"},{"kind":"number","nativeSrc":"9898:3:1","nodeType":"YulLiteral","src":"9898:3:1","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"9883:3:1","nodeType":"YulIdentifier","src":"9883:3:1"},"nativeSrc":"9883:19:1","nodeType":"YulFunctionCall","src":"9883:19:1"},"variableNames":[{"name":"tail","nativeSrc":"9875:4:1","nodeType":"YulIdentifier","src":"9875:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"9918:9:1","nodeType":"YulIdentifier","src":"9918:9:1"},{"name":"value0","nativeSrc":"9929:6:1","nodeType":"YulIdentifier","src":"9929:6:1"}],"functionName":{"name":"mstore","nativeSrc":"9911:6:1","nodeType":"YulIdentifier","src":"9911:6:1"},"nativeSrc":"9911:25:1","nodeType":"YulFunctionCall","src":"9911:25:1"},"nativeSrc":"9911:25:1","nodeType":"YulExpressionStatement","src":"9911:25:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9956:9:1","nodeType":"YulIdentifier","src":"9956:9:1"},{"kind":"number","nativeSrc":"9967:2:1","nodeType":"YulLiteral","src":"9967:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9952:3:1","nodeType":"YulIdentifier","src":"9952:3:1"},"nativeSrc":"9952:18:1","nodeType":"YulFunctionCall","src":"9952:18:1"},{"name":"value1","nativeSrc":"9972:6:1","nodeType":"YulIdentifier","src":"9972:6:1"}],"functionName":{"name":"mstore","nativeSrc":"9945:6:1","nodeType":"YulIdentifier","src":"9945:6:1"},"nativeSrc":"9945:34:1","nodeType":"YulFunctionCall","src":"9945:34:1"},"nativeSrc":"9945:34:1","nodeType":"YulExpressionStatement","src":"9945:34:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9999:9:1","nodeType":"YulIdentifier","src":"9999:9:1"},{"kind":"number","nativeSrc":"10010:2:1","nodeType":"YulLiteral","src":"10010:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9995:3:1","nodeType":"YulIdentifier","src":"9995:3:1"},"nativeSrc":"9995:18:1","nodeType":"YulFunctionCall","src":"9995:18:1"},{"name":"value2","nativeSrc":"10015:6:1","nodeType":"YulIdentifier","src":"10015:6:1"}],"functionName":{"name":"mstore","nativeSrc":"9988:6:1","nodeType":"YulIdentifier","src":"9988:6:1"},"nativeSrc":"9988:34:1","nodeType":"YulFunctionCall","src":"9988:34:1"},"nativeSrc":"9988:34:1","nodeType":"YulExpressionStatement","src":"9988:34:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10042:9:1","nodeType":"YulIdentifier","src":"10042:9:1"},{"kind":"number","nativeSrc":"10053:2:1","nodeType":"YulLiteral","src":"10053:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"10038:3:1","nodeType":"YulIdentifier","src":"10038:3:1"},"nativeSrc":"10038:18:1","nodeType":"YulFunctionCall","src":"10038:18:1"},{"name":"value3","nativeSrc":"10058:6:1","nodeType":"YulIdentifier","src":"10058:6:1"}],"functionName":{"name":"mstore","nativeSrc":"10031:6:1","nodeType":"YulIdentifier","src":"10031:6:1"},"nativeSrc":"10031:34:1","nodeType":"YulFunctionCall","src":"10031:34:1"},"nativeSrc":"10031:34:1","nodeType":"YulExpressionStatement","src":"10031:34:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10085:9:1","nodeType":"YulIdentifier","src":"10085:9:1"},{"kind":"number","nativeSrc":"10096:3:1","nodeType":"YulLiteral","src":"10096:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"10081:3:1","nodeType":"YulIdentifier","src":"10081:3:1"},"nativeSrc":"10081:19:1","nodeType":"YulFunctionCall","src":"10081:19:1"},{"arguments":[{"name":"value4","nativeSrc":"10106:6:1","nodeType":"YulIdentifier","src":"10106:6:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"10122:3:1","nodeType":"YulLiteral","src":"10122:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"10127:1:1","nodeType":"YulLiteral","src":"10127:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"10118:3:1","nodeType":"YulIdentifier","src":"10118:3:1"},"nativeSrc":"10118:11:1","nodeType":"YulFunctionCall","src":"10118:11:1"},{"kind":"number","nativeSrc":"10131:1:1","nodeType":"YulLiteral","src":"10131:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"10114:3:1","nodeType":"YulIdentifier","src":"10114:3:1"},"nativeSrc":"10114:19:1","nodeType":"YulFunctionCall","src":"10114:19:1"}],"functionName":{"name":"and","nativeSrc":"10102:3:1","nodeType":"YulIdentifier","src":"10102:3:1"},"nativeSrc":"10102:32:1","nodeType":"YulFunctionCall","src":"10102:32:1"}],"functionName":{"name":"mstore","nativeSrc":"10074:6:1","nodeType":"YulIdentifier","src":"10074:6:1"},"nativeSrc":"10074:61:1","nodeType":"YulFunctionCall","src":"10074:61:1"},"nativeSrc":"10074:61:1","nodeType":"YulExpressionStatement","src":"10074:61:1"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_address__to_t_uint256_t_uint256_t_uint256_t_uint256_t_address__fromStack_reversed","nativeSrc":"9652:489:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"9802:9:1","nodeType":"YulTypedName","src":"9802:9:1","type":""},{"name":"value4","nativeSrc":"9813:6:1","nodeType":"YulTypedName","src":"9813:6:1","type":""},{"name":"value3","nativeSrc":"9821:6:1","nodeType":"YulTypedName","src":"9821:6:1","type":""},{"name":"value2","nativeSrc":"9829:6:1","nodeType":"YulTypedName","src":"9829:6:1","type":""},{"name":"value1","nativeSrc":"9837:6:1","nodeType":"YulTypedName","src":"9837:6:1","type":""},{"name":"value0","nativeSrc":"9845:6:1","nodeType":"YulTypedName","src":"9845:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"9856:4:1","nodeType":"YulTypedName","src":"9856:4:1","type":""}],"src":"9652:489:1"},{"body":{"nativeSrc":"10320:232:1","nodeType":"YulBlock","src":"10320:232:1","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"10337:9:1","nodeType":"YulIdentifier","src":"10337:9:1"},{"kind":"number","nativeSrc":"10348:2:1","nodeType":"YulLiteral","src":"10348:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"10330:6:1","nodeType":"YulIdentifier","src":"10330:6:1"},"nativeSrc":"10330:21:1","nodeType":"YulFunctionCall","src":"10330:21:1"},"nativeSrc":"10330:21:1","nodeType":"YulExpressionStatement","src":"10330:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10371:9:1","nodeType":"YulIdentifier","src":"10371:9:1"},{"kind":"number","nativeSrc":"10382:2:1","nodeType":"YulLiteral","src":"10382:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"10367:3:1","nodeType":"YulIdentifier","src":"10367:3:1"},"nativeSrc":"10367:18:1","nodeType":"YulFunctionCall","src":"10367:18:1"},{"kind":"number","nativeSrc":"10387:2:1","nodeType":"YulLiteral","src":"10387:2:1","type":"","value":"42"}],"functionName":{"name":"mstore","nativeSrc":"10360:6:1","nodeType":"YulIdentifier","src":"10360:6:1"},"nativeSrc":"10360:30:1","nodeType":"YulFunctionCall","src":"10360:30:1"},"nativeSrc":"10360:30:1","nodeType":"YulExpressionStatement","src":"10360:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10410:9:1","nodeType":"YulIdentifier","src":"10410:9:1"},{"kind":"number","nativeSrc":"10421:2:1","nodeType":"YulLiteral","src":"10421:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"10406:3:1","nodeType":"YulIdentifier","src":"10406:3:1"},"nativeSrc":"10406:18:1","nodeType":"YulFunctionCall","src":"10406:18:1"},{"hexValue":"6f6e6c7920616e20616374697665207269766574206d617920616476616e6365","kind":"string","nativeSrc":"10426:34:1","nodeType":"YulLiteral","src":"10426:34:1","type":"","value":"only an active rivet may advance"}],"functionName":{"name":"mstore","nativeSrc":"10399:6:1","nodeType":"YulIdentifier","src":"10399:6:1"},"nativeSrc":"10399:62:1","nodeType":"YulFunctionCall","src":"10399:62:1"},"nativeSrc":"10399:62:1","nodeType":"YulExpressionStatement","src":"10399:62:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10481:9:1","nodeType":"YulIdentifier","src":"10481:9:1"},{"kind":"number","nativeSrc":"10492:2:1","nodeType":"YulLiteral","src":"10492:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"10477:3:1","nodeType":"YulIdentifier","src":"10477:3:1"},"nativeSrc":"10477:18:1","nodeType":"YulFunctionCall","src":"10477:18:1"},{"hexValue":"207468652065706f6368","kind":"string","nativeSrc":"10497:12:1","nodeType":"YulLiteral","src":"10497:12:1","type":"","value":" the epoch"}],"functionName":{"name":"mstore","nativeSrc":"10470:6:1","nodeType":"YulIdentifier","src":"10470:6:1"},"nativeSrc":"10470:40:1","nodeType":"YulFunctionCall","src":"10470:40:1"},"nativeSrc":"10470:40:1","nodeType":"YulExpressionStatement","src":"10470:40:1"},{"nativeSrc":"10519:27:1","nodeType":"YulAssignment","src":"10519:27:1","value":{"arguments":[{"name":"headStart","nativeSrc":"10531:9:1","nodeType":"YulIdentifier","src":"10531:9:1"},{"kind":"number","nativeSrc":"10542:3:1","nodeType":"YulLiteral","src":"10542:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"10527:3:1","nodeType":"YulIdentifier","src":"10527:3:1"},"nativeSrc":"10527:19:1","nodeType":"YulFunctionCall","src":"10527:19:1"},"variableNames":[{"name":"tail","nativeSrc":"10519:4:1","nodeType":"YulIdentifier","src":"10519:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_6c27ccaa09d2750abca2064f15da00df0fcd5853717fe970476807fc728985a6__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"10146:406:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"10297:9:1","nodeType":"YulTypedName","src":"10297:9:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"10311:4:1","nodeType":"YulTypedName","src":"10311:4:1","type":""}],"src":"10146:406:1"},{"body":{"nativeSrc":"10604:88:1","nodeType":"YulBlock","src":"10604:88:1","statements":[{"body":{"nativeSrc":"10635:22:1","nodeType":"YulBlock","src":"10635:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nativeSrc":"10637:16:1","nodeType":"YulIdentifier","src":"10637:16:1"},"nativeSrc":"10637:18:1","nodeType":"YulFunctionCall","src":"10637:18:1"},"nativeSrc":"10637:18:1","nodeType":"YulExpressionStatement","src":"10637:18:1"}]},"condition":{"arguments":[{"name":"value","nativeSrc":"10620:5:1","nodeType":"YulIdentifier","src":"10620:5:1"},{"arguments":[{"kind":"number","nativeSrc":"10631:1:1","nodeType":"YulLiteral","src":"10631:1:1","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"10627:3:1","nodeType":"YulIdentifier","src":"10627:3:1"},"nativeSrc":"10627:6:1","nodeType":"YulFunctionCall","src":"10627:6:1"}],"functionName":{"name":"eq","nativeSrc":"10617:2:1","nodeType":"YulIdentifier","src":"10617:2:1"},"nativeSrc":"10617:17:1","nodeType":"YulFunctionCall","src":"10617:17:1"},"nativeSrc":"10614:43:1","nodeType":"YulIf","src":"10614:43:1"},{"nativeSrc":"10666:20:1","nodeType":"YulAssignment","src":"10666:20:1","value":{"arguments":[{"name":"value","nativeSrc":"10677:5:1","nodeType":"YulIdentifier","src":"10677:5:1"},{"kind":"number","nativeSrc":"10684:1:1","nodeType":"YulLiteral","src":"10684:1:1","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"10673:3:1","nodeType":"YulIdentifier","src":"10673:3:1"},"nativeSrc":"10673:13:1","nodeType":"YulFunctionCall","src":"10673:13:1"},"variableNames":[{"name":"ret","nativeSrc":"10666:3:1","nodeType":"YulIdentifier","src":"10666:3:1"}]}]},"name":"increment_t_uint256","nativeSrc":"10557:135:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"10586:5:1","nodeType":"YulTypedName","src":"10586:5:1","type":""}],"returnVariables":[{"name":"ret","nativeSrc":"10596:3:1","nodeType":"YulTypedName","src":"10596:3:1","type":""}],"src":"10557:135:1"},{"body":{"nativeSrc":"10826:145:1","nodeType":"YulBlock","src":"10826:145:1","statements":[{"nativeSrc":"10836:26:1","nodeType":"YulAssignment","src":"10836:26:1","value":{"arguments":[{"name":"headStart","nativeSrc":"10848:9:1","nodeType":"YulIdentifier","src":"10848:9:1"},{"kind":"number","nativeSrc":"10859:2:1","nodeType":"YulLiteral","src":"10859:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"10844:3:1","nodeType":"YulIdentifier","src":"10844:3:1"},"nativeSrc":"10844:18:1","nodeType":"YulFunctionCall","src":"10844:18:1"},"variableNames":[{"name":"tail","nativeSrc":"10836:4:1","nodeType":"YulIdentifier","src":"10836:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"10878:9:1","nodeType":"YulIdentifier","src":"10878:9:1"},{"name":"value0","nativeSrc":"10889:6:1","nodeType":"YulIdentifier","src":"10889:6:1"}],"functionName":{"name":"mstore","nativeSrc":"10871:6:1","nodeType":"YulIdentifier","src":"10871:6:1"},"nativeSrc":"10871:25:1","nodeType":"YulFunctionCall","src":"10871:25:1"},"nativeSrc":"10871:25:1","nodeType":"YulExpressionStatement","src":"10871:25:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10916:9:1","nodeType":"YulIdentifier","src":"10916:9:1"},{"kind":"number","nativeSrc":"10927:2:1","nodeType":"YulLiteral","src":"10927:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"10912:3:1","nodeType":"YulIdentifier","src":"10912:3:1"},"nativeSrc":"10912:18:1","nodeType":"YulFunctionCall","src":"10912:18:1"},{"arguments":[{"name":"value1","nativeSrc":"10936:6:1","nodeType":"YulIdentifier","src":"10936:6:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"10952:3:1","nodeType":"YulLiteral","src":"10952:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"10957:1:1","nodeType":"YulLiteral","src":"10957:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"10948:3:1","nodeType":"YulIdentifier","src":"10948:3:1"},"nativeSrc":"10948:11:1","nodeType":"YulFunctionCall","src":"10948:11:1"},{"kind":"number","nativeSrc":"10961:1:1","nodeType":"YulLiteral","src":"10961:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"10944:3:1","nodeType":"YulIdentifier","src":"10944:3:1"},"nativeSrc":"10944:19:1","nodeType":"YulFunctionCall","src":"10944:19:1"}],"functionName":{"name":"and","nativeSrc":"10932:3:1","nodeType":"YulIdentifier","src":"10932:3:1"},"nativeSrc":"10932:32:1","nodeType":"YulFunctionCall","src":"10932:32:1"}],"functionName":{"name":"mstore","nativeSrc":"10905:6:1","nodeType":"YulIdentifier","src":"10905:6:1"},"nativeSrc":"10905:60:1","nodeType":"YulFunctionCall","src":"10905:60:1"},"nativeSrc":"10905:60:1","nodeType":"YulExpressionStatement","src":"10905:60:1"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed","nativeSrc":"10697:274:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"10787:9:1","nodeType":"YulTypedName","src":"10787:9:1","type":""},{"name":"value1","nativeSrc":"10798:6:1","nodeType":"YulTypedName","src":"10798:6:1","type":""},{"name":"value0","nativeSrc":"10806:6:1","nodeType":"YulTypedName","src":"10806:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"10817:4:1","nodeType":"YulTypedName","src":"10817:4:1","type":""}],"src":"10697:274:1"},{"body":{"nativeSrc":"11358:593:1","nodeType":"YulBlock","src":"11358:593:1","statements":[{"nativeSrc":"11368:27:1","nodeType":"YulAssignment","src":"11368:27:1","value":{"arguments":[{"name":"headStart","nativeSrc":"11380:9:1","nodeType":"YulIdentifier","src":"11380:9:1"},{"kind":"number","nativeSrc":"11391:3:1","nodeType":"YulLiteral","src":"11391:3:1","type":"","value":"352"}],"functionName":{"name":"add","nativeSrc":"11376:3:1","nodeType":"YulIdentifier","src":"11376:3:1"},"nativeSrc":"11376:19:1","nodeType":"YulFunctionCall","src":"11376:19:1"},"variableNames":[{"name":"tail","nativeSrc":"11368:4:1","nodeType":"YulIdentifier","src":"11368:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"11411:9:1","nodeType":"YulIdentifier","src":"11411:9:1"},{"name":"value0","nativeSrc":"11422:6:1","nodeType":"YulIdentifier","src":"11422:6:1"}],"functionName":{"name":"mstore","nativeSrc":"11404:6:1","nodeType":"YulIdentifier","src":"11404:6:1"},"nativeSrc":"11404:25:1","nodeType":"YulFunctionCall","src":"11404:25:1"},"nativeSrc":"11404:25:1","nodeType":"YulExpressionStatement","src":"11404:25:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11449:9:1","nodeType":"YulIdentifier","src":"11449:9:1"},{"kind":"number","nativeSrc":"11460:2:1","nodeType":"YulLiteral","src":"11460:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"11445:3:1","nodeType":"YulIdentifier","src":"11445:3:1"},"nativeSrc":"11445:18:1","nodeType":"YulFunctionCall","src":"11445:18:1"},{"arguments":[{"name":"value1","nativeSrc":"11469:6:1","nodeType":"YulIdentifier","src":"11469:6:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"11485:3:1","nodeType":"YulLiteral","src":"11485:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"11490:1:1","nodeType":"YulLiteral","src":"11490:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"11481:3:1","nodeType":"YulIdentifier","src":"11481:3:1"},"nativeSrc":"11481:11:1","nodeType":"YulFunctionCall","src":"11481:11:1"},{"kind":"number","nativeSrc":"11494:1:1","nodeType":"YulLiteral","src":"11494:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"11477:3:1","nodeType":"YulIdentifier","src":"11477:3:1"},"nativeSrc":"11477:19:1","nodeType":"YulFunctionCall","src":"11477:19:1"}],"functionName":{"name":"and","nativeSrc":"11465:3:1","nodeType":"YulIdentifier","src":"11465:3:1"},"nativeSrc":"11465:32:1","nodeType":"YulFunctionCall","src":"11465:32:1"}],"functionName":{"name":"mstore","nativeSrc":"11438:6:1","nodeType":"YulIdentifier","src":"11438:6:1"},"nativeSrc":"11438:60:1","nodeType":"YulFunctionCall","src":"11438:60:1"},"nativeSrc":"11438:60:1","nodeType":"YulExpressionStatement","src":"11438:60:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11518:9:1","nodeType":"YulIdentifier","src":"11518:9:1"},{"kind":"number","nativeSrc":"11529:2:1","nodeType":"YulLiteral","src":"11529:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"11514:3:1","nodeType":"YulIdentifier","src":"11514:3:1"},"nativeSrc":"11514:18:1","nodeType":"YulFunctionCall","src":"11514:18:1"},{"arguments":[{"name":"value2","nativeSrc":"11538:6:1","nodeType":"YulIdentifier","src":"11538:6:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"11554:3:1","nodeType":"YulLiteral","src":"11554:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"11559:1:1","nodeType":"YulLiteral","src":"11559:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"11550:3:1","nodeType":"YulIdentifier","src":"11550:3:1"},"nativeSrc":"11550:11:1","nodeType":"YulFunctionCall","src":"11550:11:1"},{"kind":"number","nativeSrc":"11563:1:1","nodeType":"YulLiteral","src":"11563:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"11546:3:1","nodeType":"YulIdentifier","src":"11546:3:1"},"nativeSrc":"11546:19:1","nodeType":"YulFunctionCall","src":"11546:19:1"}],"functionName":{"name":"and","nativeSrc":"11534:3:1","nodeType":"YulIdentifier","src":"11534:3:1"},"nativeSrc":"11534:32:1","nodeType":"YulFunctionCall","src":"11534:32:1"}],"functionName":{"name":"mstore","nativeSrc":"11507:6:1","nodeType":"YulIdentifier","src":"11507:6:1"},"nativeSrc":"11507:60:1","nodeType":"YulFunctionCall","src":"11507:60:1"},"nativeSrc":"11507:60:1","nodeType":"YulExpressionStatement","src":"11507:60:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11587:9:1","nodeType":"YulIdentifier","src":"11587:9:1"},{"kind":"number","nativeSrc":"11598:2:1","nodeType":"YulLiteral","src":"11598:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"11583:3:1","nodeType":"YulIdentifier","src":"11583:3:1"},"nativeSrc":"11583:18:1","nodeType":"YulFunctionCall","src":"11583:18:1"},{"name":"value3","nativeSrc":"11603:6:1","nodeType":"YulIdentifier","src":"11603:6:1"}],"functionName":{"name":"mstore","nativeSrc":"11576:6:1","nodeType":"YulIdentifier","src":"11576:6:1"},"nativeSrc":"11576:34:1","nodeType":"YulFunctionCall","src":"11576:34:1"},"nativeSrc":"11576:34:1","nodeType":"YulExpressionStatement","src":"11576:34:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11630:9:1","nodeType":"YulIdentifier","src":"11630:9:1"},{"kind":"number","nativeSrc":"11641:3:1","nodeType":"YulLiteral","src":"11641:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"11626:3:1","nodeType":"YulIdentifier","src":"11626:3:1"},"nativeSrc":"11626:19:1","nodeType":"YulFunctionCall","src":"11626:19:1"},{"arguments":[{"name":"value4","nativeSrc":"11651:6:1","nodeType":"YulIdentifier","src":"11651:6:1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"11667:3:1","nodeType":"YulLiteral","src":"11667:3:1","type":"","value":"160"},{"kind":"number","nativeSrc":"11672:1:1","nodeType":"YulLiteral","src":"11672:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"11663:3:1","nodeType":"YulIdentifier","src":"11663:3:1"},"nativeSrc":"11663:11:1","nodeType":"YulFunctionCall","src":"11663:11:1"},{"kind":"number","nativeSrc":"11676:1:1","nodeType":"YulLiteral","src":"11676:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"11659:3:1","nodeType":"YulIdentifier","src":"11659:3:1"},"nativeSrc":"11659:19:1","nodeType":"YulFunctionCall","src":"11659:19:1"}],"functionName":{"name":"and","nativeSrc":"11647:3:1","nodeType":"YulIdentifier","src":"11647:3:1"},"nativeSrc":"11647:32:1","nodeType":"YulFunctionCall","src":"11647:32:1"}],"functionName":{"name":"mstore","nativeSrc":"11619:6:1","nodeType":"YulIdentifier","src":"11619:6:1"},"nativeSrc":"11619:61:1","nodeType":"YulFunctionCall","src":"11619:61:1"},"nativeSrc":"11619:61:1","nodeType":"YulExpressionStatement","src":"11619:61:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11700:9:1","nodeType":"YulIdentifier","src":"11700:9:1"},{"kind":"number","nativeSrc":"11711:3:1","nodeType":"YulLiteral","src":"11711:3:1","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"11696:3:1","nodeType":"YulIdentifier","src":"11696:3:1"},"nativeSrc":"11696:19:1","nodeType":"YulFunctionCall","src":"11696:19:1"},{"name":"value5","nativeSrc":"11717:6:1","nodeType":"YulIdentifier","src":"11717:6:1"}],"functionName":{"name":"mstore","nativeSrc":"11689:6:1","nodeType":"YulIdentifier","src":"11689:6:1"},"nativeSrc":"11689:35:1","nodeType":"YulFunctionCall","src":"11689:35:1"},"nativeSrc":"11689:35:1","nodeType":"YulExpressionStatement","src":"11689:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11744:9:1","nodeType":"YulIdentifier","src":"11744:9:1"},{"kind":"number","nativeSrc":"11755:3:1","nodeType":"YulLiteral","src":"11755:3:1","type":"","value":"192"}],"functionName":{"name":"add","nativeSrc":"11740:3:1","nodeType":"YulIdentifier","src":"11740:3:1"},"nativeSrc":"11740:19:1","nodeType":"YulFunctionCall","src":"11740:19:1"},{"name":"value6","nativeSrc":"11761:6:1","nodeType":"YulIdentifier","src":"11761:6:1"}],"functionName":{"name":"mstore","nativeSrc":"11733:6:1","nodeType":"YulIdentifier","src":"11733:6:1"},"nativeSrc":"11733:35:1","nodeType":"YulFunctionCall","src":"11733:35:1"},"nativeSrc":"11733:35:1","nodeType":"YulExpressionStatement","src":"11733:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11788:9:1","nodeType":"YulIdentifier","src":"11788:9:1"},{"kind":"number","nativeSrc":"11799:3:1","nodeType":"YulLiteral","src":"11799:3:1","type":"","value":"224"}],"functionName":{"name":"add","nativeSrc":"11784:3:1","nodeType":"YulIdentifier","src":"11784:3:1"},"nativeSrc":"11784:19:1","nodeType":"YulFunctionCall","src":"11784:19:1"},{"name":"value7","nativeSrc":"11805:6:1","nodeType":"YulIdentifier","src":"11805:6:1"}],"functionName":{"name":"mstore","nativeSrc":"11777:6:1","nodeType":"YulIdentifier","src":"11777:6:1"},"nativeSrc":"11777:35:1","nodeType":"YulFunctionCall","src":"11777:35:1"},"nativeSrc":"11777:35:1","nodeType":"YulExpressionStatement","src":"11777:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11832:9:1","nodeType":"YulIdentifier","src":"11832:9:1"},{"kind":"number","nativeSrc":"11843:3:1","nodeType":"YulLiteral","src":"11843:3:1","type":"","value":"256"}],"functionName":{"name":"add","nativeSrc":"11828:3:1","nodeType":"YulIdentifier","src":"11828:3:1"},"nativeSrc":"11828:19:1","nodeType":"YulFunctionCall","src":"11828:19:1"},{"name":"value8","nativeSrc":"11849:6:1","nodeType":"YulIdentifier","src":"11849:6:1"}],"functionName":{"name":"mstore","nativeSrc":"11821:6:1","nodeType":"YulIdentifier","src":"11821:6:1"},"nativeSrc":"11821:35:1","nodeType":"YulFunctionCall","src":"11821:35:1"},"nativeSrc":"11821:35:1","nodeType":"YulExpressionStatement","src":"11821:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11876:9:1","nodeType":"YulIdentifier","src":"11876:9:1"},{"kind":"number","nativeSrc":"11887:3:1","nodeType":"YulLiteral","src":"11887:3:1","type":"","value":"288"}],"functionName":{"name":"add","nativeSrc":"11872:3:1","nodeType":"YulIdentifier","src":"11872:3:1"},"nativeSrc":"11872:19:1","nodeType":"YulFunctionCall","src":"11872:19:1"},{"name":"value9","nativeSrc":"11893:6:1","nodeType":"YulIdentifier","src":"11893:6:1"}],"functionName":{"name":"mstore","nativeSrc":"11865:6:1","nodeType":"YulIdentifier","src":"11865:6:1"},"nativeSrc":"11865:35:1","nodeType":"YulFunctionCall","src":"11865:35:1"},"nativeSrc":"11865:35:1","nodeType":"YulExpressionStatement","src":"11865:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11920:9:1","nodeType":"YulIdentifier","src":"11920:9:1"},{"kind":"number","nativeSrc":"11931:3:1","nodeType":"YulLiteral","src":"11931:3:1","type":"","value":"320"}],"functionName":{"name":"add","nativeSrc":"11916:3:1","nodeType":"YulIdentifier","src":"11916:3:1"},"nativeSrc":"11916:19:1","nodeType":"YulFunctionCall","src":"11916:19:1"},{"name":"value10","nativeSrc":"11937:7:1","nodeType":"YulIdentifier","src":"11937:7:1"}],"functionName":{"name":"mstore","nativeSrc":"11909:6:1","nodeType":"YulIdentifier","src":"11909:6:1"},"nativeSrc":"11909:36:1","nodeType":"YulFunctionCall","src":"11909:36:1"},"nativeSrc":"11909:36:1","nodeType":"YulExpressionStatement","src":"11909:36:1"}]},"name":"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed","nativeSrc":"10976:975:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"11246:9:1","nodeType":"YulTypedName","src":"11246:9:1","type":""},{"name":"value10","nativeSrc":"11257:7:1","nodeType":"YulTypedName","src":"11257:7:1","type":""},{"name":"value9","nativeSrc":"11266:6:1","nodeType":"YulTypedName","src":"11266:6:1","type":""},{"name":"value8","nativeSrc":"11274:6:1","nodeType":"YulTypedName","src":"11274:6:1","type":""},{"name":"value7","nativeSrc":"11282:6:1","nodeType":"YulTypedName","src":"11282:6:1","type":""},{"name":"value6","nativeSrc":"11290:6:1","nodeType":"YulTypedName","src":"11290:6:1","type":""},{"name":"value5","nativeSrc":"11298:6:1","nodeType":"YulTypedName","src":"11298:6:1","type":""},{"name":"value4","nativeSrc":"11306:6:1","nodeType":"YulTypedName","src":"11306:6:1","type":""},{"name":"value3","nativeSrc":"11314:6:1","nodeType":"YulTypedName","src":"11314:6:1","type":""},{"name":"value2","nativeSrc":"11322:6:1","nodeType":"YulTypedName","src":"11322:6:1","type":""},{"name":"value1","nativeSrc":"11330:6:1","nodeType":"YulTypedName","src":"11330:6:1","type":""},{"name":"value0","nativeSrc":"11338:6:1","nodeType":"YulTypedName","src":"11338:6:1","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"11349:4:1","nodeType":"YulTypedName","src":"11349:4:1","type":""}],"src":"10976:975:1"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := 0\n        value_1 := calldataload(add(headStart, 32))\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_struct$_Boost_$77_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        let _1 := sub(dataEnd, headStart)\n        if slt(_1, 288) { revert(0, 0) }\n        if slt(_1, 256) { revert(0, 0) }\n        value0 := headStart\n        let offset := calldataload(add(headStart, 256))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := calldataload(_2)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        if gt(add(add(_2, length), 0x20), dataEnd) { revert(0, 0) }\n        value1 := add(_2, 0x20)\n        value2 := length\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint256t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let value_2 := 0\n        value_2 := calldataload(add(headStart, 64))\n        value2 := value_2\n        let value_3 := 0\n        value_3 := calldataload(add(headStart, 96))\n        value3 := value_3\n        let value_4 := 0\n        value_4 := calldataload(add(headStart, 128))\n        value4 := value_4\n        let value_5 := 0\n        value_5 := calldataload(add(headStart, 160))\n        value5 := value_5\n        let value_6 := 0\n        value_6 := calldataload(add(headStart, 192))\n        value6 := value_6\n        let value_7 := 0\n        value_7 := calldataload(add(headStart, 224))\n        value7 := value_7\n    }\n    function abi_encode_tuple_t_stringliteral_a849a16894184b1d7b6fc963510f32148fc8eb91616e65986ad26c0dfa5cb53a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 19)\n        mstore(add(headStart, 64), \"boost has no expiry\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_a0f16d37fb203ccfe47ebc77955d3b7cb380c78925cdc45c99a1f866d03687bd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 13)\n        mstore(add(headStart, 64), \"boost expired\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_4a546485c9d2682edf588693bae6e77babc71f88a38fae98dd3c873a3e76f3f3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 20)\n        mstore(add(headStart, 64), \"boost has no ceiling\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_5e465502739888938a8e414298e6e02e815fbcadb796b4114783bd32fb659aae__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 23)\n        mstore(add(headStart, 64), \"boost already presented\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_0a77b7ed6006c2927fdd222aa2cd03e14108055f00a085dc54bff7b262ab2019__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 22)\n        mstore(add(headStart, 64), \"boost epoch superseded\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_bbf80e83d38686fa6d0412db9f76e38033de6c393a8310513aa9671bd80b890d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"this verifier is not a rivet of \")\n        mstore(add(headStart, 96), \"that identity\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_payable__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_e393878fb837820f95cb2e7887bc2e58a8e32bbd668ae608cb3b3e321df40800__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"recipient is not an active rivet\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_bytes32_t_bytes_calldata_ptr__to_t_bytes32_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 64)\n        mstore(add(headStart, 64), value2)\n        calldatacopy(add(headStart, 96), value1, value2)\n        mstore(add(add(headStart, value2), 96), 0)\n        tail := add(add(headStart, and(add(value2, 31), not(31))), 96)\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_89dbb717af4fe923f7a23c0bb79ba1ea58e323a9907d72e15f370e52ec3e93df__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"boost not issued by an active ri\")\n        mstore(add(headStart, 96), \"vet\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_064752624ec34a3d2ad55d0b85fa72764c57c8b5a6afda4180045aa2daef9572__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 40)\n        mstore(add(headStart, 64), \"boost ceiling too low at the cur\")\n        mstore(add(headStart, 96), \"rent fee\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_c40ece204eec58446bd8e2f05889e10471a9582469003c59d1ebd68e5dbec801__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"treasury cannot cover this boost\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_address_payable_t_uint256__to_t_address_payable_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_address__to_t_uint256_t_uint256_t_uint256_t_uint256_t_address__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 160)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), and(value4, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_6c27ccaa09d2750abca2064f15da00df0fcd5853717fe970476807fc728985a6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 42)\n        mstore(add(headStart, 64), \"only an active rivet may advance\")\n        mstore(add(headStart, 96), \" the epoch\")\n        tail := add(headStart, 128)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 352)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(value2, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), and(value4, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 160), value5)\n        mstore(add(headStart, 192), value6)\n        mstore(add(headStart, 224), value7)\n        mstore(add(headStart, 256), value8)\n        mstore(add(headStart, 288), value9)\n        mstore(add(headStart, 320), value10)\n    }\n}","id":1,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100935760003560e01c8063445322a311610066578063445322a31461011b578063ba62ef5d14610125578063bed9bf391461014c578063e20519dd14610161578063ecaa25301461017457600080fd5b8063016191d5146100985780630736e19f146100b35780630b24a269146100d357806342c6cc8c14610111575b600080fd5b6100a0600281565b6040519081526020015b60405180910390f35b6100a06100c1366004610d80565b60006020819052908152604090205481565b6101016100e1366004610da4565b600160209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016100aa565b6100a06203d09081565b6100a062015f9081565b6100a07f0295854092d5e178b9b36d8644dc8f1902a782fe7e04d99298de4b61810f422d81565b61015f61015a366004610dd0565b610187565b005b6100a061016f366004610d80565b610b1b565b6100a0610182366004610e60565b610ccd565b60005a9050600061019b6020860186610d80565b90508460a001356000036101ec5760405162461bcd60e51b8152602060048201526013602482015272626f6f737420686173206e6f2065787069727960681b60448201526064015b60405180910390fd5b8460a001354211156102305760405162461bcd60e51b815260206004820152600d60248201526c189bdbdcdd08195e1c1a5c9959609a1b60448201526064016101e3565b846040013560000361027b5760405162461bcd60e51b8152602060048201526014602482015273626f6f737420686173206e6f206365696c696e6760601b60448201526064016101e3565b6001600061028c6020880188610d80565b6001600160a01b031681526020808201929092526040908101600090812060c0890135825290925290205460ff16156103075760405162461bcd60e51b815260206004820152601760248201527f626f6f737420616c72656164792070726573656e74656400000000000000000060448201526064016101e3565b60e085013560008061031c6020890189610d80565b6001600160a01b03166001600160a01b0316815260200190815260200160002054146103835760405162461bcd60e51b8152602060048201526016602482015275189bdbdcdd08195c1bd8da081cdd5c195c9cd959195960521b60448201526064016101e3565b6040516301fd3f7760e71b81523060048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa1580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb9190610ecb565b801561045a5750604051635ff0ffe560e11b81523060048201526001600160a01b0382169063bfe1ffca90602401602060405180830381865afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190610ecb565b6104bc5760405162461bcd60e51b815260206004820152602d60248201527f74686973207665726966696572206973206e6f742061207269766574206f662060448201526c74686174206964656e7469747960981b60648201526084016101e3565b6001600160a01b03811663fe9fbb806104db6040880160208901610d80565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561051f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105439190610ecb565b80156105d157506001600160a01b03811663bfe1ffca6105696040880160208901610d80565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610ecb565b61061d5760405162461bcd60e51b815260206004820181905260248201527f726563697069656e74206973206e6f7420616e2061637469766520726976657460448201526064016101e3565b630b135d3f60e11b6001600160a01b038216631626ba7e61067761064460208a018a610d80565b61065460408b0160208c01610d80565b8a604001358b606001358c608001358d60a001358e60c001358f60e00135610ccd565b87876040518463ffffffff1660e01b815260040161069793929190610eed565b602060405180830381865afa1580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d89190610f23565b6001600160e01b0319161461073b5760405162461bcd60e51b815260206004820152602360248201527f626f6f7374206e6f742069737375656420627920616e206163746976652072696044820152621d995d60ea1b60648201526084016101e3565b600180600061074d6020890189610d80565b6001600160a01b031681526020808201929092526040908101600090812060c08a013582529092528120805460ff19169215159290921790915580803a62015f905a6107999088610f63565b6107a39190610f7c565b6107ad9190610f8f565b905087604001358111156107c2575060408701355b60006107d28260408b0135610f63565b9050808960600135116107e95788606001356107eb565b805b92506107f78382610f63565b905048801561082d576002816108146203d09060808e0135610f8f565b61081e9190610f8f565b6108289190610f8f565b61082f565b815b94508185111561083d578194505b801561085557610850816203d090610f8f565b610858565b60015b8510156108b85760405162461bcd60e51b815260206004820152602860248201527f626f6f7374206365696c696e6720746f6f206c6f77206174207468652063757260448201526772656e742066656560c01b60648201526084016101e3565b508290506108c68285610f7c565b6108d09190610f7c565b846001600160a01b03166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190610fa6565b10156109805760405162461bcd60e51b815260206004820181905260248201527f74726561737572792063616e6e6f7420636f766572207468697320626f6f737460448201526064016101e3565b6001600160a01b0384166364a197f361099f60408b0160208c01610d80565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101869052604401600060405180830381600087803b1580156109e757600080fd5b505af11580156109fb573d6000803e3d6000fd5b5050505060008282610a0d9190610f7c565b1115610a8c576001600160a01b0384166364a197f333610a2d8585610f7c565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b505050505b610a9c6040890160208a01610d80565b6001600160a01b0316610ab260208a018a610d80565b6040805160c08c0135815260208101879052908101849052606081018590523360808201526001600160a01b0391909116907ffc81bb984905c360e80dc580c5477471426d3a12715290c13ab1227a9ffeae719060a00160405180910390a35050505050505050565b6040516301fd3f7760e71b815233600482015260009082906001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015610b64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b889190610ecb565b8015610bf75750604051635ff0ffe560e11b81523360048201526001600160a01b0382169063bfe1ffca90602401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190610ecb565b610c565760405162461bcd60e51b815260206004820152602a60248201527f6f6e6c7920616e20616374697665207269766574206d617920616476616e6365604482015269040e8d0ca40cae0dec6d60b31b60648201526084016101e3565b6001600160a01b038316600090815260208190526040812080548290610c7b90610fbf565b9182905550604080518281523360208201529192506001600160a01b038616917f674d995dc85855ce52d468f391f3c2703dc66ad7588fd77e64743409b8f1d513910160405180910390a29392505050565b604080517f0295854092d5e178b9b36d8644dc8f1902a782fe7e04d99298de4b61810f422d60208083019190915230828401526001600160a01b039a8b1660608301524660808301529890991660a08a015260c089019690965260e088019490945261010087019290925261012086015261014085015261016080850191909152815180850390910181526101809093019052815191012090565b6001600160a01b0381168114610d7d57600080fd5b50565b600060208284031215610d9257600080fd5b8135610d9d81610d68565b9392505050565b60008060408385031215610db757600080fd5b8235610dc281610d68565b946020939093013593505050565b6000806000838503610120811215610de757600080fd5b610100811215610df657600080fd5b5083925061010084013567ffffffffffffffff811115610e1557600080fd5b8401601f81018613610e2657600080fd5b803567ffffffffffffffff811115610e3d57600080fd5b866020828401011115610e4f57600080fd5b939660209190910195509293505050565b600080600080600080600080610100898b031215610e7d57600080fd5b8835610e8881610d68565b97506020890135610e9881610d68565b979a9799505050506040860135956060810135956080820135955060a0820135945060c0820135935060e0909101359150565b600060208284031215610edd57600080fd5b81518015158114610d9d57600080fd5b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b600060208284031215610f3557600080fd5b81516001600160e01b031981168114610d9d57600080fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f7657610f76610f4d565b92915050565b80820180821115610f7657610f76610f4d565b8082028115828204841417610f7657610f76610f4d565b600060208284031215610fb857600080fd5b5051919050565b600060018201610fd157610fd1610f4d565b506001019056fea26469706673582212205f03dac4aa0a4d23e661a20de7daabff74df69b12565f1c39677200f650261d364736f6c634300081b0033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x445322A3 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x445322A3 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0xBA62EF5D EQ PUSH2 0x125 JUMPI DUP1 PUSH4 0xBED9BF39 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0xE20519DD EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0xECAA2530 EQ PUSH2 0x174 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x16191D5 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x736E19F EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xB24A269 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x42C6CC8C EQ PUSH2 0x111 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH1 0x2 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA0 PUSH2 0xC1 CALLDATASIZE PUSH1 0x4 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x101 PUSH2 0xE1 CALLDATASIZE PUSH1 0x4 PUSH2 0xDA4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xAA JUMP JUMPDEST PUSH2 0xA0 PUSH3 0x3D090 DUP2 JUMP JUMPDEST PUSH2 0xA0 PUSH3 0x15F90 DUP2 JUMP JUMPDEST PUSH2 0xA0 PUSH32 0x295854092D5E178B9B36D8644DC8F1902A782FE7E04D99298DE4B61810F422D DUP2 JUMP JUMPDEST PUSH2 0x15F PUSH2 0x15A CALLDATASIZE PUSH1 0x4 PUSH2 0xDD0 JUMP JUMPDEST PUSH2 0x187 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA0 PUSH2 0x16F CALLDATASIZE PUSH1 0x4 PUSH2 0xD80 JUMP JUMPDEST PUSH2 0xB1B JUMP JUMPDEST PUSH2 0xA0 PUSH2 0x182 CALLDATASIZE PUSH1 0x4 PUSH2 0xE60 JUMP JUMPDEST PUSH2 0xCCD JUMP JUMPDEST PUSH1 0x0 GAS SWAP1 POP PUSH1 0x0 PUSH2 0x19B PUSH1 0x20 DUP7 ADD DUP7 PUSH2 0xD80 JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0xA0 ADD CALLDATALOAD PUSH1 0x0 SUB PUSH2 0x1EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x626F6F737420686173206E6F20657870697279 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH1 0xA0 ADD CALLDATALOAD TIMESTAMP GT ISZERO PUSH2 0x230 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x189BDBDCDD08195E1C1A5C9959 PUSH1 0x9A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST DUP5 PUSH1 0x40 ADD CALLDATALOAD PUSH1 0x0 SUB PUSH2 0x27B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x626F6F737420686173206E6F206365696C696E67 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 PUSH2 0x28C PUSH1 0x20 DUP9 ADD DUP9 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 PUSH1 0xC0 DUP10 ADD CALLDATALOAD DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x307 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626F6F737420616C72656164792070726573656E746564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0xE0 DUP6 ADD CALLDATALOAD PUSH1 0x0 DUP1 PUSH2 0x31C PUSH1 0x20 DUP10 ADD DUP10 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ PUSH2 0x383 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x189BDBDCDD08195C1BD8DA081CDD5C195C9CD9591959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1FD3F77 PUSH1 0xE7 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xFE9FBB80 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3C7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3EB SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x45A JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x5FF0FFE5 PUSH1 0xE1 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xBFE1FFCA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x436 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x45A SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST PUSH2 0x4BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x74686973207665726966696572206973206E6F742061207269766574206F6620 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x74686174206964656E74697479 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH4 0xFE9FBB80 PUSH2 0x4DB PUSH1 0x40 DUP9 ADD PUSH1 0x20 DUP10 ADD PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x51F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x543 SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5D1 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH4 0xBFE1FFCA PUSH2 0x569 PUSH1 0x40 DUP9 ADD PUSH1 0x20 DUP10 ADD PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5D1 SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST PUSH2 0x61D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x726563697069656E74206973206E6F7420616E20616374697665207269766574 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH4 0x1626BA7E PUSH2 0x677 PUSH2 0x644 PUSH1 0x20 DUP11 ADD DUP11 PUSH2 0xD80 JUMP JUMPDEST PUSH2 0x654 PUSH1 0x40 DUP12 ADD PUSH1 0x20 DUP13 ADD PUSH2 0xD80 JUMP JUMPDEST DUP11 PUSH1 0x40 ADD CALLDATALOAD DUP12 PUSH1 0x60 ADD CALLDATALOAD DUP13 PUSH1 0x80 ADD CALLDATALOAD DUP14 PUSH1 0xA0 ADD CALLDATALOAD DUP15 PUSH1 0xC0 ADD CALLDATALOAD DUP16 PUSH1 0xE0 ADD CALLDATALOAD PUSH2 0xCCD JUMP JUMPDEST DUP8 DUP8 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x697 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xEED JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6B4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6D8 SWAP2 SWAP1 PUSH2 0xF23 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND EQ PUSH2 0x73B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626F6F7374206E6F742069737375656420627920616E20616374697665207269 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1D995D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 PUSH2 0x74D PUSH1 0x20 DUP10 ADD DUP10 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 PUSH1 0xC0 DUP11 ADD CALLDATALOAD DUP3 MSTORE SWAP1 SWAP3 MSTORE DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE DUP1 DUP1 GASPRICE PUSH3 0x15F90 GAS PUSH2 0x799 SWAP1 DUP9 PUSH2 0xF63 JUMP JUMPDEST PUSH2 0x7A3 SWAP2 SWAP1 PUSH2 0xF7C JUMP JUMPDEST PUSH2 0x7AD SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST SWAP1 POP DUP8 PUSH1 0x40 ADD CALLDATALOAD DUP2 GT ISZERO PUSH2 0x7C2 JUMPI POP PUSH1 0x40 DUP8 ADD CALLDATALOAD JUMPDEST PUSH1 0x0 PUSH2 0x7D2 DUP3 PUSH1 0x40 DUP12 ADD CALLDATALOAD PUSH2 0xF63 JUMP JUMPDEST SWAP1 POP DUP1 DUP10 PUSH1 0x60 ADD CALLDATALOAD GT PUSH2 0x7E9 JUMPI DUP9 PUSH1 0x60 ADD CALLDATALOAD PUSH2 0x7EB JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP PUSH2 0x7F7 DUP4 DUP3 PUSH2 0xF63 JUMP JUMPDEST SWAP1 POP BASEFEE DUP1 ISZERO PUSH2 0x82D JUMPI PUSH1 0x2 DUP2 PUSH2 0x814 PUSH3 0x3D090 PUSH1 0x80 DUP15 ADD CALLDATALOAD PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x81E SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x828 SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x82F JUMP JUMPDEST DUP2 JUMPDEST SWAP5 POP DUP2 DUP6 GT ISZERO PUSH2 0x83D JUMPI DUP2 SWAP5 POP JUMPDEST DUP1 ISZERO PUSH2 0x855 JUMPI PUSH2 0x850 DUP2 PUSH3 0x3D090 PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x858 JUMP JUMPDEST PUSH1 0x1 JUMPDEST DUP6 LT ISZERO PUSH2 0x8B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626F6F7374206365696C696E6720746F6F206C6F772061742074686520637572 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x72656E7420666565 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST POP DUP3 SWAP1 POP PUSH2 0x8C6 DUP3 DUP6 PUSH2 0xF7C JUMP JUMPDEST PUSH2 0x8D0 SWAP2 SWAP1 PUSH2 0xF7C JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x90E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x932 SWAP2 SWAP1 PUSH2 0xFA6 JUMP JUMPDEST LT ISZERO PUSH2 0x980 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x74726561737572792063616E6E6F7420636F766572207468697320626F6F7374 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH4 0x64A197F3 PUSH2 0x99F PUSH1 0x40 DUP12 ADD PUSH1 0x20 DUP13 ADD PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 DUP3 DUP3 PUSH2 0xA0D SWAP2 SWAP1 PUSH2 0xF7C JUMP JUMPDEST GT ISZERO PUSH2 0xA8C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH4 0x64A197F3 CALLER PUSH2 0xA2D DUP6 DUP6 PUSH2 0xF7C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA87 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH2 0xA9C PUSH1 0x40 DUP10 ADD PUSH1 0x20 DUP11 ADD PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xAB2 PUSH1 0x20 DUP11 ADD DUP11 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP13 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP8 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP6 SWAP1 MSTORE CALLER PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND SWAP1 PUSH32 0xFC81BB984905C360E80DC580C5477471426D3A12715290C13AB1227A9FFEAE71 SWAP1 PUSH1 0xA0 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1FD3F77 PUSH1 0xE7 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xFE9FBB80 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB64 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB88 SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBF7 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x5FF0FFE5 PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xBFE1FFCA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBD3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBF7 SWAP2 SWAP1 PUSH2 0xECB JUMP JUMPDEST PUSH2 0xC56 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F6E6C7920616E20616374697665207269766574206D617920616476616E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x40E8D0CA40CAE0DEC6D PUSH1 0xB3 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SWAP1 PUSH2 0xC7B SWAP1 PUSH2 0xFBF JUMP JUMPDEST SWAP2 DUP3 SWAP1 SSTORE POP PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP2 PUSH32 0x674D995DC85855CE52D468F391F3C2703DC66AD7588FD77E64743409B8F1D513 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x295854092D5E178B9B36D8644DC8F1902A782FE7E04D99298DE4B61810F422D PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADDRESS DUP3 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP11 DUP12 AND PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE SWAP9 SWAP1 SWAP10 AND PUSH1 0xA0 DUP11 ADD MSTORE PUSH1 0xC0 DUP10 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0xE0 DUP9 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH2 0x100 DUP8 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH2 0x120 DUP7 ADD MSTORE PUSH2 0x140 DUP6 ADD MSTORE PUSH2 0x160 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 MLOAD DUP1 DUP6 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH2 0x180 SWAP1 SWAP4 ADD SWAP1 MSTORE DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xD9D DUP2 PUSH2 0xD68 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0xDC2 DUP2 PUSH2 0xD68 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP6 SUB PUSH2 0x120 DUP2 SLT ISZERO PUSH2 0xDE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x100 DUP2 SLT ISZERO PUSH2 0xDF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP4 SWAP3 POP PUSH2 0x100 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 ADD PUSH1 0x1F DUP2 ADD DUP7 SGT PUSH2 0xE26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 PUSH1 0x20 DUP3 DUP5 ADD ADD GT ISZERO PUSH2 0xE4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 PUSH1 0x20 SWAP2 SWAP1 SWAP2 ADD SWAP6 POP SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0xE7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH2 0xE88 DUP2 PUSH2 0xD68 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD PUSH2 0xE98 DUP2 PUSH2 0xD68 JUMP JUMPDEST SWAP8 SWAP11 SWAP8 SWAP10 POP POP POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP6 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP6 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 DUP3 ADD CALLDATALOAD SWAP4 POP PUSH1 0xE0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xD9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE DUP2 DUP4 PUSH1 0x60 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP4 ADD PUSH1 0x60 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xD9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xF76 JUMPI PUSH2 0xF76 PUSH2 0xF4D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xF76 JUMPI PUSH2 0xF76 PUSH2 0xF4D JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xF76 JUMPI PUSH2 0xF76 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0xFD1 JUMPI PUSH2 0xFD1 PUSH2 0xF4D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH0 SUB 0xDA 0xC4 0xAA EXP 0x4D 0x23 0xE6 PUSH2 0xA20D 0xE7 0xDA 0xAB SELFDESTRUCT PUSH21 0xDF69B12565F1C39677200F650261D364736F6C6343 STOP ADDMOD SHL STOP CALLER ","sourceMap":"2502:9704:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3377:40;;3416:1;3377:40;;;;;160:25:1;;;148:2;133:18;3377:40:0;;;;;;;;4671:47;;;;;;:::i;:::-;;;;;;;;;;;;;;;4775:57;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1121:14:1;;1114:22;1096:41;;1084:2;1069:18;4775:57:0;956:187:1;3167:47:0;;3207:7;3167:47;;3655:49;;3698:6;3655:49;;2532:242;;2573:201;2532:242;;7194:4208;;;;;;:::i;:::-;;:::i;:::-;;11804:400;;;;;;:::i;:::-;;:::i;5525:555::-;;;;;;:::i;:::-;;:::i;7194:4208::-;7274:16;7293:9;7274:28;-1:-1:-1;7312:12:0;7337:10;;;;:1;:10;:::i;:::-;7312:36;;7446:1;:10;;;7460:1;7446:15;7438:47;;;;-1:-1:-1;;;7438:47:0;;3386:2:1;7438:47:0;;;3368:21:1;3425:2;3405:18;;;3398:30;-1:-1:-1;;;3444:18:1;;;3437:49;3503:18;;7438:47:0;;;;;;;;;7522:1;:10;;;7503:15;:29;;7495:55;;;;-1:-1:-1;;;7495:55:0;;3734:2:1;7495:55:0;;;3716:21:1;3773:2;3753:18;;;3746:30;-1:-1:-1;;;3792:18:1;;;3785:43;3845:18;;7495:55:0;3532:337:1;7495:55:0;7568:1;:8;;;7580:1;7568:13;7560:46;;;;-1:-1:-1;;;7560:46:0;;4076:2:1;7560:46:0;;;4058:21:1;4115:2;4095:18;;;4088:30;-1:-1:-1;;;4134:18:1;;;4127:50;4194:18;;7560:46:0;3874:344:1;7560:46:0;7625:5;:17;7631:10;;;;:1;:10;:::i;:::-;-1:-1:-1;;;;;7625:17:0;;;;;;;;;;;;;;;-1:-1:-1;7625:17:0;;;7643:9;;;;7625:28;;;;;;;;;;7624:29;7616:65;;;;-1:-1:-1;;;7616:65:0;;4425:2:1;7616:65:0;;;4407:21:1;4464:2;4444:18;;;4437:30;4503:25;4483:18;;;4476:53;4546:18;;7616:65:0;4223:347:1;7616:65:0;7727:7;;;;7699:12;;7712:10;;;;7727:1;7712:10;:::i;:::-;-1:-1:-1;;;;;7699:24:0;-1:-1:-1;;;;;7699:24:0;;;;;;;;;;;;;:35;7691:70;;;;-1:-1:-1;;;7691:70:0;;4777:2:1;7691:70:0;;;4759:21:1;4816:2;4796:18;;;4789:30;-1:-1:-1;;;4835:18:1;;;4828:52;4897:18;;7691:70:0;4575:346:1;7691:70:0;7792:30;;-1:-1:-1;;;7792:30:0;;7816:4;7792:30;;;5072:51:1;-1:-1:-1;;;;;7792:15:0;;;;;5045:18:1;;7792:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:63;;;;-1:-1:-1;7826:29:0;;-1:-1:-1;;;7826:29:0;;7849:4;7826:29;;;5072:51:1;-1:-1:-1;;;;;7826:14:0;;;;;5045:18:1;;7826:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7771:155;;;;-1:-1:-1;;;7771:155:0;;5618:2:1;7771:155:0;;;5600:21:1;5657:2;5637:18;;;5630:30;5696:34;5676:18;;;5669:62;-1:-1:-1;;;5747:18:1;;;5740:43;5800:19;;7771:155:0;5416:409:1;7771:155:0;-1:-1:-1;;;;;7957:15:0;;;7973:11;;;;;;;;:::i;:::-;7957:28;;-1:-1:-1;;;;;;7957:28:0;;;;;;;-1:-1:-1;;;;;5090:32:1;;;7957:28:0;;;5072:51:1;5045:18;;7957:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;;;-1:-1:-1;;;;;;7989:14:0;;;8004:11;;;;;;;;:::i;:::-;7989:27;;-1:-1:-1;;;;;;7989:27:0;;;;;;;-1:-1:-1;;;;;5090:32:1;;;7989:27:0;;;5072:51:1;5045:18;;7989:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7936:138;;;;-1:-1:-1;;;7936:138:0;;6508:2:1;7936:138:0;;;6490:21:1;;;6527:18;;;6520:30;6586:34;6566:18;;;6559:62;6638:18;;7936:138:0;6306:356:1;7936:138:0;-1:-1:-1;;;;;;;;8401:19:0;;2874:10;8438:93;8445:10;;;;:1;:10;:::i;:::-;8457:11;;;;;;;;:::i;:::-;8470:1;:8;;;8480:1;:8;;;8490:1;:8;;;8500:1;:10;;;8512:1;:9;;;8523:1;:7;;;8438:6;:93::i;:::-;8549:9;;8401:171;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;8401:188:0;;8380:270;;;;-1:-1:-1;;;8380:270:0;;7628:2:1;8380:270:0;;;7610:21:1;7667:2;7647:18;;;7640:30;7706:34;7686:18;;;7679:62;-1:-1:-1;;;7757:18:1;;;7750:33;7800:19;;8380:270:0;7426:399:1;8380:270:0;8692:4;;8661:17;8667:10;;;;:1;:10;:::i;:::-;-1:-1:-1;;;;;8661:17:0;;;;;;;;;;;;;;;-1:-1:-1;8661:17:0;;;8679:9;;;;8661:28;;;;;;;:35;;-1:-1:-1;;8661:35:0;;;;;;;;;;;-1:-1:-1;;9529:11:0;3698:6;9497:9;9486:20;;:8;:20;:::i;:::-;:39;;;;:::i;:::-;9485:55;;;;:::i;:::-;9472:68;;9571:1;:8;;;9558:10;:21;9554:48;;;-1:-1:-1;9594:8:0;;;;9554:48;9617:17;9637:21;9648:10;9637:8;;;;:21;:::i;:::-;9617:41;;9689:9;9678:1;:8;;;:20;:43;;9713:1;:8;;;9678:43;;;9701:9;9678:43;9672:49;-1:-1:-1;9735:16:0;9672:49;9735:16;;:::i;:::-;;-1:-1:-1;10164:13:0;10198:8;;:68;;3416:1;10248:3;10221:24;3207:7;10221:8;;;;:24;:::i;:::-;:30;;;;:::i;:::-;:45;;;;:::i;:::-;10198:68;;;10209:9;10198:68;10191:75;;10291:9;10284:4;:16;10280:38;;;10309:9;10302:16;;10280:38;10557:8;;:34;;10572:19;10588:3;3207:7;10572:19;:::i;:::-;10557:34;;;10568:1;10557:34;10548:4;:44;;10540:97;;;;-1:-1:-1;;;10540:97:0;;8600:2:1;10540:97:0;;;8582:21:1;8639:2;8619:18;;;8612:30;8678:34;8658:18;;;8651:62;-1:-1:-1;;;8729:18:1;;;8722:38;8777:19;;10540:97:0;8398:404:1;10540:97:0;-1:-1:-1;10705:3:0;;-1:-1:-1;10685:17:0;10692:10;10685:4;:17;:::i;:::-;:23;;;;:::i;:::-;10666:2;-1:-1:-1;;;;;10666:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;;10658:87;;;;-1:-1:-1;;;10658:87:0;;9198:2:1;10658:87:0;;;9180:21:1;;;9217:18;;;9210:30;9276:34;9256:18;;;9249:62;9328:18;;10658:87:0;8996:356:1;10658:87:0;-1:-1:-1;;;;;11031:10:0;;;11042:11;;;;;;;;:::i;:::-;11031:29;;-1:-1:-1;;;;;;11031:29:0;;;;;;;-1:-1:-1;;;;;9565:32:1;;;11031:29:0;;;9547:51:1;9614:18;;;9607:34;;;9520:18;;11031:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11242:1;11236:3;11223:10;:16;;;;:::i;:::-;:20;11219:75;;;-1:-1:-1;;;;;11245:10:0;;;11264;11277:16;11290:3;11277:10;:16;:::i;:::-;11245:49;;-1:-1:-1;;;;;;11245:49:0;;;;;;;-1:-1:-1;;;;;9565:32:1;;;11245:49:0;;;9547:51:1;9614:18;;;9607:34;9520:18;;11245:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11219:75;11337:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11310:85:0;11325:10;;;;:1;:10;:::i;:::-;11310:85;;;11350:9;;;;9911:25:1;;9967:2;9952:18;;9945:34;;;9995:18;;;9988:34;;;10053:2;10038:18;;10031:34;;;11384:10:0;10096:3:1;10081:19;;10074:61;-1:-1:-1;;;;;11310:85:0;;;;;;;9898:3:1;9883:19;11310:85:0;;;;;;;7264:4138;;;;;7194:4208;;;:::o;11804:400::-;11946:27;;-1:-1:-1;;;11946:27:0;;11962:10;11946:27;;;5072:51:1;11862:7:0;;11906:8;;-1:-1:-1;;;;;11946:15:0;;;;;5045:18:1;;11946:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;;;-1:-1:-1;11977:26:0;;-1:-1:-1;;;11977:26:0;;11992:10;11977:26;;;5072:51:1;-1:-1:-1;;;;;11977:14:0;;;;;5045:18:1;;11977:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11925:146;;;;-1:-1:-1;;;11925:146:0;;10348:2:1;11925:146:0;;;10330:21:1;10387:2;10367:18;;;10360:30;10426:34;10406:18;;;10399:62;-1:-1:-1;;;10477:18:1;;;10470:40;10527:19;;11925:146:0;10146:406:1;11925:146:0;-1:-1:-1;;;;;12098:22:0;;12081:12;12098:22;;;;;;;;;;12096:24;;12081:12;;12096:24;;;:::i;:::-;;;;;-1:-1:-1;12135:41:0;;;10871:25:1;;;12165:10:0;10927:2:1;10912:18;;10905:60;12096:24:0;;-1:-1:-1;;;;;;12135:41:0;;;;;10844:18:1;12135:41:0;;;;;;;12193:4;11804:400;-1:-1:-1;;;11804:400:0:o;5525:555::-;5803:269;;;2573:201;5803:269;;;;11404:25:1;;;;5863:4:0;11445:18:1;;;11438:60;-1:-1:-1;;;;;11534:32:1;;;11514:18;;;11507:60;5904:13:0;11583:18:1;;;11576:34;11647:32;;;;11626:19;;;11619:61;11696:19;;;11689:35;;;;11740:19;;;11733:35;;;;11784:19;;;11777:35;;;;11828:19;;;11821:35;11872:19;;;11865:35;11916:19;;;;11909:36;;;;5803:269:0;;;;;;;;;;11376:19:1;;;;5803:269:0;;5793:280;;;;;;5525:555::o;196:131:1:-;-1:-1:-1;;;;;271:31:1;;261:42;;251:70;;317:1;314;307:12;251:70;196:131;:::o;332:247::-;391:6;444:2;432:9;423:7;419:23;415:32;412:52;;;460:1;457;450:12;412:52;499:9;486:23;518:31;543:5;518:31;:::i;:::-;568:5;332:247;-1:-1:-1;;;332:247:1:o;584:367::-;652:6;660;713:2;701:9;692:7;688:23;684:32;681:52;;;729:1;726;719:12;681:52;768:9;755:23;787:31;812:5;787:31;:::i;:::-;837:5;915:2;900:18;;;;887:32;;-1:-1:-1;;;584:367:1:o;1330:731::-;1432:6;1440;1448;1492:9;1483:7;1479:23;1522:3;1518:2;1514:12;1511:32;;;1539:1;1536;1529:12;1511:32;1563:3;1559:2;1555:12;1552:32;;;1580:1;1577;1570:12;1552:32;;1603:9;1593:19;;1663:3;1652:9;1648:19;1635:33;1691:18;1683:6;1680:30;1677:50;;;1723:1;1720;1713:12;1677:50;1746:22;;1799:4;1791:13;;1787:27;-1:-1:-1;1777:55:1;;1828:1;1825;1818:12;1777:55;1868:2;1855:16;1894:18;1886:6;1883:30;1880:50;;;1926:1;1923;1916:12;1880:50;1973:7;1966:4;1957:6;1953:2;1949:15;1945:26;1942:39;1939:59;;;1994:1;1991;1984:12;1939:59;1330:731;;2025:4;2017:13;;;;;-1:-1:-1;2049:6:1;;-1:-1:-1;;;1330:731:1:o;2066:1113::-;2188:6;2196;2204;2212;2220;2228;2236;2244;2297:3;2285:9;2276:7;2272:23;2268:33;2265:53;;;2314:1;2311;2304:12;2265:53;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;:::-;2422:5;-1:-1:-1;2479:2:1;2464:18;;2451:32;2492:33;2451:32;2492:33;:::i;:::-;2066:1113;;2544:7;;-1:-1:-1;;;;2624:2:1;2609:18;;2596:32;;2727:2;2712:18;;2699:32;;2830:3;2815:19;;2802:33;;-1:-1:-1;2934:3:1;2919:19;;2906:33;;-1:-1:-1;3038:3:1;3023:19;;3010:33;;-1:-1:-1;3142:3:1;3127:19;;;3114:33;;-1:-1:-1;2066:1113:1:o;5134:277::-;5201:6;5254:2;5242:9;5233:7;5229:23;5225:32;5222:52;;;5270:1;5267;5260:12;5222:52;5302:9;5296:16;5355:5;5348:13;5341:21;5334:5;5331:32;5321:60;;5377:1;5374;5367:12;6667:459;6852:6;6841:9;6834:25;6895:2;6890;6879:9;6875:18;6868:30;6934:6;6929:2;6918:9;6914:18;6907:34;6991:6;6983;6978:2;6967:9;6963:18;6950:48;7047:1;7018:22;;;7042:2;7014:31;;;7007:42;;;;7110:2;7089:15;;;-1:-1:-1;;7085:29:1;7070:45;7066:54;;6667:459;-1:-1:-1;;6667:459:1:o;7131:290::-;7200:6;7253:2;7241:9;7232:7;7228:23;7224:32;7221:52;;;7269:1;7266;7259:12;7221:52;7295:16;;-1:-1:-1;;;;;;7340:32:1;;7330:43;;7320:71;;7387:1;7384;7377:12;7830:127;7891:10;7886:3;7882:20;7879:1;7872:31;7922:4;7919:1;7912:15;7946:4;7943:1;7936:15;7962:128;8029:9;;;8050:11;;;8047:37;;;8064:18;;:::i;:::-;7962:128;;;;:::o;8095:125::-;8160:9;;;8181:10;;;8178:36;;;8194:18;;:::i;8225:168::-;8298:9;;;8329;;8346:15;;;8340:22;;8326:37;8316:71;;8367:18;;:::i;8807:184::-;8877:6;8930:2;8918:9;8909:7;8905:23;8901:32;8898:52;;;8946:1;8943;8936:12;8898:52;-1:-1:-1;8969:16:1;;8807:184;-1:-1:-1;8807:184:1:o;10557:135::-;10596:3;10617:17;;;10614:43;;10637:18;;:::i;:::-;-1:-1:-1;10684:1:1;10673:13;;10557:135::o"},"methodIdentifiers":{"BOOST_TYPEHASH()":"ba62ef5d","FEE_HEADROOM()":"016191d5","GAS_PER_WRITE()":"42c6cc8c","PRESENT_OVERHEAD()":"445322a3","advanceEpoch(address)":"e20519dd","currentEpoch(address)":"0736e19f","digest(address,address,uint256,uint256,uint256,uint256,uint256,uint256)":"ecaa2530","present((address,address,uint256,uint256,uint256,uint256,uint256,uint256),bytes)":"bed9bf39","spent(address,uint256)":"0b24a269"}},"metadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"boostId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reimbursed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tip\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"carrier\",\"type\":\"address\"}],\"name\":\"BoostPresented\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"}],\"name\":\"EpochAdvanced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BOOST_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_HEADROOM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GAS_PER_WRITE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRESENT_OVERHEAD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"}],\"name\":\"advanceEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"capWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tipWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"writes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"notAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"boostId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"digest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"capWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tipWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"writes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"notAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"boostId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"internalType\":\"struct BoostVerifier.Boost\",\"name\":\"b\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"present\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"spent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"digest(address,address,uint256,uint256,uint256,uint256,uint256,uint256)\":{\"details\":\"`address(this)` is in the digest as the EIP-712 domain separator's verifying contract. Without it an identity that had adopted two verifiers could have one Boost presented at each, since each keeps its own spent map, and the ceiling would be paid twice.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"FEE_HEADROOM()\":{\"notice\":\"Multiple of the current base fee a Boost funds to, so a device that is topped up can still act when the next block is dearer than this one.\"},\"GAS_PER_WRITE()\":{\"notice\":\"Gas one ordinary identity write costs. Matches the relay's `setMember` budget, which is the dearest of the everyday writes, so a Boost sized in writes errs high rather than short. Public so anyone can check the arithmetic rather than trust it.\"},\"PRESENT_OVERHEAD()\":{\"notice\":\"Gas this call spends outside the metered span \\u2014 the two payouts, the final accounting, and the transaction's own 21k. Deliberately a rough over-estimate: a carrier that is under-reimbursed will not carry.\"},\"advanceEpoch(address)\":{\"notice\":\"Void every outstanding Boost of an identity at one stroke. Any active rivet may do this, because a reserve is the identity's own paper and the hour it leaks is not the hour to look for a quorum. It is an ordinary transaction, so it needs a solvent device \\u2014 a flat one cannot revoke, which is the accepted limit of this version.\"},\"currentEpoch(address)\":{\"notice\":\"identity => the epoch outstanding Boosts must belong to.\"},\"digest(address,address,uint256,uint256,uint256,uint256,uint256,uint256)\":{\"notice\":\"The 32 bytes an issuer signs. Mirror of client/boost-message.mjs.\"},\"present((address,address,uint256,uint256,uint256,uint256,uint256,uint256),bytes)\":{\"notice\":\"Present a Boost. Callable by anyone holding one. Four checks carry the safety, and each is evaluated NOW rather than when the Boost was issued, which is what makes revocation free: 1. the device being paid is an active rivet of this identity, so a Boost    is a gas instrument for an identity's own devices and retiring a lost    device voids every Boost aimed at it; 2. the issuer is an active rivet, so removing a compromised device voids    everything it ever issued, retroactively; 3. the id is unspent and the epoch is current, so one Boost pays once    and advancing the epoch voids the whole reserve at one stroke; 4. the reimbursement is measured and the ceiling bounds the payout, the    reimbursement and the tip together, so a Boost can never cost more    than its stated figure and presenting is never a way to drain a    treasury. A carrier should simulate before presenting: an empty treasury means it pays the gas and collects nothing.\"},\"spent(address,uint256)\":{\"notice\":\"identity => boostId => already presented.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/BoostVerifier.sol\":\"BoostVerifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/BoostVerifier.sol\":{\"keccak256\":\"0xd8c2919fd3275e2fb2cea413663ff735d2544b468f7879da49a221d641c0abed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a7c6ca1b501f0f0246081edf9134bf02888e52d3bc0015b67556470b6747ae\",\"dweb:/ipfs/QmNYKC39rYrTPEk7hQccwQ5UrPTpekpB2aEGRGLAdQ4q77\"]}},\"version\":1}"},"IIdentity":{"abi":[{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"rivet","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"rivet","type":"address"}],"name":"rivetActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendETH","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getBalance()":"12065fe0","isAuthorized(address)":"fe9fbb80","isValidSignature(bytes32,bytes)":"1626ba7e","rivetActive(address)":"bfe1ffca","sendETH(address,uint256)":"64a197f3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rivet\",\"type\":\"address\"}],\"name\":\"isAuthorized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rivet\",\"type\":\"address\"}],\"name\":\"rivetActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sendETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"BoostVerifier \\u2014 gas money drawn on an identity's own treasury A device at zero cannot act. Every exit from {IdentityContract}'s treasury is `onlyRivet` on `msg.sender`, so a flat rivet cannot reach the identity's own money however much of it is sitting there, and no contract can pay the gas for a transaction it did not send. That is the corner this closes. A **Boost** is a statement signed by a rivet while it still has funds, naming a device of the same identity and a ceiling. It costs nothing to issue and consumes no nonce, so a device can leave itself a reserve. Later, anyone may present it here: this contract checks it, pays the named device out of the treasury, and reimburses the presenter's gas in the same transaction. The carrier fronts gas for one block and is made whole; nothing is given away, because the money is the identity's own, released by its own rivet. **No upgrade is needed.** A rivet does not have to be a key \\u2014 it can be code. Membership is a fact the identity contract holds about an address, and the mint path already relies on that when the factory holds authority for the length of one transaction. So one deployment of this contract, added as a rivet by one ordinary transaction, gives Boosts to identities that are already deployed and cannot be changed. **What adopting it costs.** Rivet membership is total authority: once added, this contract could also add members, remove them, and move the whole treasury. It is written to be small enough to read in one sitting and has no administrator, no owner, and nothing that can be pointed at new code later. Withdrawal is `removeRivet(address(this))` and takes effect immediately, which is a better position than an upgradeable contract would leave. The signed bytes are defined once, in `client/boost-message.mjs`, and every issuer imports that module. `digest()` below is the same construction in Solidity and the test asserts the two agree.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/BoostVerifier.sol\":\"IIdentity\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/BoostVerifier.sol\":{\"keccak256\":\"0xd8c2919fd3275e2fb2cea413663ff735d2544b468f7879da49a221d641c0abed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a7c6ca1b501f0f0246081edf9134bf02888e52d3bc0015b67556470b6747ae\",\"dweb:/ipfs/QmNYKC39rYrTPEk7hQccwQ5UrPTpekpB2aEGRGLAdQ4q77\"]}},\"version\":1}"}}}}}