-
-
Save AMIYA8597/7025c82acdcba3d4c1efff19911239f9 to your computer and use it in GitHub Desktop.
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| /** | |
| * @title Storage | |
| * @dev Store & retrieve value in a variable | |
| * @custom:dev-run-script ./scripts/deploy_with_ethers.ts | |
| */ | |
| contract Storage { | |
| uint256 number; | |
| /** | |
| * @dev Store value in variable | |
| * @param num value to store | |
| */ | |
| function store(uint256 num) public { | |
| number = num; | |
| } | |
| /** | |
| * @dev Return value | |
| * @return value of 'number' | |
| */ | |
| function retrieve() public view returns (uint256){ | |
| return number; | |
| } | |
| } |
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| import "hardhat/console.sol"; | |
| /** | |
| * @title Owner | |
| * @dev Set & change owner | |
| */ | |
| contract Owner { | |
| address private owner; | |
| // event for EVM logging | |
| event OwnerSet(address indexed oldOwner, address indexed newOwner); | |
| // modifier to check if caller is owner | |
| modifier isOwner() { | |
| // If the first argument of 'require' evaluates to 'false', execution terminates and all | |
| // changes to the state and to Ether balances are reverted. | |
| // This used to consume all gas in old EVM versions, but not anymore. | |
| // It is often a good idea to use 'require' to check if functions are called correctly. | |
| // As a second argument, you can also provide an explanation about what went wrong. | |
| require(msg.sender == owner, "Caller is not owner"); | |
| _; | |
| } | |
| /** | |
| * @dev Set contract deployer as owner | |
| */ | |
| constructor() { | |
| console.log("Owner contract deployed by:", msg.sender); | |
| owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor | |
| emit OwnerSet(address(0), owner); | |
| } | |
| /** | |
| * @dev Change owner | |
| * @param newOwner address of new owner | |
| */ | |
| function changeOwner(address newOwner) public isOwner { | |
| emit OwnerSet(owner, newOwner); | |
| owner = newOwner; | |
| } | |
| /** | |
| * @dev Return owner address | |
| * @return address of owner | |
| */ | |
| function getOwner() external view returns (address) { | |
| return owner; | |
| } | |
| } |
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| /** | |
| * @title Ballot | |
| * @dev Implements voting process along with vote delegation | |
| */ | |
| contract Ballot { | |
| struct Voter { | |
| uint weight; // weight is accumulated by delegation | |
| bool voted; // if true, that person already voted | |
| address delegate; // person delegated to | |
| uint vote; // index of the voted proposal | |
| } | |
| struct Proposal { | |
| // If you can limit the length to a certain number of bytes, | |
| // always use one of bytes1 to bytes32 because they are much cheaper | |
| bytes32 name; // short name (up to 32 bytes) | |
| uint voteCount; // number of accumulated votes | |
| } | |
| address public chairperson; | |
| mapping(address => Voter) public voters; | |
| Proposal[] public proposals; | |
| /** | |
| * @dev Create a new ballot to choose one of 'proposalNames'. | |
| * @param proposalNames names of proposals | |
| */ | |
| constructor(bytes32[] memory proposalNames) { | |
| chairperson = msg.sender; | |
| voters[chairperson].weight = 1; | |
| for (uint i = 0; i < proposalNames.length; i++) { | |
| // 'Proposal({...})' creates a temporary | |
| // Proposal object and 'proposals.push(...)' | |
| // appends it to the end of 'proposals'. | |
| proposals.push(Proposal({ | |
| name: proposalNames[i], | |
| voteCount: 0 | |
| })); | |
| } | |
| } | |
| /** | |
| * @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'. | |
| * @param voter address of voter | |
| */ | |
| function giveRightToVote(address voter) public { | |
| require( | |
| msg.sender == chairperson, | |
| "Only chairperson can give right to vote." | |
| ); | |
| require( | |
| !voters[voter].voted, | |
| "The voter already voted." | |
| ); | |
| require(voters[voter].weight == 0); | |
| voters[voter].weight = 1; | |
| } | |
| /** | |
| * @dev Delegate your vote to the voter 'to'. | |
| * @param to address to which vote is delegated | |
| */ | |
| function delegate(address to) public { | |
| Voter storage sender = voters[msg.sender]; | |
| require(!sender.voted, "You already voted."); | |
| require(to != msg.sender, "Self-delegation is disallowed."); | |
| while (voters[to].delegate != address(0)) { | |
| to = voters[to].delegate; | |
| // We found a loop in the delegation, not allowed. | |
| require(to != msg.sender, "Found loop in delegation."); | |
| } | |
| sender.voted = true; | |
| sender.delegate = to; | |
| Voter storage delegate_ = voters[to]; | |
| if (delegate_.voted) { | |
| // If the delegate already voted, | |
| // directly add to the number of votes | |
| proposals[delegate_.vote].voteCount += sender.weight; | |
| } else { | |
| // If the delegate did not vote yet, | |
| // add to her weight. | |
| delegate_.weight += sender.weight; | |
| } | |
| } | |
| /** | |
| * @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'. | |
| * @param proposal index of proposal in the proposals array | |
| */ | |
| function vote(uint proposal) public { | |
| Voter storage sender = voters[msg.sender]; | |
| require(sender.weight != 0, "Has no right to vote"); | |
| require(!sender.voted, "Already voted."); | |
| sender.voted = true; | |
| sender.vote = proposal; | |
| // If 'proposal' is out of the range of the array, | |
| // this will throw automatically and revert all | |
| // changes. | |
| proposals[proposal].voteCount += sender.weight; | |
| } | |
| /** | |
| * @dev Computes the winning proposal taking all previous votes into account. | |
| * @return winningProposal_ index of winning proposal in the proposals array | |
| */ | |
| function winningProposal() public view | |
| returns (uint winningProposal_) | |
| { | |
| uint winningVoteCount = 0; | |
| for (uint p = 0; p < proposals.length; p++) { | |
| if (proposals[p].voteCount > winningVoteCount) { | |
| winningVoteCount = proposals[p].voteCount; | |
| winningProposal_ = p; | |
| } | |
| } | |
| } | |
| /** | |
| * @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then | |
| * @return winnerName_ the name of the winner | |
| */ | |
| function winnerName() public view | |
| returns (bytes32 winnerName_) | |
| { | |
| winnerName_ = proposals[winningProposal()].name; | |
| } | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": {}, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b506101ec806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e420264a14610030575b600080fd5b61004a600480360381019061004591906100da565b610060565b6040516100579190610116565b60405180910390f35b600061006a61007c565b826100759190610160565b9050919050565b600061008661007c565b6100906007610060565b61009a9190610160565b905090565b600080fd5b6000819050919050565b6100b7816100a4565b81146100c257600080fd5b50565b6000813590506100d4816100ae565b92915050565b6000602082840312156100f0576100ef61009f565b5b60006100fe848285016100c5565b91505092915050565b610110816100a4565b82525050565b600060208201905061012b6000830184610107565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061016b826100a4565b9150610176836100a4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156101ab576101aa610131565b5b82820190509291505056fea26469706673582212204d9e560051a305b6be86fdb7526080792444ba6cb4365c70977379d5ee119b1e64736f6c634300080b0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EC DUP1 PUSH2 0x20 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xE420264A EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xDA JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x6A PUSH2 0x7C JUMP JUMPDEST DUP3 PUSH2 0x75 SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x86 PUSH2 0x7C JUMP JUMPDEST PUSH2 0x90 PUSH1 0x7 PUSH2 0x60 JUMP JUMPDEST PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB7 DUP2 PUSH2 0xA4 JUMP JUMPDEST DUP2 EQ PUSH2 0xC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD4 DUP2 PUSH2 0xAE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF0 JUMPI PUSH2 0xEF PUSH2 0x9F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFE DUP5 DUP3 DUP6 ADD PUSH2 0xC5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x110 DUP2 PUSH2 0xA4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x107 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x16B DUP3 PUSH2 0xA4 JUMP JUMPDEST SWAP2 POP PUSH2 0x176 DUP4 PUSH2 0xA4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1AB JUMPI PUSH2 0x1AA PUSH2 0x131 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4D SWAP15 JUMP STOP MLOAD LOG3 SDIV 0xB6 0xBE DUP7 REVERT 0xB7 MSTORE PUSH1 0x80 PUSH26 0x2444BA6CB4365C70977379D5EE119B1E64736F6C634300080B00 CALLER ", | |
| "sourceMap": "635:164:0:-:0;;;;;;;;;;;;;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@f_27": { | |
| "entryPoint": 124, | |
| "id": 27, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@g_14": { | |
| "entryPoint": 96, | |
| "id": 14, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 197, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 218, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 263, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
| "entryPoint": 278, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "checked_add_t_uint256": { | |
| "entryPoint": 352, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 164, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x11": { | |
| "entryPoint": 305, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 159, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 174, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:1871:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "47:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "57:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "73:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "67:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "67:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "57:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "40:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "177:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "194:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "197:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "187:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "187:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "187:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "88:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "300:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "317:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "320:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "310:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "310:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "310:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "211:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "379:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "389:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "400:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "389:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "361:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "371:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "334:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "460:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "517:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "526:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "529:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "519:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "519:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "519:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "483:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "508:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "490:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "490:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "480:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "480:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "473:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "473:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "470:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "453:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "417:122:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "597:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "607:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "629:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "616:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "616:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "607:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "672:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "645:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "645:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "645:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "575:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "583:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "591:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "545:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "756:263:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "802:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "804:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "804:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "804:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "777:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "786:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "773:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "773:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "798:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "769:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "769:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "766:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "895:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "910:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "924:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "914:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "939:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "974:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "985:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "970:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "970:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "994:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "949:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "949:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "939:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "726:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "737:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "749:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "690:329:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1090:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1107:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1130:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1112:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1112:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1100:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1100:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1100:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1078:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "1085:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1025:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1247:124:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1257:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1269:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1280:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1265:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1265:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1257:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1337:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1350:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1361:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1346:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1346:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1293:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1293:71:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1293:71:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1219:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1231:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1242:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1149:222:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1405:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1422:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1425:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1415:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1415:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1415:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1519:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1522:4:1", | |
| "type": "", | |
| "value": "0x11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1512:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1512:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1512:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1543:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1546:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1536:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1536:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1536:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1377:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1607:261:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1617:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "1640:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1622:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1622:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "1617:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1651:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "1674:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1656:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1656:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "1651:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1814:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "1816:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1816:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1816:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "1735:1:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1742:66:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "1810:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1738:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1738:74:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1732:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1732:81:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1729:107:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1846:16:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "1857:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "1860:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1853:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1853:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "1846:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_add_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "1594:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "1597:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulTypedName", | |
| "src": "1603:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1563:305:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e420264a14610030575b600080fd5b61004a600480360381019061004591906100da565b610060565b6040516100579190610116565b60405180910390f35b600061006a61007c565b826100759190610160565b9050919050565b600061008661007c565b6100906007610060565b61009a9190610160565b905090565b600080fd5b6000819050919050565b6100b7816100a4565b81146100c257600080fd5b50565b6000813590506100d4816100ae565b92915050565b6000602082840312156100f0576100ef61009f565b5b60006100fe848285016100c5565b91505092915050565b610110816100a4565b82525050565b600060208201905061012b6000830184610107565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061016b826100a4565b9150610176836100a4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156101ab576101aa610131565b5b82820190509291505056fea26469706673582212204d9e560051a305b6be86fdb7526080792444ba6cb4365c70977379d5ee119b1e64736f6c634300080b0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xE420264A EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xDA JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x6A PUSH2 0x7C JUMP JUMPDEST DUP3 PUSH2 0x75 SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x86 PUSH2 0x7C JUMP JUMPDEST PUSH2 0x90 PUSH1 0x7 PUSH2 0x60 JUMP JUMPDEST PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB7 DUP2 PUSH2 0xA4 JUMP JUMPDEST DUP2 EQ PUSH2 0xC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD4 DUP2 PUSH2 0xAE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF0 JUMPI PUSH2 0xEF PUSH2 0x9F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFE DUP5 DUP3 DUP6 ADD PUSH2 0xC5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x110 DUP2 PUSH2 0xA4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x107 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x16B DUP3 PUSH2 0xA4 JUMP JUMPDEST SWAP2 POP PUSH2 0x176 DUP4 PUSH2 0xA4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1AB JUMPI PUSH2 0x1AA PUSH2 0x131 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4D SWAP15 JUMP STOP MLOAD LOG3 SDIV 0xB6 0xBE DUP7 REVERT 0xB7 MSTORE PUSH1 0x80 PUSH26 0x2444BA6CB4365C70977379D5EE119B1E64736F6C634300080B00 CALLER ", | |
| "sourceMap": "635:164:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:69;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;693:8;716:3;:1;:3::i;:::-;712:1;:7;;;;:::i;:::-;705:14;;653:69;;;:::o;728:68::-;764:8;790:3;:1;:3::i;:::-;783:4;785:1;783;:4::i;:::-;:10;;;;:::i;:::-;776:17;;728:68;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:180::-;1425:77;1422:1;1415:88;1522:4;1519:1;1512:15;1546:4;1543:1;1536:15;1563:305;1603:3;1622:20;1640:1;1622:20;:::i;:::-;1617:25;;1656:20;1674:1;1656:20;:::i;:::-;1651:25;;1810:1;1742:66;1738:74;1735:1;1732:81;1729:107;;;1816:18;;:::i;:::-;1729:107;1860:1;1857;1853:9;1846:16;;1563:305;;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "98400", | |
| "executionCost": "147", | |
| "totalCost": "98547" | |
| }, | |
| "external": { | |
| "g(uint256)": "infinite" | |
| }, | |
| "internal": { | |
| "f()": "infinite" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "g(uint256)": "e420264a" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "g", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "ret", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.8.11+commit.d7f03943" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "g", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "ret", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/NewCont.sol": "C" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/NewCont.sol": { | |
| "keccak256": "0x20f8477a5eb732f5e9c903f17cf4a095ff7b2a95fee17498cdec185321764fb2", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://c0433a63c47ed35a5efc72236250ea40124ef1750a2525a034e6b5627fea3a5a", | |
| "dweb:/ipfs/QmapPmzn4gZGUHAvmEXgzEw6MDS4cpB1EiRfLxC4Z4eT8F" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "deployedBytecode": { | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "gasEstimates": null, | |
| "methodIdentifiers": { | |
| "allowance(address,address)": "dd62ed3e", | |
| "approve(address,uint256)": "095ea7b3", | |
| "balanceOf(address)": "70a08231", | |
| "decimals()": "313ce567", | |
| "name()": "06fdde03", | |
| "symbol()": "95d89b41", | |
| "totalSupply()": "18160ddd", | |
| "transfer(address,uint256)": "a9059cbb", | |
| "transferFrom(address,address,uint256)": "23b872dd" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Approval", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Transfer", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "allowance", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "approve", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "balanceOf", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "decimals", | |
| "outputs": [ | |
| { | |
| "internalType": "uint8", | |
| "name": "", | |
| "type": "uint8" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "name", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "symbol", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "totalSupply", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transfer", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transferFrom", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.6.6+commit.6c089d02" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Approval", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Transfer", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "allowance", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "approve", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "balanceOf", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "decimals", | |
| "outputs": [ | |
| { | |
| "internalType": "uint8", | |
| "name": "", | |
| "type": "uint8" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "name", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "symbol", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "totalSupply", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transfer", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transferFrom", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "methods": {} | |
| }, | |
| "userdoc": { | |
| "methods": {} | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/SwapRouter.sol": "IERC20" | |
| }, | |
| "evmVersion": "istanbul", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": true, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/SwapRouter.sol": { | |
| "keccak256": "0x85be9953b776fbefb3e53431020ba4c339b122310dc9a06d95f92987a4e575d2", | |
| "urls": [ | |
| "bzz-raw://8ecc5cd79409173c3bc139b54cf930caf1ef93773399df9f97d18b9ea1905ce9", | |
| "dweb:/ipfs/QmeREpXrPp7pDm3K4VdtkuZY75ZXc186Q1EQsCY5rjwd5X" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "deployedBytecode": { | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "gasEstimates": null, | |
| "methodIdentifiers": { | |
| "INIT_CODE_PAIR_HASH()": "5855a25a", | |
| "allPairs(uint256)": "1e3dd18b", | |
| "allPairsLength()": "574f2ba3", | |
| "createPair(address,address)": "c9c65396", | |
| "feeTo()": "017e7e58", | |
| "feeToSetter()": "094b7415", | |
| "getPair(address,address)": "e6a43905", | |
| "setFeeTo(address)": "f46901ed", | |
| "setFeeToSetter(address)": "a2e74af6" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "token0", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "token1", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "address", | |
| "name": "pair", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "PairCreated", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "INIT_CODE_PAIR_HASH", | |
| "outputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "allPairs", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "pair", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "allPairsLength", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "createPair", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "pair", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "feeTo", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "feeToSetter", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "getPair", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "pair", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "setFeeTo", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "setFeeToSetter", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.6.6+commit.6c089d02" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "token0", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "token1", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "address", | |
| "name": "pair", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "PairCreated", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "INIT_CODE_PAIR_HASH", | |
| "outputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "allPairs", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "pair", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "allPairsLength", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "createPair", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "pair", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "feeTo", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "feeToSetter", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "getPair", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "pair", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "setFeeTo", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "setFeeToSetter", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "methods": {} | |
| }, | |
| "userdoc": { | |
| "methods": {} | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/SwapRouter.sol": "ISwapFactory" | |
| }, | |
| "evmVersion": "istanbul", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": true, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/SwapRouter.sol": { | |
| "keccak256": "0x85be9953b776fbefb3e53431020ba4c339b122310dc9a06d95f92987a4e575d2", | |
| "urls": [ | |
| "bzz-raw://8ecc5cd79409173c3bc139b54cf930caf1ef93773399df9f97d18b9ea1905ce9", | |
| "dweb:/ipfs/QmeREpXrPp7pDm3K4VdtkuZY75ZXc186Q1EQsCY5rjwd5X" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "deployedBytecode": { | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "gasEstimates": null, | |
| "methodIdentifiers": { | |
| "DOMAIN_SEPARATOR()": "3644e515", | |
| "MINIMUM_LIQUIDITY()": "ba9a7a56", | |
| "PERMIT_TYPEHASH()": "30adf81f", | |
| "allowance(address,address)": "dd62ed3e", | |
| "approve(address,uint256)": "095ea7b3", | |
| "balanceOf(address)": "70a08231", | |
| "burn(address)": "89afcb44", | |
| "decimals()": "313ce567", | |
| "factory()": "c45a0155", | |
| "getReserves()": "0902f1ac", | |
| "initialize(address,address)": "485cc955", | |
| "kLast()": "7464fc3d", | |
| "mint(address)": "6a627842", | |
| "name()": "06fdde03", | |
| "nonces(address)": "7ecebe00", | |
| "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", | |
| "price0CumulativeLast()": "5909c0d5", | |
| "price1CumulativeLast()": "5a3d5493", | |
| "skim(address)": "bc25cf77", | |
| "swap(uint256,uint256,address,bytes)": "022c0d9f", | |
| "symbol()": "95d89b41", | |
| "sync()": "fff6cae9", | |
| "token0()": "0dfe1681", | |
| "token1()": "d21220a7", | |
| "totalSupply()": "18160ddd", | |
| "transfer(address,uint256)": "a9059cbb", | |
| "transferFrom(address,address,uint256)": "23b872dd" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Approval", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "sender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount0", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount1", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "Burn", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "sender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount0", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount1", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Mint", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "sender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount0In", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount1In", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount0Out", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount1Out", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "Swap", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": false, | |
| "internalType": "uint112", | |
| "name": "reserve0", | |
| "type": "uint112" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint112", | |
| "name": "reserve1", | |
| "type": "uint112" | |
| } | |
| ], | |
| "name": "Sync", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Transfer", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "DOMAIN_SEPARATOR", | |
| "outputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "MINIMUM_LIQUIDITY", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "PERMIT_TYPEHASH", | |
| "outputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "allowance", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "approve", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "balanceOf", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "burn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amount0", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amount1", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "decimals", | |
| "outputs": [ | |
| { | |
| "internalType": "uint8", | |
| "name": "", | |
| "type": "uint8" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "factory", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getReserves", | |
| "outputs": [ | |
| { | |
| "internalType": "uint112", | |
| "name": "reserve0", | |
| "type": "uint112" | |
| }, | |
| { | |
| "internalType": "uint112", | |
| "name": "reserve1", | |
| "type": "uint112" | |
| }, | |
| { | |
| "internalType": "uint32", | |
| "name": "blockTimestampLast", | |
| "type": "uint32" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "initialize", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "kLast", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "mint", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "name", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "nonces", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "permit", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "price0CumulativeLast", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "price1CumulativeLast", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "skim", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amount0Out", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amount1Out", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "bytes", | |
| "name": "data", | |
| "type": "bytes" | |
| } | |
| ], | |
| "name": "swap", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "symbol", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "sync", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "token0", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "token1", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "totalSupply", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transfer", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transferFrom", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.6.6+commit.6c089d02" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Approval", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "sender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount0", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount1", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "Burn", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "sender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount0", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount1", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Mint", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "sender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount0In", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount1In", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount0Out", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount1Out", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "Swap", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": false, | |
| "internalType": "uint112", | |
| "name": "reserve0", | |
| "type": "uint112" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint112", | |
| "name": "reserve1", | |
| "type": "uint112" | |
| } | |
| ], | |
| "name": "Sync", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Transfer", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "DOMAIN_SEPARATOR", | |
| "outputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "MINIMUM_LIQUIDITY", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "PERMIT_TYPEHASH", | |
| "outputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "allowance", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "approve", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "balanceOf", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "burn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amount0", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amount1", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "decimals", | |
| "outputs": [ | |
| { | |
| "internalType": "uint8", | |
| "name": "", | |
| "type": "uint8" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "factory", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getReserves", | |
| "outputs": [ | |
| { | |
| "internalType": "uint112", | |
| "name": "reserve0", | |
| "type": "uint112" | |
| }, | |
| { | |
| "internalType": "uint112", | |
| "name": "reserve1", | |
| "type": "uint112" | |
| }, | |
| { | |
| "internalType": "uint32", | |
| "name": "blockTimestampLast", | |
| "type": "uint32" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "initialize", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "kLast", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "mint", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "name", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "nonces", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "permit", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "price0CumulativeLast", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "price1CumulativeLast", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "skim", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amount0Out", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amount1Out", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "bytes", | |
| "name": "data", | |
| "type": "bytes" | |
| } | |
| ], | |
| "name": "swap", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "symbol", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "sync", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "token0", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "token1", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "totalSupply", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transfer", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transferFrom", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "methods": {} | |
| }, | |
| "userdoc": { | |
| "methods": {} | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/SwapRouter.sol": "ISwapPair" | |
| }, | |
| "evmVersion": "istanbul", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": true, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/SwapRouter.sol": { | |
| "keccak256": "0x85be9953b776fbefb3e53431020ba4c339b122310dc9a06d95f92987a4e575d2", | |
| "urls": [ | |
| "bzz-raw://8ecc5cd79409173c3bc139b54cf930caf1ef93773399df9f97d18b9ea1905ce9", | |
| "dweb:/ipfs/QmeREpXrPp7pDm3K4VdtkuZY75ZXc186Q1EQsCY5rjwd5X" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "deployedBytecode": { | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "gasEstimates": null, | |
| "methodIdentifiers": { | |
| "WETH()": "ad5c4648", | |
| "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)": "e8e33700", | |
| "addLiquidityETH(address,uint256,uint256,uint256,address,uint256)": "f305d719", | |
| "factory()": "c45a0155", | |
| "getAmountIn(uint256,uint256,uint256)": "85f8c259", | |
| "getAmountOut(uint256,uint256,uint256)": "054d50d4", | |
| "getAmountsIn(uint256,address[])": "1f00ca74", | |
| "getAmountsOut(uint256,address[])": "d06ca61f", | |
| "quote(uint256,uint256,uint256)": "ad615dec", | |
| "removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)": "baa2abde", | |
| "removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)": "02751cec", | |
| "removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": "ded9382a", | |
| "removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": "2195995c", | |
| "swapETHForExactTokens(uint256,address[],address,uint256)": "fb3bdb41", | |
| "swapExactETHForTokens(uint256,address[],address,uint256)": "7ff36ab5", | |
| "swapExactTokensForETH(uint256,uint256,address[],address,uint256)": "18cbafe5", | |
| "swapExactTokensForTokens(uint256,uint256,address[],address,uint256)": "38ed1739", | |
| "swapTokensForExactETH(uint256,uint256,address[],address,uint256)": "4a25d94a", | |
| "swapTokensForExactTokens(uint256,uint256,address[],address,uint256)": "8803dbee" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "WETH", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountADesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBDesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "addLiquidity", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenDesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "addLiquidityETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "factory", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getAmountIn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getAmountOut", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| } | |
| ], | |
| "name": "getAmountsIn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| } | |
| ], | |
| "name": "getAmountsOut", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "quote", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidity", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidityETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityETHWithPermit", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityWithPermit", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapETHForExactTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactETHForTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountInMax", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapTokensForExactETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountInMax", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapTokensForExactTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.6.6+commit.6c089d02" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "WETH", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountADesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBDesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "addLiquidity", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenDesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "addLiquidityETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "factory", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getAmountIn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getAmountOut", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| } | |
| ], | |
| "name": "getAmountsIn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| } | |
| ], | |
| "name": "getAmountsOut", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "quote", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidity", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidityETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityETHWithPermit", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityWithPermit", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapETHForExactTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactETHForTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountInMax", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapTokensForExactETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountInMax", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapTokensForExactTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "methods": {} | |
| }, | |
| "userdoc": { | |
| "methods": {} | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/SwapRouter.sol": "ISwapRouter01" | |
| }, | |
| "evmVersion": "istanbul", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": true, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/SwapRouter.sol": { | |
| "keccak256": "0x85be9953b776fbefb3e53431020ba4c339b122310dc9a06d95f92987a4e575d2", | |
| "urls": [ | |
| "bzz-raw://8ecc5cd79409173c3bc139b54cf930caf1ef93773399df9f97d18b9ea1905ce9", | |
| "dweb:/ipfs/QmeREpXrPp7pDm3K4VdtkuZY75ZXc186Q1EQsCY5rjwd5X" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "deployedBytecode": { | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "gasEstimates": null, | |
| "methodIdentifiers": { | |
| "WETH()": "ad5c4648", | |
| "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)": "e8e33700", | |
| "addLiquidityETH(address,uint256,uint256,uint256,address,uint256)": "f305d719", | |
| "factory()": "c45a0155", | |
| "getAmountIn(uint256,uint256,uint256)": "85f8c259", | |
| "getAmountOut(uint256,uint256,uint256)": "054d50d4", | |
| "getAmountsIn(uint256,address[])": "1f00ca74", | |
| "getAmountsOut(uint256,address[])": "d06ca61f", | |
| "quote(uint256,uint256,uint256)": "ad615dec", | |
| "removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)": "baa2abde", | |
| "removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)": "02751cec", | |
| "removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)": "af2979eb", | |
| "removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": "ded9382a", | |
| "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": "5b0d5984", | |
| "removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": "2195995c", | |
| "swapETHForExactTokens(uint256,address[],address,uint256)": "fb3bdb41", | |
| "swapExactETHForTokens(uint256,address[],address,uint256)": "7ff36ab5", | |
| "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)": "b6f9de95", | |
| "swapExactTokensForETH(uint256,uint256,address[],address,uint256)": "18cbafe5", | |
| "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": "791ac947", | |
| "swapExactTokensForTokens(uint256,uint256,address[],address,uint256)": "38ed1739", | |
| "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": "5c11d795", | |
| "swapTokensForExactETH(uint256,uint256,address[],address,uint256)": "4a25d94a", | |
| "swapTokensForExactTokens(uint256,uint256,address[],address,uint256)": "8803dbee" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "WETH", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountADesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBDesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "addLiquidity", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenDesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "addLiquidityETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "factory", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getAmountIn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getAmountOut", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| } | |
| ], | |
| "name": "getAmountsIn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| } | |
| ], | |
| "name": "getAmountsOut", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "quote", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidity", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidityETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidityETHSupportingFeeOnTransferTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityETHWithPermit", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityWithPermit", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapETHForExactTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactETHForTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountInMax", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapTokensForExactETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountInMax", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapTokensForExactTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.6.6+commit.6c089d02" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "WETH", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountADesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBDesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "addLiquidity", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenDesired", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "addLiquidityETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "factory", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getAmountIn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getAmountOut", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| } | |
| ], | |
| "name": "getAmountsIn", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| } | |
| ], | |
| "name": "getAmountsOut", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "reserveB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "quote", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidity", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidityETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "removeLiquidityETHSupportingFeeOnTransferTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityETHWithPermit", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountToken", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountTokenMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETHMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountETH", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "tokenA", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "tokenB", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "liquidity", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountAMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountBMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "bool", | |
| "name": "approveMax", | |
| "type": "bool" | |
| }, | |
| { | |
| "internalType": "uint8", | |
| "name": "v", | |
| "type": "uint8" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "r", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "bytes32", | |
| "name": "s", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "removeLiquidityWithPermit", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountA", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountB", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapETHForExactTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactETHForTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountIn", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOutMin", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountInMax", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapTokensForExactETH", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "amountOut", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amountInMax", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "address[]", | |
| "name": "path", | |
| "type": "address[]" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "deadline", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "swapTokensForExactTokens", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "amounts", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "methods": {} | |
| }, | |
| "userdoc": { | |
| "methods": {} | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/SwapRouter.sol": "ISwapRouter02" | |
| }, | |
| "evmVersion": "istanbul", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": true, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/SwapRouter.sol": { | |
| "keccak256": "0x85be9953b776fbefb3e53431020ba4c339b122310dc9a06d95f92987a4e575d2", | |
| "urls": [ | |
| "bzz-raw://8ecc5cd79409173c3bc139b54cf930caf1ef93773399df9f97d18b9ea1905ce9", | |
| "dweb:/ipfs/QmeREpXrPp7pDm3K4VdtkuZY75ZXc186Q1EQsCY5rjwd5X" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "deployedBytecode": { | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "", | |
| "opcodes": "", | |
| "sourceMap": "" | |
| }, | |
| "gasEstimates": null, | |
| "methodIdentifiers": { | |
| "deposit()": "d0e30db0", | |
| "transfer(address,uint256)": "a9059cbb", | |
| "withdraw(uint256)": "2e1a7d4d" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "deposit", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transfer", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "withdraw", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.6.6+commit.6c089d02" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "deposit", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transfer", | |
| "outputs": [ | |
| { | |
| "internalType": "bool", | |
| "name": "", | |
| "type": "bool" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "withdraw", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "methods": {} | |
| }, | |
| "userdoc": { | |
| "methods": {} | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/SwapRouter.sol": "IWETH" | |
| }, | |
| "evmVersion": "istanbul", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": true, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/SwapRouter.sol": { | |
| "keccak256": "0x85be9953b776fbefb3e53431020ba4c339b122310dc9a06d95f92987a4e575d2", | |
| "urls": [ | |
| "bzz-raw://8ecc5cd79409173c3bc139b54cf930caf1ef93773399df9f97d18b9ea1905ce9", | |
| "dweb:/ipfs/QmeREpXrPp7pDm3K4VdtkuZY75ZXc186Q1EQsCY5rjwd5X" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": {}, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b5061044b806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806365dacfd214610030575b600080fd5b61004a6004803603810190610045919061027d565b61004c565b005b7f1f80d9d05c303be128f8b0261d2d5bb07e064d03ce55a9ece273bb41949289058285858460405161008194939291906103c2565b60405180910390a150505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6100f6826100ad565b810181811067ffffffffffffffff82111715610115576101146100be565b5b80604052505050565b600061012861008f565b905061013482826100ed565b919050565b600067ffffffffffffffff821115610154576101536100be565b5b61015d826100ad565b9050602081019050919050565b82818337600083830152505050565b600061018c61018784610139565b61011e565b9050828152602081018484840111156101a8576101a76100a8565b5b6101b384828561016a565b509392505050565b600082601f8301126101d0576101cf6100a3565b5b81356101e0848260208601610179565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610214826101e9565b9050919050565b61022481610209565b811461022f57600080fd5b50565b6000813590506102418161021b565b92915050565b6000819050919050565b61025a81610247565b811461026557600080fd5b50565b60008135905061027781610251565b92915050565b6000806000806080858703121561029757610296610099565b5b600085013567ffffffffffffffff8111156102b5576102b461009e565b5b6102c1878288016101bb565b945050602085013567ffffffffffffffff8111156102e2576102e161009e565b5b6102ee878288016101bb565b93505060406102ff87828801610232565b925050606061031087828801610268565b91505092959194509250565b61032581610209565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561036557808201518184015260208101905061034a565b83811115610374576000848401525b50505050565b60006103858261032b565b61038f8185610336565b935061039f818560208601610347565b6103a8816100ad565b840191505092915050565b6103bc81610247565b82525050565b60006080820190506103d7600083018761031c565b81810360208301526103e9818661037a565b905081810360408301526103fd818561037a565b905061040c60608301846103b3565b9594505050505056fea2646970667358221220ec043e9b5607eacd38807dc20a1d97e46e48d0a3ca14d13d614b871475f1e25b64736f6c634300080b0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B DUP1 PUSH2 0x20 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x65DACFD2 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x27D JUMP JUMPDEST PUSH2 0x4C JUMP JUMPDEST STOP JUMPDEST PUSH32 0x1F80D9D05C303BE128F8B0261D2D5BB07E064D03CE55A9ECE273BB4194928905 DUP3 DUP6 DUP6 DUP5 PUSH1 0x40 MLOAD PUSH2 0x81 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xF6 DUP3 PUSH2 0xAD JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x115 JUMPI PUSH2 0x114 PUSH2 0xBE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x128 PUSH2 0x8F JUMP JUMPDEST SWAP1 POP PUSH2 0x134 DUP3 DUP3 PUSH2 0xED JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x154 JUMPI PUSH2 0x153 PUSH2 0xBE JUMP JUMPDEST JUMPDEST PUSH2 0x15D DUP3 PUSH2 0xAD JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18C PUSH2 0x187 DUP5 PUSH2 0x139 JUMP JUMPDEST PUSH2 0x11E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1A8 JUMPI PUSH2 0x1A7 PUSH2 0xA8 JUMP JUMPDEST JUMPDEST PUSH2 0x1B3 DUP5 DUP3 DUP6 PUSH2 0x16A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1D0 JUMPI PUSH2 0x1CF PUSH2 0xA3 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1E0 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x179 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x214 DUP3 PUSH2 0x1E9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x224 DUP2 PUSH2 0x209 JUMP JUMPDEST DUP2 EQ PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x241 DUP2 PUSH2 0x21B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x25A DUP2 PUSH2 0x247 JUMP JUMPDEST DUP2 EQ PUSH2 0x265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x277 DUP2 PUSH2 0x251 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x297 JUMPI PUSH2 0x296 PUSH2 0x99 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B5 JUMPI PUSH2 0x2B4 PUSH2 0x9E JUMP JUMPDEST JUMPDEST PUSH2 0x2C1 DUP8 DUP3 DUP9 ADD PUSH2 0x1BB JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2E2 JUMPI PUSH2 0x2E1 PUSH2 0x9E JUMP JUMPDEST JUMPDEST PUSH2 0x2EE DUP8 DUP3 DUP9 ADD PUSH2 0x1BB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x2FF DUP8 DUP3 DUP9 ADD PUSH2 0x232 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x310 DUP8 DUP3 DUP9 ADD PUSH2 0x268 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH2 0x325 DUP2 PUSH2 0x209 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x365 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x34A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x374 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x385 DUP3 PUSH2 0x32B JUMP JUMPDEST PUSH2 0x38F DUP2 DUP6 PUSH2 0x336 JUMP JUMPDEST SWAP4 POP PUSH2 0x39F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x347 JUMP JUMPDEST PUSH2 0x3A8 DUP2 PUSH2 0xAD JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3BC DUP2 PUSH2 0x247 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x3D7 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x31C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x3E9 DUP2 DUP7 PUSH2 0x37A JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3FD DUP2 DUP6 PUSH2 0x37A JUMP JUMPDEST SWAP1 POP PUSH2 0x40C PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x3B3 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEC DIV RETURNDATACOPY SWAP12 JUMP SMOD 0xEA 0xCD CODESIZE DUP1 PUSH30 0xC20A1D97E46E48D0A3CA14D13D614B871475F1E25B64736F6C634300080B STOP CALLER ", | |
| "sourceMap": "61:256:0:-:0;;;;;;;;;;;;;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@A_30": { | |
| "entryPoint": 76, | |
| "id": 30, | |
| "parameterSlots": 4, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_available_length_t_string_memory_ptr": { | |
| "entryPoint": 377, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_address": { | |
| "entryPoint": 562, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_string_memory_ptr": { | |
| "entryPoint": 443, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 616, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_addresst_uint256": { | |
| "entryPoint": 637, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 4 | |
| }, | |
| "abi_encode_t_address_to_t_address_fromStack": { | |
| "entryPoint": 796, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 890, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 947, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed": { | |
| "entryPoint": 962, | |
| "id": null, | |
| "parameterSlots": 5, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_memory": { | |
| "entryPoint": 286, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": 143, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_allocation_size_t_string_memory_ptr": { | |
| "entryPoint": 313, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 811, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 822, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address": { | |
| "entryPoint": 521, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint160": { | |
| "entryPoint": 489, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 583, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_calldata_to_memory": { | |
| "entryPoint": 362, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 839, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "finalize_allocation": { | |
| "entryPoint": 237, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 190, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
| "entryPoint": 163, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
| "entryPoint": 168, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": 158, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 153, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 173, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "validator_revert_t_address": { | |
| "entryPoint": 539, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 593, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:6491:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "47:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "57:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "73:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "67:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "67:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "57:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "40:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "177:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "194:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "197:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "187:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "187:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "187:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "88:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "300:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "317:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "320:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "310:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "310:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "310:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "211:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "423:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "440:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "443:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "433:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "433:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "433:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "334:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "546:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "563:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "566:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "556:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "556:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "556:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "457:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "628:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "638:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "656:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "663:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "652:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "652:14:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "672:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "668:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "668:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "648:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "648:28:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "638:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "611:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "621:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "580:102:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "716:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "733:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "736:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "726:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "726:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "726:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "830:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "833:4:1", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "823:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "823:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "823:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "854:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "857:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "847:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "847:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "847:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "688:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "917:238:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "927:58:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "949:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "979:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "957:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "957:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "945:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "945:40:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulTypedName", | |
| "src": "931:10:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1096:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "1098:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1098:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1098:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1039:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1051:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1036:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1036:34:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1075:10:1" | |
| }, | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1087:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1072:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1072:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "1033:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1033:62:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1030:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1134:2:1", | |
| "type": "", | |
| "value": "64" | |
| }, | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1138:10:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1127:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1127:22:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1127:22:1" | |
| } | |
| ] | |
| }, | |
| "name": "finalize_allocation", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "903:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "911:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "874:281:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1202:88:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1212:30:1", | |
| "value": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulIdentifier", | |
| "src": "1222:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1222:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1212:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1271:6:1" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1279:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "finalize_allocation", | |
| "nodeType": "YulIdentifier", | |
| "src": "1251:19:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1251:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1251:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "allocate_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "1186:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "1195:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1161:129:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1363:241:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1468:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "1470:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1470:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1470:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1440:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1448:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1437:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1437:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1434:56:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1500:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1530:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "1508:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1508:29:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1500:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1574:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1586:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1592:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1582:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1582:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1574:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1347:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "1358:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1296:308:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1661:103:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "1684:3:1" | |
| }, | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "1689:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1694:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldatacopy", | |
| "nodeType": "YulIdentifier", | |
| "src": "1671:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1671:30:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1671:30:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "1742:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1747:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1738:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1738:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1756:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1731:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1731:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1731:27:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_calldata_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "1643:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "1648:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1653:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1610:154:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1854:328:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1864:75:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1931:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1889:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1889:49:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "allocate_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "1873:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1873:66:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "1864:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "1955:5:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1962:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1948:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1948:21:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1948:21:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1978:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "1993:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2000:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1989:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1989:16:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "1982:3:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2043:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulIdentifier", | |
| "src": "2045:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2045:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2045:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "2024:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2029:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2020:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2020:16:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "2038:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2017:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2017:25:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2014:112:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "2159:3:1" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2164:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2169:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_calldata_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "2135:23:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2135:41:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2135:41:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_available_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "1827:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1832:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "1840:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "1848:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1770:412:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2264:278:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2313:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulIdentifier", | |
| "src": "2315:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2315:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2315:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2292:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2300:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2288:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2288:17:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "2307:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2284:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2284:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "2277:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2277:35:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2274:122:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2405:34:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2432:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2419:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2419:20:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2409:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2448:88:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2509:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2517:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2505:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2505:17:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2524:6:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "2532:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_available_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2457:47:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2457:79:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "2448:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2242:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "2250:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "2258:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2202:340:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2593:81:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2603:65:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2618:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2625:42:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "2614:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2614:54:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "2603:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2575:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "2585:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2548:126:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2725:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2735:35:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2764:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "2746:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2746:24:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "2735:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2707:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "2717:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2680:96:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2825:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2882:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2891:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2894:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "2884:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2884:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2884:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2848:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2873:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "2855:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2855:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "2845:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2845:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "2838:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2838:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2835:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2818:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2782:122:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2962:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2972:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2994:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2981:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2981:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2972:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3037:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "3010:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3010:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3010:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2940:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "2948:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2956:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2910:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3100:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3110:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3121:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "3110:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3082:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "3092:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3055:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3181:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3238:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3247:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3250:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3240:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3240:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3240:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3204:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3229:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "3211:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3211:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "3201:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3201:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "3194:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3194:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3191:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3174:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3138:122:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3318:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3328:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "3350:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "3337:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3337:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3328:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3393:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "3366:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3366:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3366:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "3296:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "3304:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3312:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3266:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3548:988:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3595:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "3597:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3597:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3597:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "3569:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3578:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "3565:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3565:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3590:3:1", | |
| "type": "", | |
| "value": "128" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3561:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3561:33:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3558:120:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "3688:287:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3703:45:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3734:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3745:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3730:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3730:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "3717:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3717:31:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "3707:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3795:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulIdentifier", | |
| "src": "3797:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3797:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3797:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "3767:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3775:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3764:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3764:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3761:117:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3892:73:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3937:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "3948:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3933:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3933:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "3957:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3902:30:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3902:63:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "3892:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "3985:288:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4000:46:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4031:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4042:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4027:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4027:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4014:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4014:32:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "4004:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4093:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulIdentifier", | |
| "src": "4095:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4095:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4095:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4065:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4073:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4062:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4062:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "4059:117:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4190:73:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4235:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4246:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4231:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4231:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "4255:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4200:30:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4200:63:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "4190:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "4283:118:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4298:16:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4312:2:1", | |
| "type": "", | |
| "value": "64" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "4302:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4328:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4363:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4374:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4359:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4359:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "4383:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "4338:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4338:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value2", | |
| "nodeType": "YulIdentifier", | |
| "src": "4328:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "4411:118:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4426:16:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4440:2:1", | |
| "type": "", | |
| "value": "96" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "4430:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4456:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4491:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4502:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4487:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4487:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "4511:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "4466:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4466:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value3", | |
| "nodeType": "YulIdentifier", | |
| "src": "4456:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_addresst_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "3494:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "3505:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "3517:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "3525:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value2", | |
| "nodeType": "YulTypedName", | |
| "src": "3533:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value3", | |
| "nodeType": "YulTypedName", | |
| "src": "3541:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3411:1125:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4607:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4624:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "4647:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "4629:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4629:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4617:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4617:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4617:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "4595:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4602:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4542:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4725:40:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4736:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "4752:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4746:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4746:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "4736:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "4708:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "4718:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4666:99:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4867:73:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4884:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "4889:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4877:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4877:19:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4877:19:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4905:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4924:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4929:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4920:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4920:14:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4905:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4839:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "4844:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4855:11:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4771:169:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4995:258:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "5005:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5014:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "5009:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5074:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "5099:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "5104:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5095:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5095:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "5118:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "5123:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5114:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5114:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "5108:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5108:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5088:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5088:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5088:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "5035:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "5038:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "5032:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5032:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "5046:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5048:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "5057:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5060:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5053:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5053:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "5048:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "5028:3:1", | |
| "statements": [] | |
| }, | |
| "src": "5024:113:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5171:76:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "5221:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "5226:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5217:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5217:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5235:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5210:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5210:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5210:27:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "5152:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "5155:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "5149:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5149:13:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "5146:101:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "4977:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "4982:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "4987:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4946:307:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5351:272:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "5361:53:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5408:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5375:32:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5375:39:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "5365:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5423:78:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5489:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "5494:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "5430:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5430:71:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5423:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5536:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5543:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5532:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5532:16:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5550:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "5555:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "5510:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5510:52:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5510:52:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5571:46:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5582:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "5609:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "5587:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5587:29:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5578:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5578:39:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "5571:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "5332:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5339:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "5347:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5259:364:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5694:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5711:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5734:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "5716:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5716:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5704:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5704:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5704:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "5682:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5689:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5629:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5975:513:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5985:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "5997:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6008:3:1", | |
| "type": "", | |
| "value": "128" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5993:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5993:19:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "5985:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "6066:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6079:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6090:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6075:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6075:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "6022:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6022:71:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6022:71:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6114:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6125:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6110:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6110:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6134:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6140:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "6130:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6130:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "6103:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6103:48:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6103:48:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6160:86:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "6232:6:1" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6241:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "6168:63:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6168:78:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6160:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6267:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6278:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6263:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6263:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6287:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6293:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "6283:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6283:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "6256:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6256:48:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6256:48:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6313:86:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value2", | |
| "nodeType": "YulIdentifier", | |
| "src": "6385:6:1" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6394:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "6321:63:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6321:78:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6313:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value3", | |
| "nodeType": "YulIdentifier", | |
| "src": "6453:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6466:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6477:2:1", | |
| "type": "", | |
| "value": "96" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6462:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6462:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "6409:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6409:72:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6409:72:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "5923:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value3", | |
| "nodeType": "YulTypedName", | |
| "src": "5935:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value2", | |
| "nodeType": "YulTypedName", | |
| "src": "5943:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "5951:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "5959:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "5970:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5753:735:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_addresst_uint256(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c806365dacfd214610030575b600080fd5b61004a6004803603810190610045919061027d565b61004c565b005b7f1f80d9d05c303be128f8b0261d2d5bb07e064d03ce55a9ece273bb41949289058285858460405161008194939291906103c2565b60405180910390a150505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6100f6826100ad565b810181811067ffffffffffffffff82111715610115576101146100be565b5b80604052505050565b600061012861008f565b905061013482826100ed565b919050565b600067ffffffffffffffff821115610154576101536100be565b5b61015d826100ad565b9050602081019050919050565b82818337600083830152505050565b600061018c61018784610139565b61011e565b9050828152602081018484840111156101a8576101a76100a8565b5b6101b384828561016a565b509392505050565b600082601f8301126101d0576101cf6100a3565b5b81356101e0848260208601610179565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610214826101e9565b9050919050565b61022481610209565b811461022f57600080fd5b50565b6000813590506102418161021b565b92915050565b6000819050919050565b61025a81610247565b811461026557600080fd5b50565b60008135905061027781610251565b92915050565b6000806000806080858703121561029757610296610099565b5b600085013567ffffffffffffffff8111156102b5576102b461009e565b5b6102c1878288016101bb565b945050602085013567ffffffffffffffff8111156102e2576102e161009e565b5b6102ee878288016101bb565b93505060406102ff87828801610232565b925050606061031087828801610268565b91505092959194509250565b61032581610209565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561036557808201518184015260208101905061034a565b83811115610374576000848401525b50505050565b60006103858261032b565b61038f8185610336565b935061039f818560208601610347565b6103a8816100ad565b840191505092915050565b6103bc81610247565b82525050565b60006080820190506103d7600083018761031c565b81810360208301526103e9818661037a565b905081810360408301526103fd818561037a565b905061040c60608301846103b3565b9594505050505056fea2646970667358221220ec043e9b5607eacd38807dc20a1d97e46e48d0a3ca14d13d614b871475f1e25b64736f6c634300080b0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x65DACFD2 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x27D JUMP JUMPDEST PUSH2 0x4C JUMP JUMPDEST STOP JUMPDEST PUSH32 0x1F80D9D05C303BE128F8B0261D2D5BB07E064D03CE55A9ECE273BB4194928905 DUP3 DUP6 DUP6 DUP5 PUSH1 0x40 MLOAD PUSH2 0x81 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xF6 DUP3 PUSH2 0xAD JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x115 JUMPI PUSH2 0x114 PUSH2 0xBE JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x128 PUSH2 0x8F JUMP JUMPDEST SWAP1 POP PUSH2 0x134 DUP3 DUP3 PUSH2 0xED JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x154 JUMPI PUSH2 0x153 PUSH2 0xBE JUMP JUMPDEST JUMPDEST PUSH2 0x15D DUP3 PUSH2 0xAD JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18C PUSH2 0x187 DUP5 PUSH2 0x139 JUMP JUMPDEST PUSH2 0x11E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1A8 JUMPI PUSH2 0x1A7 PUSH2 0xA8 JUMP JUMPDEST JUMPDEST PUSH2 0x1B3 DUP5 DUP3 DUP6 PUSH2 0x16A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1D0 JUMPI PUSH2 0x1CF PUSH2 0xA3 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1E0 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x179 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x214 DUP3 PUSH2 0x1E9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x224 DUP2 PUSH2 0x209 JUMP JUMPDEST DUP2 EQ PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x241 DUP2 PUSH2 0x21B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x25A DUP2 PUSH2 0x247 JUMP JUMPDEST DUP2 EQ PUSH2 0x265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x277 DUP2 PUSH2 0x251 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x297 JUMPI PUSH2 0x296 PUSH2 0x99 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B5 JUMPI PUSH2 0x2B4 PUSH2 0x9E JUMP JUMPDEST JUMPDEST PUSH2 0x2C1 DUP8 DUP3 DUP9 ADD PUSH2 0x1BB JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2E2 JUMPI PUSH2 0x2E1 PUSH2 0x9E JUMP JUMPDEST JUMPDEST PUSH2 0x2EE DUP8 DUP3 DUP9 ADD PUSH2 0x1BB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x2FF DUP8 DUP3 DUP9 ADD PUSH2 0x232 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x310 DUP8 DUP3 DUP9 ADD PUSH2 0x268 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH2 0x325 DUP2 PUSH2 0x209 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x365 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x34A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x374 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x385 DUP3 PUSH2 0x32B JUMP JUMPDEST PUSH2 0x38F DUP2 DUP6 PUSH2 0x336 JUMP JUMPDEST SWAP4 POP PUSH2 0x39F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x347 JUMP JUMPDEST PUSH2 0x3A8 DUP2 PUSH2 0xAD JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3BC DUP2 PUSH2 0x247 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x3D7 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x31C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x3E9 DUP2 DUP7 PUSH2 0x37A JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3FD DUP2 DUP6 PUSH2 0x37A JUMP JUMPDEST SWAP1 POP PUSH2 0x40C PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x3B3 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEC DIV RETURNDATACOPY SWAP12 JUMP SMOD 0xEA 0xCD CODESIZE DUP1 PUSH30 0xC20A1D97E46E48D0A3CA14D13D614B871475F1E25B64736F6C634300080B STOP CALLER ", | |
| "sourceMap": "61:256:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;269:37;278:5;285:4;291:6;299;269:37;;;;;;;;;:::i;:::-;;;;;;;;164:150;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:154::-;1694:6;1689:3;1684;1671:30;1756:1;1747:6;1742:3;1738:16;1731:27;1610:154;;;:::o;1770:412::-;1848:5;1873:66;1889:49;1931:6;1889:49;:::i;:::-;1873:66;:::i;:::-;1864:75;;1962:6;1955:5;1948:21;2000:4;1993:5;1989:16;2038:3;2029:6;2024:3;2020:16;2017:25;2014:112;;;2045:79;;:::i;:::-;2014:112;2135:41;2169:6;2164:3;2159;2135:41;:::i;:::-;1854:328;1770:412;;;;;:::o;2202:340::-;2258:5;2307:3;2300:4;2292:6;2288:17;2284:27;2274:122;;2315:79;;:::i;:::-;2274:122;2432:6;2419:20;2457:79;2532:3;2524:6;2517:4;2509:6;2505:17;2457:79;:::i;:::-;2448:88;;2264:278;2202:340;;;;:::o;2548:126::-;2585:7;2625:42;2618:5;2614:54;2603:65;;2548:126;;;:::o;2680:96::-;2717:7;2746:24;2764:5;2746:24;:::i;:::-;2735:35;;2680:96;;;:::o;2782:122::-;2855:24;2873:5;2855:24;:::i;:::-;2848:5;2845:35;2835:63;;2894:1;2891;2884:12;2835:63;2782:122;:::o;2910:139::-;2956:5;2994:6;2981:20;2972:29;;3010:33;3037:5;3010:33;:::i;:::-;2910:139;;;;:::o;3055:77::-;3092:7;3121:5;3110:16;;3055:77;;;:::o;3138:122::-;3211:24;3229:5;3211:24;:::i;:::-;3204:5;3201:35;3191:63;;3250:1;3247;3240:12;3191:63;3138:122;:::o;3266:139::-;3312:5;3350:6;3337:20;3328:29;;3366:33;3393:5;3366:33;:::i;:::-;3266:139;;;;:::o;3411:1125::-;3517:6;3525;3533;3541;3590:3;3578:9;3569:7;3565:23;3561:33;3558:120;;;3597:79;;:::i;:::-;3558:120;3745:1;3734:9;3730:17;3717:31;3775:18;3767:6;3764:30;3761:117;;;3797:79;;:::i;:::-;3761:117;3902:63;3957:7;3948:6;3937:9;3933:22;3902:63;:::i;:::-;3892:73;;3688:287;4042:2;4031:9;4027:18;4014:32;4073:18;4065:6;4062:30;4059:117;;;4095:79;;:::i;:::-;4059:117;4200:63;4255:7;4246:6;4235:9;4231:22;4200:63;:::i;:::-;4190:73;;3985:288;4312:2;4338:53;4383:7;4374:6;4363:9;4359:22;4338:53;:::i;:::-;4328:63;;4283:118;4440:2;4466:53;4511:7;4502:6;4491:9;4487:22;4466:53;:::i;:::-;4456:63;;4411:118;3411:1125;;;;;;;:::o;4542:118::-;4629:24;4647:5;4629:24;:::i;:::-;4624:3;4617:37;4542:118;;:::o;4666:99::-;4718:6;4752:5;4746:12;4736:22;;4666:99;;;:::o;4771:169::-;4855:11;4889:6;4884:3;4877:19;4929:4;4924:3;4920:14;4905:29;;4771:169;;;;:::o;4946:307::-;5014:1;5024:113;5038:6;5035:1;5032:13;5024:113;;;5123:1;5118:3;5114:11;5108:18;5104:1;5099:3;5095:11;5088:39;5060:2;5057:1;5053:10;5048:15;;5024:113;;;5155:6;5152:1;5149:13;5146:101;;;5235:1;5226:6;5221:3;5217:16;5210:27;5146:101;4995:258;4946:307;;;:::o;5259:364::-;5347:3;5375:39;5408:5;5375:39;:::i;:::-;5430:71;5494:6;5489:3;5430:71;:::i;:::-;5423:78;;5510:52;5555:6;5550:3;5543:4;5536:5;5532:16;5510:52;:::i;:::-;5587:29;5609:6;5587:29;:::i;:::-;5582:3;5578:39;5571:46;;5351:272;5259:364;;;;:::o;5629:118::-;5716:24;5734:5;5716:24;:::i;:::-;5711:3;5704:37;5629:118;;:::o;5753:735::-;5970:4;6008:3;5997:9;5993:19;5985:27;;6022:71;6090:1;6079:9;6075:17;6066:6;6022:71;:::i;:::-;6140:9;6134:4;6130:20;6125:2;6114:9;6110:18;6103:48;6168:78;6241:4;6232:6;6168:78;:::i;:::-;6160:86;;6293:9;6287:4;6283:20;6278:2;6267:9;6263:18;6256:48;6321:78;6394:4;6385:6;6321:78;:::i;:::-;6313:86;;6409:72;6477:2;6466:9;6462:18;6453:6;6409:72;:::i;:::-;5753:735;;;;;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "219800", | |
| "executionCost": "263", | |
| "totalCost": "220063" | |
| }, | |
| "external": { | |
| "A(string,string,address,uint256)": "infinite" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "A(string,string,address,uint256)": "65dacfd2" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": false, | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "string", | |
| "name": "name", | |
| "type": "string" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "string", | |
| "name": "symbol", | |
| "type": "string" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "NewEvent", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "name", | |
| "type": "string" | |
| }, | |
| { | |
| "internalType": "string", | |
| "name": "symbol", | |
| "type": "string" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amount", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "A", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.8.11+commit.d7f03943" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": false, | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "string", | |
| "name": "name", | |
| "type": "string" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "string", | |
| "name": "symbol", | |
| "type": "string" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "uint256", | |
| "name": "amount", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "NewEvent", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "name", | |
| "type": "string" | |
| }, | |
| { | |
| "internalType": "string", | |
| "name": "symbol", | |
| "type": "string" | |
| }, | |
| { | |
| "internalType": "address", | |
| "name": "token", | |
| "type": "address" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "amount", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "A", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/NewContanyno.sol": "NewCont" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/NewContanyno.sol": { | |
| "keccak256": "0xbf8f8d84cfcf5380e606f6bb33d66a9d3848a8f389f33ab8c50e8aec0ae32524", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://073caaf917d522e6097a18794d04145e9c2090338d26f7a0d90ec1bff2a993a1", | |
| "dweb:/ipfs/QmWpY3u7DufMtWPnv6Y9ypXPSkNPZm3cf73kw1SmiH1T4f" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": {}, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "60806040526000805534801561001457600080fd5b50610190806100246000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806357de26a414610046578063bcb4ab0e14610074578063f38fb65b1461007e575b600080fd5b604080518082018252600381526248696960e81b6020820152905161006b91906100dc565b60405180910390f35b61007c610086565b005b61007c61009c565b60008054908061009583610131565b9190505550565b33156100865760405162461bcd60e51b815260206004820152600b60248201526a4e6f74204d61707065642160a81b604482015260640160405180910390fd5b600060208083528351808285015260005b81811015610109578581018301518582016040015282016100ed565b8181111561011b576000604083870101525b50601f01601f1916929092016040019392505050565b600060001982141561015357634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220eb25dbd8ca8fb387759fa5a5df62a608639c1321fb086553c868e7e9df65266e64736f6c634300080b0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x190 DUP1 PUSH2 0x24 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x57DE26A4 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xBCB4AB0E EQ PUSH2 0x74 JUMPI DUP1 PUSH4 0xF38FB65B EQ PUSH2 0x7E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x486969 PUSH1 0xE8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH2 0x6B SWAP2 SWAP1 PUSH2 0xDC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7C PUSH2 0x86 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7C PUSH2 0x9C JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 DUP1 PUSH2 0x95 DUP4 PUSH2 0x131 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST CALLER ISZERO PUSH2 0x86 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x4E6F74204D617070656421 PUSH1 0xA8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x109 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xED JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x11B JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x153 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0x25 0xDB 0xD8 0xCA DUP16 0xB3 DUP8 PUSH22 0x9FA5A5DF62A608639C1321FB086553C868E7E9DF6526 PUSH15 0x64736F6C634300080B003300000000 ", | |
| "sourceMap": "61:303:0:-:0;;;97:1;90:8;;61:303;;;;;;;;;;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@read_12": { | |
| "entryPoint": null, | |
| "id": 12, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@revertCall_37": { | |
| "entryPoint": 156, | |
| "id": 37, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@write_19": { | |
| "entryPoint": 134, | |
| "id": 19, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 220, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_8f1fb45e1fd9211828c36695c20e76ee67f1b97bc4becd0be5e8c0766e3f13fd__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "increment_t_uint256": { | |
| "entryPoint": 305, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:1190:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "6:3:1", | |
| "statements": [] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "135:476:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "145:12:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "155:2:1", | |
| "type": "", | |
| "value": "32" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "_1", | |
| "nodeType": "YulTypedName", | |
| "src": "149:2:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "173:9:1" | |
| }, | |
| { | |
| "name": "_1", | |
| "nodeType": "YulIdentifier", | |
| "src": "184:2:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "166:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "166:21:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "166:21:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "196:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "216:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "210:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "210:13:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "200:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "243:9:1" | |
| }, | |
| { | |
| "name": "_1", | |
| "nodeType": "YulIdentifier", | |
| "src": "254:2:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "239:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "239:18:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "259:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "232:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "232:34:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "232:34:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "275:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "284:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "279:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "344:90:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "373:9:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "384:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "369:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "369:17:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "388:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "365:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "365:26:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "407:6:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "415:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "403:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "403:14:1" | |
| }, | |
| { | |
| "name": "_1", | |
| "nodeType": "YulIdentifier", | |
| "src": "419:2:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "399:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "399:23:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "393:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "393:30:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "358:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "358:66:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "358:66:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "305:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "308:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "302:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "302:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "316:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "318:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "327:1:1" | |
| }, | |
| { | |
| "name": "_1", | |
| "nodeType": "YulIdentifier", | |
| "src": "330:2:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "323:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "323:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "318:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "298:3:1", | |
| "statements": [] | |
| }, | |
| "src": "294:140:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "468:66:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "497:9:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "508:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "493:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "493:22:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "517:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "489:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "489:31:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "522:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "482:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "482:42:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "482:42:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "449:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "452:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "446:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "446:13:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "443:91:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "543:62:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "559:9:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "578:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "586:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "574:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "574:15:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "595:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "591:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "591:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "570:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "570:29:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "555:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "555:45:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "602:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "551:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "551:54:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "543:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "104:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "115:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "126:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14:597:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "663:185:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "702:111:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "723:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "730:3:1", | |
| "type": "", | |
| "value": "224" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "735:10:1", | |
| "type": "", | |
| "value": "0x4e487b71" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shl", | |
| "nodeType": "YulIdentifier", | |
| "src": "726:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "726:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "716:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "716:31:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "716:31:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "767:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "770:4:1", | |
| "type": "", | |
| "value": "0x11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "760:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "760:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "760:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "795:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "798:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "788:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "788:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "788:15:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "679:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "690:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "686:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "686:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "676:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "676:17:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "673:140:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "822:20:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "833:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "840:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "829:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "829:13:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "822:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "increment_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "645:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "655:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "616:232:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1027:161:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1044:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1055:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1037:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1037:21:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1037:21:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1078:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1089:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1074:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1074:18:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1094:2:1", | |
| "type": "", | |
| "value": "11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1067:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1067:30:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1067:30:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1117:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1128:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1113:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1113:18:1" | |
| }, | |
| { | |
| "hexValue": "4e6f74204d617070656421", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "1133:13:1", | |
| "type": "", | |
| "value": "Not Mapped!" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1106:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1106:41:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1106:41:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1156:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1168:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1179:2:1", | |
| "type": "", | |
| "value": "96" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1164:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1164:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1156:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_8f1fb45e1fd9211828c36695c20e76ee67f1b97bc4becd0be5e8c0766e3f13fd__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1004:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1018:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "853:335:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_8f1fb45e1fd9211828c36695c20e76ee67f1b97bc4becd0be5e8c0766e3f13fd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 11)\n mstore(add(headStart, 64), \"Not Mapped!\")\n tail := add(headStart, 96)\n }\n}", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c806357de26a414610046578063bcb4ab0e14610074578063f38fb65b1461007e575b600080fd5b604080518082018252600381526248696960e81b6020820152905161006b91906100dc565b60405180910390f35b61007c610086565b005b61007c61009c565b60008054908061009583610131565b9190505550565b33156100865760405162461bcd60e51b815260206004820152600b60248201526a4e6f74204d61707065642160a81b604482015260640160405180910390fd5b600060208083528351808285015260005b81811015610109578581018301518582016040015282016100ed565b8181111561011b576000604083870101525b50601f01601f1916929092016040019392505050565b600060001982141561015357634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220eb25dbd8ca8fb387759fa5a5df62a608639c1321fb086553c868e7e9df65266e64736f6c634300080b0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x57DE26A4 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xBCB4AB0E EQ PUSH2 0x74 JUMPI DUP1 PUSH4 0xF38FB65B EQ PUSH2 0x7E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x486969 PUSH1 0xE8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH2 0x6B SWAP2 SWAP1 PUSH2 0xDC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7C PUSH2 0x86 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x7C PUSH2 0x9C JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 DUP1 PUSH2 0x95 DUP4 PUSH2 0x131 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST CALLER ISZERO PUSH2 0x86 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x4E6F74204D617070656421 PUSH1 0xA8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x109 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xED JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x11B JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x153 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0x25 0xDB 0xD8 0xCA DUP16 0xB3 DUP8 PUSH22 0x9FA5A5DF62A608639C1321FB086553C868E7E9DF6526 PUSH15 0x64736F6C634300080B003300000000 ", | |
| "sourceMap": "61:303:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;107:83;170:12;;;;;;;;;;;-1:-1:-1;;;170:12:0;;;;107:83;;;;170:12;107:83;:::i;:::-;;;;;;;;198:47;;;:::i;:::-;;251:110;;;:::i;198:47::-;234:1;:3;;;:1;:3;;;:::i;:::-;;;;;;198:47::o;251:110::-;299:10;:24;291:48;;;;-1:-1:-1;;;291:48:0;;1055:2:1;291:48:0;;;1037:21:1;1094:2;1074:18;;;1067:30;-1:-1:-1;;;1113:18:1;;;1106:41;1164:18;;291:48:0;;;;;;;14:597:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:232::-;655:3;-1:-1:-1;;676:17:1;;673:140;;;735:10;730:3;726:20;723:1;716:31;770:4;767:1;760:15;798:4;795:1;788:15;673:140;-1:-1:-1;840:1:1;829:13;;616:232::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "80000", | |
| "executionCost": "5135", | |
| "totalCost": "85135" | |
| }, | |
| "external": { | |
| "read()": "infinite", | |
| "revertCall()": "24477", | |
| "write()": "24436" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "read()": "57de26a4", | |
| "revertCall()": "f38fb65b", | |
| "write()": "bcb4ab0e" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "read", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "revertCall", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "write", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.8.11+commit.d7f03943" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "read", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "revertCall", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "write", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/NewerContruct.sol": "NewerContract" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": true, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/NewerContruct.sol": { | |
| "keccak256": "0xd7de6ed33fab8ea633f4b02b1eea7d2995f7dd6a9d08c50dc20a612be7dd2e27", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://5a1a4685d079ed6a5ab2971d79a11cef3db8672661895dcd24adc6409ed29082", | |
| "dweb:/ipfs/QmZAAC8LpwCGuUPSBwB8quUNP5HxJ4zBsEQvKfwb4b13qa" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": { | |
| "@_49": { | |
| "entryPoint": null, | |
| "id": 49, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@_sendLogPayload_101": { | |
| "entryPoint": 444, | |
| "id": 101, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@log_836": { | |
| "entryPoint": 282, | |
| "id": 836, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_address_to_t_address_fromStack": { | |
| "entryPoint": 485, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 500, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed": { | |
| "entryPoint": 557, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 605, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 616, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address": { | |
| "entryPoint": 633, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint160": { | |
| "entryPoint": 651, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 683, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 734, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:1862:2", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "72:53:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "89:3:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "112:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "94:17:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "94:24:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "82:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "82:37:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "82:37:2" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "60:5:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "67:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:118:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "223:272:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "233:53:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "280:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "247:32:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "247:39:2" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "237:6:2", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "295:78:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "361:3:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "366:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "302:58:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "302:71:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "295:3:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "408:5:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "415:4:2", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "404:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "404:16:2" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "422:3:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "427:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "382:21:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "382:52:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "382:52:2" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "443:46:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "454:3:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "481:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "459:21:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "459:29:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "450:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "450:39:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "443:3:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "204:5:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "211:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "219:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "131:364:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "647:277:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "657:26:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "669:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "680:2:2", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "665:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "665:18:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "657:4:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "704:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "715:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "700:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "700:17:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "723:4:2" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "729:9:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "719:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "719:20:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "693:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "693:47:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "693:47:2" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "749:86:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "821:6:2" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "830:4:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "757:63:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "757:78:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "749:4:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "889:6:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "902:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "913:2:2", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "898:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "898:18:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "845:43:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "845:72:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "845:72:2" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "611:9:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "623:6:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "631:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "642:4:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "501:423:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "989:40:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1000:22:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1016:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1010:5:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1010:12:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1000:6:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "972:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "982:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "930:99:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1131:73:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1148:3:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1153:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1141:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1141:19:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1141:19:2" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1169:29:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1188:3:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1193:4:2", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1184:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1184:14:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1169:11:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "1103:3:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1108:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "1119:11:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1035:169:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1255:51:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1265:35:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1294:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "1276:17:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1276:24:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "1265:7:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1237:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "1247:7:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1210:96:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1357:81:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1367:65:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1382:5:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1389:42:2", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "1378:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1378:54:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "1367:7:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1339:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "1349:7:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1312:126:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1493:258:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1503:10:2", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1512:1:2", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "1507:1:2", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1572:63:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "1597:3:2" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1602:1:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1593:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1593:11:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "1616:3:2" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1621:1:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1612:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1612:11:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1606:5:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1606:18:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1586:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1586:39:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1586:39:2" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1533:1:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1536:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1530:2:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1530:13:2" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "1544:19:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1546:15:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1555:1:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1558:2:2", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1551:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1551:10:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1546:1:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "1526:3:2", | |
| "statements": [] | |
| }, | |
| "src": "1522:113:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1669:76:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "1719:3:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1724:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1715:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1715:16:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1733:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1708:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1708:27:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1708:27:2" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1650:1:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1653:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1647:2:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1647:13:2" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1644:101:2" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "1475:3:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "1480:3:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1485:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1444:307:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1805:54:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1815:38:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1833:5:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1840:2:2", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1829:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1829:14:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1849:2:2", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "1845:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1845:7:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "1825:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1825:28:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "1815:6:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1788:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "1798:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1757:102:2" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n", | |
| "id": 2, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b5061005a6040518060400160405280601b81526020017f4f776e657220636f6e7472616374206465706c6f7965642062793a00000000008152503361011a60201b6101e91760201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a36102ef565b6101b8828260405160240161013092919061022d565b6040516020818303038152906040527f319af333000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506101bc60201b60201c565b5050565b60008151905060006a636f6e736f6c652e6c6f679050602083016000808483855afa5050505050565b6101ee81610279565b82525050565b60006101ff8261025d565b6102098185610268565b93506102198185602086016102ab565b610222816102de565b840191505092915050565b6000604082019050818103600083015261024781856101f4565b905061025660208301846101e5565b9392505050565b600081519050919050565b600082825260208201905092915050565b60006102848261028b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b838110156102c95780820151818401526020810190506102ae565b838111156102d8576000848401525b50505050565b6000601f19601f8301169050919050565b6104d3806102fe6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063893d20e81461003b578063a6f9dae114610059575b600080fd5b610043610075565b604051610050919061035b565b60405180910390f35b610073600480360381019061006e91906102c3565b61009e565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610123906103a6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61028182826040516024016101ff929190610376565b6040516020818303038152906040527f319af333000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610285565b5050565b60008151905060006a636f6e736f6c652e6c6f679050602083016000808483855afa5050505050565b6000813590506102bd81610486565b92915050565b6000602082840312156102d9576102d8610447565b5b60006102e7848285016102ae565b91505092915050565b6102f9816103e2565b82525050565b600061030a826103c6565b61031481856103d1565b9350610324818560208601610414565b61032d8161044c565b840191505092915050565b60006103456013836103d1565b91506103508261045d565b602082019050919050565b600060208201905061037060008301846102f0565b92915050565b6000604082019050818103600083015261039081856102ff565b905061039f60208301846102f0565b9392505050565b600060208201905081810360008301526103bf81610338565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006103ed826103f4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015610432578082015181840152602081019050610417565b83811115610441576000848401525b50505050565b600080fd5b6000601f19601f8301169050919050565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b61048f816103e2565b811461049a57600080fd5b5056fea2646970667358221220ebb0846bcd30e39473ae499d4534daabbb2d92c955ffb2ffe80ab90beebb6ea464736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4F776E657220636F6E7472616374206465706C6F7965642062793A0000000000 DUP2 MSTORE POP CALLER PUSH2 0x11A PUSH1 0x20 SHL PUSH2 0x1E9 OR PUSH1 0x20 SHR JUMP JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x342827C97908E5E2F71151C08502A66D44B6F758E3AC2F1DE95F02EB95F0A735 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x2EF JUMP JUMPDEST PUSH2 0x1B8 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x130 SWAP3 SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x319AF33300000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x1BC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH1 0x20 DUP4 ADD PUSH1 0x0 DUP1 DUP5 DUP4 DUP6 GAS STATICCALL POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1EE DUP2 PUSH2 0x279 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF DUP3 PUSH2 0x25D JUMP JUMPDEST PUSH2 0x209 DUP2 DUP6 PUSH2 0x268 JUMP JUMPDEST SWAP4 POP PUSH2 0x219 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2AB JUMP JUMPDEST PUSH2 0x222 DUP2 PUSH2 0x2DE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x247 DUP2 DUP6 PUSH2 0x1F4 JUMP JUMPDEST SWAP1 POP PUSH2 0x256 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1E5 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x284 DUP3 PUSH2 0x28B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2C9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2D8 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4D3 DUP1 PUSH2 0x2FE 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 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xA6F9DAE1 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x35B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x2C3 JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x12C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x123 SWAP1 PUSH2 0x3A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x342827C97908E5E2F71151C08502A66D44B6F758E3AC2F1DE95F02EB95F0A735 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x281 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1FF SWAP3 SWAP2 SWAP1 PUSH2 0x376 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x319AF33300000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x285 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH1 0x20 DUP4 ADD PUSH1 0x0 DUP1 DUP5 DUP4 DUP6 GAS STATICCALL POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2BD DUP2 PUSH2 0x486 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9 JUMPI PUSH2 0x2D8 PUSH2 0x447 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2E7 DUP5 DUP3 DUP6 ADD PUSH2 0x2AE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2F9 DUP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30A DUP3 PUSH2 0x3C6 JUMP JUMPDEST PUSH2 0x314 DUP2 DUP6 PUSH2 0x3D1 JUMP JUMPDEST SWAP4 POP PUSH2 0x324 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x414 JUMP JUMPDEST PUSH2 0x32D DUP2 PUSH2 0x44C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x345 PUSH1 0x13 DUP4 PUSH2 0x3D1 JUMP JUMPDEST SWAP2 POP PUSH2 0x350 DUP3 PUSH2 0x45D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x370 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2F0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x390 DUP2 DUP6 PUSH2 0x2FF JUMP JUMPDEST SWAP1 POP PUSH2 0x39F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2F0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3BF DUP2 PUSH2 0x338 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3ED DUP3 PUSH2 0x3F4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x432 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x417 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x441 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F74206F776E657200000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x48F DUP2 PUSH2 0x3E2 JUMP JUMPDEST DUP2 EQ PUSH2 0x49A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0xB0 DUP5 PUSH12 0xCD30E39473AE499D4534DAAB 0xBB 0x2D SWAP3 0xC9 SSTORE SELFDESTRUCT 0xB2 SELFDESTRUCT 0xE8 EXP 0xB9 SIGNEXTEND 0xEE 0xBB PUSH15 0xA464736F6C63430008070033000000 ", | |
| "sourceMap": "152:1413:0:-:0;;;942:234;;;;;;;;;;966:54;;;;;;;;;;;;;;;;;;1009:10;966:11;;;;;:54;;:::i;:::-;1038:10;1030:5;;:18;;;;;;;;;;;;;;;;;;1163:5;;;;;;;;;;1142:27;;1159:1;1142:27;;;;;;;;;;;;152:1413;;6352:136:1;6413:71;6476:2;6480;6429:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6413:15;;;:71;;:::i;:::-;6352:136;;:::o;176:288::-;240:21;264:7;:14;240:38;;282:22;129:42;282:40;;373:2;364:7;360:16;455:1;452;437:13;423:12;407:14;400:5;389:68;335:126;;;;176:288;:::o;7:118:2:-;94:24;112:5;94:24;:::i;:::-;89:3;82:37;7:118;;:::o;131:364::-;219:3;247:39;280:5;247:39;:::i;:::-;302:71;366:6;361:3;302:71;:::i;:::-;295:78;;382:52;427:6;422:3;415:4;408:5;404:16;382:52;:::i;:::-;459:29;481:6;459:29;:::i;:::-;454:3;450:39;443:46;;223:272;131:364;;;;:::o;501:423::-;642:4;680:2;669:9;665:18;657:26;;729:9;723:4;719:20;715:1;704:9;700:17;693:47;757:78;830:4;821:6;757:78;:::i;:::-;749:86;;845:72;913:2;902:9;898:18;889:6;845:72;:::i;:::-;501:423;;;;;:::o;930:99::-;982:6;1016:5;1010:12;1000:22;;930:99;;;:::o;1035:169::-;1119:11;1153:6;1148:3;1141:19;1193:4;1188:3;1184:14;1169:29;;1035:169;;;;:::o;1210:96::-;1247:7;1276:24;1294:5;1276:24;:::i;:::-;1265:35;;1210:96;;;:::o;1312:126::-;1349:7;1389:42;1382:5;1378:54;1367:65;;1312:126;;;:::o;1444:307::-;1512:1;1522:113;1536:6;1533:1;1530:13;1522:113;;;1621:1;1616:3;1612:11;1606:18;1602:1;1597:3;1593:11;1586:39;1558:2;1555:1;1551:10;1546:15;;1522:113;;;1653:6;1650:1;1647:13;1644:101;;;1733:1;1724:6;1719:3;1715:16;1708:27;1644:101;1493:258;1444:307;;;:::o;1757:102::-;1798:6;1849:2;1845:7;1840:2;1833:5;1829:14;1825:28;1815:38;;1757:102;;;:::o;152:1413:0:-;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@_sendLogPayload_101": { | |
| "entryPoint": 645, | |
| "id": 101, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@changeOwner_67": { | |
| "entryPoint": 158, | |
| "id": 67, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@getOwner_76": { | |
| "entryPoint": 117, | |
| "id": 76, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@log_836": { | |
| "entryPoint": 489, | |
| "id": 836, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_address": { | |
| "entryPoint": 686, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_address": { | |
| "entryPoint": 707, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_address_to_t_address_fromStack": { | |
| "entryPoint": 752, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 767, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 824, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
| "entryPoint": 859, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed": { | |
| "entryPoint": 886, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 934, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 966, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 977, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address": { | |
| "entryPoint": 994, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint160": { | |
| "entryPoint": 1012, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 1044, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 1095, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 1100, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d": { | |
| "entryPoint": 1117, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_address": { | |
| "entryPoint": 1158, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:3997:2", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "59:87:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "69:29:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "91:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "78:12:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "78:20:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "69:5:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "134:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "107:26:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "107:33:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "107:33:2" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "37:6:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "45:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "53:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:139:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "218:263:2", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "264:83:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:77:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "266:79:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "266:79:2" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "239:7:2" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "248:9:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "235:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "235:23:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "260:2:2", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "231:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "231:32:2" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "228:119:2" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "357:117:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "372:15:2", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "386:1:2", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "376:6:2", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "401:63:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "436:9:2" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "447:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "432:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "432:22:2" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "456:7:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "411:20:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "411:53:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "401:6:2" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "188:9:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "199:7:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "211:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "152:329:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "552:53:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "569:3:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "592:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "574:17:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "574:24:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "562:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "562:37:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "562:37:2" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "540:5:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "547:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "487:118:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "703:272:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "713:53:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "760:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "727:32:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "727:39:2" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "717:6:2", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "775:78:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "841:3:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "846:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "782:58:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "782:71:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "775:3:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "888:5:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "895:4:2", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "884:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "884:16:2" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "902:3:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "907:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "862:21:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "862:52:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "862:52:2" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "923:46:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "934:3:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "961:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "939:21:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "939:29:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "930:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "930:39:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "923:3:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "684:5:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "691:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "699:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "611:364:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1127:220:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1137:74:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1203:3:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1208:2:2", | |
| "type": "", | |
| "value": "19" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1144:58:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1144:67:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1137:3:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1309:3:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d", | |
| "nodeType": "YulIdentifier", | |
| "src": "1220:88:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1220:93:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1220:93:2" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1322:19:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1333:3:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1338:2:2", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1329:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1329:12:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "1322:3:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "1115:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "1123:3:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "981:366:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1451:124:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1461:26:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1473:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1484:2:2", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1469:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1469:18:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1461:4:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1541:6:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1554:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1565:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1550:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1550:17:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1497:43:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1497:71:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1497:71:2" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1423:9:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1435:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1446:4:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1353:222:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1727:277:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1737:26:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1749:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1760:2:2", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1745:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1745:18:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1737:4:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1784:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1795:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1780:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1780:17:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1803:4:2" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1809:9:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1799:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1799:20:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1773:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1773:47:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1773:47:2" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1829:86:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1901:6:2" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1910:4:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1837:63:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1837:78:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1829:4:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1969:6:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1982:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1993:2:2", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1978:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1978:18:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1925:43:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1925:72:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1925:72:2" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1691:9:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "1703:6:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1711:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1722:4:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1581:423:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2181:248:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2191:26:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2203:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2214:2:2", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2199:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2199:18:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "2191:4:2" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2238:9:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2249:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2234:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2234:17:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "2257:4:2" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2263:9:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "2253:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2253:20:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2227:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2227:47:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2227:47:2" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2283:139:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "2417:4:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "2291:124:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2291:131:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "2283:4:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "2161:9:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "2176:4:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2010:419:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2475:35:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2485:19:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2501:2:2", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2495:5:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2495:9:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2485:6:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2468:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2435:75:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2575:40:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2586:22:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2602:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2596:5:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2596:12:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2586:6:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2558:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2568:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2516:99:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2717:73:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2734:3:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2739:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2727:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2727:19:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2727:19:2" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2755:29:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2774:3:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2779:4:2", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2770:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2770:14:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2755:11:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2689:3:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2694:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2705:11:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2621:169:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2841:51:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2851:35:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2880:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "2862:17:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2862:24:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "2851:7:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2823:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "2833:7:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2796:96:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2943:81:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2953:65:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2968:5:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2975:42:2", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "2964:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2964:54:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "2953:7:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2925:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "2935:7:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2898:126:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3079:258:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3089:10:2", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3098:1:2", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "3093:1:2", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3158:63:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "3183:3:2" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3188:1:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3179:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3179:11:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "3202:3:2" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3207:1:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3198:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3198:11:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "3192:5:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3192:18:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3172:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3172:39:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3172:39:2" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3119:1:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3122:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3116:2:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3116:13:2" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "3130:19:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3132:15:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3141:1:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3144:2:2", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3137:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3137:10:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3132:1:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "3112:3:2", | |
| "statements": [] | |
| }, | |
| "src": "3108:113:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3255:76:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "3305:3:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3310:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3301:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3301:16:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3319:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3294:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3294:27:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3294:27:2" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3236:1:2" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3239:6:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3233:2:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3233:13:2" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3230:101:2" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "3061:3:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "3066:3:2", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3071:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3030:307:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3432:28:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3449:1:2", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3452:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3442:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3442:12:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3442:12:2" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3343:117:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3555:28:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3572:1:2", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3575:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3565:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3565:12:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3565:12:2" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3466:117:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3637:54:2", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3647:38:2", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3665:5:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3672:2:2", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3661:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3661:14:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3681:2:2", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "3677:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3677:7:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3657:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3657:28:2" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "3647:6:2" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3620:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "3630:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3589:102:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3803:63:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3825:6:2" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3833:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3821:3:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3821:14:2" | |
| }, | |
| { | |
| "hexValue": "43616c6c6572206973206e6f74206f776e6572", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "3837:21:2", | |
| "type": "", | |
| "value": "Caller is not owner" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3814:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3814:45:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3814:45:2" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "3795:6:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3697:169:2" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3915:79:2", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3972:16:2", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3981:1:2", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3984:1:2", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3974:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3974:12:2" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3974:12:2" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3938:5:2" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3963:5:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "3945:17:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3945:24:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "3935:2:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3935:35:2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "3928:6:2" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3928:43:2" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3925:63:2" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3908:5:2", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3872:122:2" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not owner\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n", | |
| "id": 2, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063893d20e81461003b578063a6f9dae114610059575b600080fd5b610043610075565b604051610050919061035b565b60405180910390f35b610073600480360381019061006e91906102c3565b61009e565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610123906103a6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61028182826040516024016101ff929190610376565b6040516020818303038152906040527f319af333000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610285565b5050565b60008151905060006a636f6e736f6c652e6c6f679050602083016000808483855afa5050505050565b6000813590506102bd81610486565b92915050565b6000602082840312156102d9576102d8610447565b5b60006102e7848285016102ae565b91505092915050565b6102f9816103e2565b82525050565b600061030a826103c6565b61031481856103d1565b9350610324818560208601610414565b61032d8161044c565b840191505092915050565b60006103456013836103d1565b91506103508261045d565b602082019050919050565b600060208201905061037060008301846102f0565b92915050565b6000604082019050818103600083015261039081856102ff565b905061039f60208301846102f0565b9392505050565b600060208201905081810360008301526103bf81610338565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006103ed826103f4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015610432578082015181840152602081019050610417565b83811115610441576000848401525b50505050565b600080fd5b6000601f19601f8301169050919050565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b61048f816103e2565b811461049a57600080fd5b5056fea2646970667358221220ebb0846bcd30e39473ae499d4534daabbb2d92c955ffb2ffe80ab90beebb6ea464736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xA6F9DAE1 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x35B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x2C3 JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x12C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x123 SWAP1 PUSH2 0x3A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x342827C97908E5E2F71151C08502A66D44B6F758E3AC2F1DE95F02EB95F0A735 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x281 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1FF SWAP3 SWAP2 SWAP1 PUSH2 0x376 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x319AF33300000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x285 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH1 0x20 DUP4 ADD PUSH1 0x0 DUP1 DUP5 DUP4 DUP6 GAS STATICCALL POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2BD DUP2 PUSH2 0x486 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9 JUMPI PUSH2 0x2D8 PUSH2 0x447 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2E7 DUP5 DUP3 DUP6 ADD PUSH2 0x2AE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2F9 DUP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30A DUP3 PUSH2 0x3C6 JUMP JUMPDEST PUSH2 0x314 DUP2 DUP6 PUSH2 0x3D1 JUMP JUMPDEST SWAP4 POP PUSH2 0x324 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x414 JUMP JUMPDEST PUSH2 0x32D DUP2 PUSH2 0x44C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x345 PUSH1 0x13 DUP4 PUSH2 0x3D1 JUMP JUMPDEST SWAP2 POP PUSH2 0x350 DUP3 PUSH2 0x45D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x370 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2F0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x390 DUP2 DUP6 PUSH2 0x2FF JUMP JUMPDEST SWAP1 POP PUSH2 0x39F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2F0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3BF DUP2 PUSH2 0x338 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3ED DUP3 PUSH2 0x3F4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x432 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x417 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x441 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F74206F776E657200000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x48F DUP2 PUSH2 0x3E2 JUMP JUMPDEST DUP2 EQ PUSH2 0x49A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0xB0 DUP5 PUSH12 0xCD30E39473AE499D4534DAAB 0xBB 0x2D SWAP3 0xC9 SSTORE SELFDESTRUCT 0xB2 SELFDESTRUCT 0xE8 EXP 0xB9 SIGNEXTEND 0xEE 0xBB PUSH15 0xA464736F6C63430008070033000000 ", | |
| "sourceMap": "152:1413:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1482:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1267:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1482:81;1525:7;1551:5;;;;;;;;;;;1544:12;;1482:81;:::o;1267:127::-;830:5;;;;;;;;;;816:19;;:10;:19;;;808:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;1352:8:::1;1336:25;;1345:5;::::0;::::1;;;;;;;;1336:25;;;;;;;;;;;;1379:8;1371:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;1267:127:::0;:::o;6352:136:1:-;6413:71;6476:2;6480;6429:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6413:15;:71::i;:::-;6352:136;;:::o;176:288::-;240:21;264:7;:14;240:38;;282:22;129:42;282:40;;373:2;364:7;360:16;455:1;452;437:13;423:12;407:14;400:5;389:68;335:126;;;;176:288;:::o;7:139:2:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:118::-;574:24;592:5;574:24;:::i;:::-;569:3;562:37;487:118;;:::o;611:364::-;699:3;727:39;760:5;727:39;:::i;:::-;782:71;846:6;841:3;782:71;:::i;:::-;775:78;;862:52;907:6;902:3;895:4;888:5;884:16;862:52;:::i;:::-;939:29;961:6;939:29;:::i;:::-;934:3;930:39;923:46;;703:272;611:364;;;;:::o;981:366::-;1123:3;1144:67;1208:2;1203:3;1144:67;:::i;:::-;1137:74;;1220:93;1309:3;1220:93;:::i;:::-;1338:2;1333:3;1329:12;1322:19;;981:366;;;:::o;1353:222::-;1446:4;1484:2;1473:9;1469:18;1461:26;;1497:71;1565:1;1554:9;1550:17;1541:6;1497:71;:::i;:::-;1353:222;;;;:::o;1581:423::-;1722:4;1760:2;1749:9;1745:18;1737:26;;1809:9;1803:4;1799:20;1795:1;1784:9;1780:17;1773:47;1837:78;1910:4;1901:6;1837:78;:::i;:::-;1829:86;;1925:72;1993:2;1982:9;1978:18;1969:6;1925:72;:::i;:::-;1581:423;;;;;:::o;2010:419::-;2176:4;2214:2;2203:9;2199:18;2191:26;;2263:9;2257:4;2253:20;2249:1;2238:9;2234:17;2227:47;2291:131;2417:4;2291:131;:::i;:::-;2283:139;;2010:419;;;:::o;2516:99::-;2568:6;2602:5;2596:12;2586:22;;2516:99;;;:::o;2621:169::-;2705:11;2739:6;2734:3;2727:19;2779:4;2774:3;2770:14;2755:29;;2621:169;;;;:::o;2796:96::-;2833:7;2862:24;2880:5;2862:24;:::i;:::-;2851:35;;2796:96;;;:::o;2898:126::-;2935:7;2975:42;2968:5;2964:54;2953:65;;2898:126;;;:::o;3030:307::-;3098:1;3108:113;3122:6;3119:1;3116:13;3108:113;;;3207:1;3202:3;3198:11;3192:18;3188:1;3183:3;3179:11;3172:39;3144:2;3141:1;3137:10;3132:15;;3108:113;;;3239:6;3236:1;3233:13;3230:101;;;3319:1;3310:6;3305:3;3301:16;3294:27;3230:101;3079:258;3030:307;;;:::o;3466:117::-;3575:1;3572;3565:12;3589:102;3630:6;3681:2;3677:7;3672:2;3665:5;3661:14;3657:28;3647:38;;3589:102;;;:::o;3697:169::-;3837:21;3833:1;3825:6;3821:14;3814:45;3697:169;:::o;3872:122::-;3945:24;3963:5;3945:24;:::i;:::-;3938:5;3935:35;3925:63;;3984:1;3981;3974:12;3925:63;3872:122;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "247000", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "changeOwner(address)": "30567", | |
| "getOwner()": "2500" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "changeOwner(address)": "a6f9dae1", | |
| "getOwner()": "893d20e8" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "oldOwner", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "newOwner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "OwnerSet", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "newOwner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "changeOwner", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getOwner", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| } | |
| ] | |
| } |
| { | |
| "compiler": { | |
| "version": "0.8.7+commit.e28d00a7" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "oldOwner", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "internalType": "address", | |
| "name": "newOwner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "OwnerSet", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "newOwner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "changeOwner", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getOwner", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "details": "Set & change owner", | |
| "kind": "dev", | |
| "methods": { | |
| "changeOwner(address)": { | |
| "details": "Change owner", | |
| "params": { | |
| "newOwner": "address of new owner" | |
| } | |
| }, | |
| "constructor": { | |
| "details": "Set contract deployer as owner" | |
| }, | |
| "getOwner()": { | |
| "details": "Return owner address ", | |
| "returns": { | |
| "_0": "address of owner" | |
| } | |
| } | |
| }, | |
| "title": "Owner", | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/2_Owner.sol": "Owner" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/2_Owner.sol": { | |
| "keccak256": "0x78bbbec96c5bc30ed379cb4c7bc96af4af5c71a2ed6cbd7b202097223e055294", | |
| "license": "GPL-3.0", | |
| "urls": [ | |
| "bzz-raw://4e78c8bdef7b614a92576df195209a00fcc09bbaa00ec98c0ea29cb2118da1c5", | |
| "dweb:/ipfs/QmWrv2qJbxtDegicpu5rLGk4LgXvYvo1qXMW7qQpD6vGSX" | |
| ] | |
| }, | |
| "hardhat/console.sol": { | |
| "keccak256": "0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d", | |
| "dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
| // SPDX-License-Identifier: UNLICENCED | |
| pragma solidity ^0.8.0; | |
| struct ICOBase{ | |
| address presaleAddress; | |
| ICOparam ico; | |
| } | |
| struct DataParam{ | |
| string icoName; | |
| address tokenAddress; | |
| uint256 presaleSupply; | |
| uint256 liquiditySupply; | |
| uint256 presaleStartTime; | |
| uint256 presaleEndTime; | |
| string listingOn; | |
| uint256 softCap; | |
| uint256 hardCap; | |
| uint256 ratePerBNB; | |
| uint256 exchangeListingRateBNB; | |
| uint256 minAmount; | |
| uint256 maxAmount; | |
| bool lockLiquidity; | |
| bool burnRemaining; | |
| uint256 liquidityLockTime; | |
| bool whiteListEnabled; | |
| uint256 whitelistLastDate; | |
| } | |
| struct ICOparam{ | |
| uint256 id; | |
| bool isLive; | |
| address owner; | |
| address factory; | |
| DataParam data; | |
| // Fixed Fees | |
| Fees fees; | |
| } | |
| struct Fees{ | |
| uint256 feesBNB; | |
| uint256 feesTokenAdmin; | |
| uint256 feesTokenStaking; | |
| address StakingWalletAddress; | |
| address AdminWalletAddress; | |
| } |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.0; | |
| import "@openzeppelin/contracts/access/AccessControl.sol"; | |
| import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; | |
| contract SadDAO is ReentrancyGuard, AccessControl { | |
| bytes32 public constant CONTRIBUTOR_ROLE = keccak256("CONTRIBUTOR"); | |
| bytes32 public constant STAKEHOLDER_ROLE = keccak256("STAKEHOLDER"); | |
| uint32 constant minimumVotingPeriod = 1 weeks; | |
| uint256 numOfProposals; | |
| address public immutable deployer; | |
| constructor(){ | |
| deployer = msg.sender; | |
| _setupRole(0x0000000000000000000000000000000000000000000000000000000000000000, msg.sender); | |
| } | |
| struct CharityProposal { | |
| uint256 id; | |
| uint256 amount; | |
| uint256 livePeriod; | |
| uint256 votesFor; | |
| uint256 votesAgainst; | |
| string description; | |
| bool votingPassed; | |
| bool paid; | |
| address payable charityAddress; | |
| address proposer; | |
| address paidBy; | |
| } | |
| mapping(uint256 => CharityProposal) private charityProposals; | |
| mapping(address => uint256[]) private stakeholderVotes; | |
| mapping(address => uint256) private contributors; | |
| mapping(address => uint256) private stakeholders; | |
| event ContributionReceived(address indexed fromAddress, uint256 amount); | |
| event NewCharityProposal(address indexed proposer, uint256 amount); | |
| event PaymentTransfered( | |
| address indexed stakeholder, | |
| address indexed charityAddress, | |
| uint256 amount | |
| ); | |
| modifier onlyStakeholder(string memory message) { | |
| require(hasRole(STAKEHOLDER_ROLE, msg.sender), message); | |
| _; | |
| } | |
| modifier onlyContributor(string memory message) { | |
| require(hasRole(CONTRIBUTOR_ROLE, msg.sender), message); | |
| _; | |
| } | |
| function createProposal( | |
| string calldata description, | |
| address charityAddress, | |
| uint256 amount | |
| ) | |
| external | |
| onlyStakeholder("Only stakeholders are allowed to create proposals") | |
| { | |
| uint256 proposalId = numOfProposals++; | |
| CharityProposal storage proposal = charityProposals[proposalId]; | |
| proposal.id = proposalId; | |
| proposal.proposer = payable(msg.sender); | |
| proposal.description = description; | |
| proposal.charityAddress = payable(charityAddress); | |
| proposal.amount = amount; | |
| proposal.livePeriod = block.timestamp + minimumVotingPeriod; | |
| emit NewCharityProposal(msg.sender, amount); | |
| } | |
| function vote(uint256 proposalId, bool supportProposal) | |
| external | |
| onlyStakeholder("Only stakeholders are allowed to vote") | |
| { | |
| CharityProposal storage charityProposal = charityProposals[proposalId]; | |
| votable(charityProposal); | |
| if (supportProposal) charityProposal.votesFor++; | |
| else charityProposal.votesAgainst++; | |
| stakeholderVotes[msg.sender].push(charityProposal.id); | |
| } | |
| function votable(CharityProposal storage charityProposal) private { | |
| if ( | |
| charityProposal.votingPassed || | |
| charityProposal.livePeriod <= block.timestamp | |
| ) { | |
| charityProposal.votingPassed = true; | |
| revert("Voting period has passed on this proposal"); | |
| } | |
| uint256[] memory tempVotes = stakeholderVotes[msg.sender]; | |
| for (uint256 votes = 0; votes < tempVotes.length; votes++) { | |
| if (charityProposal.id == tempVotes[votes]) | |
| revert("This stakeholder already voted on this proposal"); | |
| } | |
| } | |
| function payCharity(uint256 proposalId) | |
| external | |
| onlyStakeholder("Only stakeholders are allowed to make payments") | |
| { | |
| CharityProposal storage charityProposal = charityProposals[proposalId]; | |
| if (charityProposal.paid) | |
| revert("Payment has been made to this charity"); | |
| if (charityProposal.votesFor <= charityProposal.votesAgainst) | |
| revert( | |
| "The proposal does not have the required amount of votes to pass" | |
| ); | |
| charityProposal.paid = true; | |
| charityProposal.paidBy = msg.sender; | |
| emit PaymentTransfered( | |
| msg.sender, | |
| charityProposal.charityAddress, | |
| charityProposal.amount | |
| ); | |
| return charityProposal.charityAddress.transfer(charityProposal.amount); | |
| } | |
| receive() external payable { | |
| emit ContributionReceived(msg.sender, msg.value); | |
| } | |
| function makeStakeholder(uint256 amount) external { | |
| address account = msg.sender; | |
| uint256 amountContributed = amount; | |
| if (!hasRole(STAKEHOLDER_ROLE, account)) { | |
| uint256 totalContributed = | |
| contributors[account] + amountContributed; | |
| if (totalContributed >= 5 ether) { | |
| stakeholders[account] = totalContributed; | |
| contributors[account] += amountContributed; | |
| _setupRole(STAKEHOLDER_ROLE, account); | |
| _setupRole(CONTRIBUTOR_ROLE, account); | |
| } else { | |
| contributors[account] += amountContributed; | |
| _setupRole(CONTRIBUTOR_ROLE, account); | |
| } | |
| } else { | |
| contributors[account] += amountContributed; | |
| stakeholders[account] += amountContributed; | |
| } | |
| } | |
| function getProposals() | |
| public | |
| view | |
| returns (CharityProposal[] memory props) | |
| { | |
| props = new CharityProposal[](numOfProposals); | |
| for (uint256 index = 0; index < numOfProposals; index++) { | |
| props[index] = charityProposals[index]; | |
| } | |
| } | |
| function getProposal(uint256 proposalId) | |
| public | |
| view | |
| returns (CharityProposal memory) | |
| { | |
| return charityProposals[proposalId]; | |
| } | |
| function getStakeholderVotes() | |
| public | |
| view | |
| onlyStakeholder("User is not a stakeholder") | |
| returns (uint256[] memory) | |
| { | |
| return stakeholderVotes[msg.sender]; | |
| } | |
| function getStakeholderBalance() | |
| public | |
| view | |
| onlyStakeholder("User is not a stakeholder") | |
| returns (uint256) | |
| { | |
| return stakeholders[msg.sender]; | |
| } | |
| function isStakeholder() public view returns (bool) { | |
| return stakeholders[msg.sender] > 0; | |
| } | |
| function getContributorBalance() | |
| public | |
| view | |
| onlyContributor("User is not a contributor") | |
| returns (uint256) | |
| { | |
| return contributors[msg.sender]; | |
| } | |
| function isContributor() public view returns (bool) { | |
| return contributors[msg.sender] > 0; | |
| } | |
| } |
| // SPDX-License-Identifier: UNLICENCED | |
| pragma solidity ^0.8.7; | |
| /** | |
| * @dev String operations. | |
| */ | |
| library Strings { | |
| bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; | |
| /** | |
| * @dev Converts a `uint256` to its ASCII `string` decimal representation. | |
| */ | |
| function toString(uint256 value) internal pure returns (string memory) { | |
| // Inspired by OraclizeAPI's implementation - MIT licence | |
| // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol | |
| if (value == 0) { | |
| return "0"; | |
| } | |
| uint256 temp = value; | |
| uint256 digits; | |
| while (temp != 0) { | |
| digits++; | |
| temp /= 10; | |
| } | |
| bytes memory buffer = new bytes(digits); | |
| while (value != 0) { | |
| digits -= 1; | |
| buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); | |
| value /= 10; | |
| } | |
| return string(buffer); | |
| } | |
| /** | |
| * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. | |
| */ | |
| function toHexString(uint256 value) internal pure returns (string memory) { | |
| if (value == 0) { | |
| return "0x00"; | |
| } | |
| uint256 temp = value; | |
| uint256 length = 0; | |
| while (temp != 0) { | |
| length++; | |
| temp >>= 8; | |
| } | |
| return toHexString(value, length); | |
| } | |
| /** | |
| * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. | |
| */ | |
| function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { | |
| bytes memory buffer = new bytes(2 * length + 2); | |
| buffer[0] = "0"; | |
| buffer[1] = "x"; | |
| for (uint256 i = 2 * length + 1; i > 1; --i) { | |
| buffer[i] = _HEX_SYMBOLS[value & 0xf]; | |
| value >>= 4; | |
| } | |
| require(value == 0, "Strings: hex length insufficient"); | |
| return string(buffer); | |
| } | |
| } | |
| contract POAS{ | |
| // Validator ADD/REMOVAL event | |
| event ValidatorAdded(address indexed validator,uint timestamp,uint stakedAmount); | |
| event ValidatorRemoved(address indexed validator,uint timestamp,uint unstakedAmount); | |
| // Validators Mapping | |
| address payable[] public validators; | |
| mapping(address=>uint) _validatorIndex; | |
| mapping(address=>uint) _stakedAmount; | |
| mapping(address=>uint) _stakingTime; | |
| mapping(address=>bool) public isValidator; | |
| // Blacklister | |
| address blacklister = address(0); | |
| // MIN_STAKING_TIME (In sec) | |
| uint MIN_STAKING_TIME = 60; | |
| // When Validator not using his wallet to deposit | |
| // mapping(address=>uint) _validatorJoining; | |
| // Min Amount to stake | |
| uint minAmountToStake = 30000 * 10**18; | |
| modifier validatorOnly(){ | |
| require(isValidator[msg.sender],"STAKER: Only validator can unstake"); | |
| _; | |
| } | |
| modifier onlyBlacklister(){ | |
| require(msg.sender == blacklister,"STAKER: Only blacklister can access this function"); | |
| _; | |
| } | |
| constructor(){ | |
| blacklister = msg.sender; | |
| } | |
| function addAValidator(address validator, uint amount) internal{ | |
| if(_stakedAmount[validator] <= minAmountToStake){ | |
| uint index = validators.length; | |
| validators.push(payable(validator)); | |
| _validatorIndex[validator] = index; | |
| } | |
| _stakingTime[validator] = block.timestamp; | |
| _stakedAmount[validator] += amount; | |
| isValidator[validator] = true; | |
| emit ValidatorAdded(validator, block.timestamp, amount); | |
| } | |
| function removeAValidator(address validator) internal{ | |
| address lastAddress = validators[validators.length-1]; | |
| if(lastAddress == validator){ | |
| validators.pop(); | |
| }else{ | |
| validators[_validatorIndex[validator]] = payable(lastAddress); | |
| _validatorIndex[lastAddress] = _validatorIndex[validator]; | |
| validators.pop(); | |
| } | |
| emit ValidatorRemoved(validator, block.timestamp, _stakedAmount[validator]); | |
| _stakedAmount[validator] = 0; | |
| isValidator[validator] = false; | |
| // payable(validator).transfer(_stakedAmount[validator]); | |
| } | |
| function deposit(address validator,uint value, bytes memory signature) public payable{ | |
| require(!isValidator[validator],"STAKER: ALREADY VALIDATOR TRY DEPOSIT MORE"); | |
| require(msg.value == value && msg.value >= minAmountToStake,"LESS THAN MIN"); | |
| bytes32 hash = constructHash(validator,value); | |
| address signer = recover(hash,signature); | |
| require(signer == validator,"STAKER: Signature Missmatch!"); | |
| addAValidator(signer,msg.value); | |
| } | |
| function withdraw() public validatorOnly{ | |
| require(validators.length >= 1,"STAKER: theres only one validator"); | |
| address validator = msg.sender; | |
| require(MIN_STAKING_TIME+_stakingTime[validator]<=block.timestamp,"STAKER: MIN STAKING TIME NOT COMPLETED YET!"); | |
| require(_stakedAmount[validator] >= minAmountToStake, "STAKER: LESS THAN MIN"); | |
| payable(validator).transfer(_stakedAmount[validator]); | |
| removeAValidator(validator); | |
| } | |
| function blacklist(address validator) public onlyBlacklister{ | |
| require(isValidator[validator],"STAKER: Its not a validator"); | |
| if(_stakedAmount[validator]>0){ | |
| payable(validator).transfer(_stakedAmount[validator]); | |
| } | |
| removeAValidator(validator); | |
| } | |
| function updateBlacklister(address newBlacklister) public onlyBlacklister{ | |
| blacklister = newBlacklister; | |
| } | |
| function toAsciiString(address x) internal pure returns (string memory) { | |
| bytes memory s = new bytes(40); | |
| for (uint i = 0; i < 20; i++) { | |
| bytes1 b = bytes1(uint8(uint(uint160(x)) / (2**(8*(19 - i))))); | |
| bytes1 hi = bytes1(uint8(b) / 16); | |
| bytes1 lo = bytes1(uint8(b) - 16 * uint8(hi)); | |
| s[2*i] = char(hi); | |
| s[2*i+1] = char(lo); | |
| } | |
| return string(s); | |
| } | |
| function char(bytes1 b) internal pure returns (bytes1 c) { | |
| if (uint8(b) < 10) return bytes1(uint8(b) + 0x30); | |
| else return bytes1(uint8(b) + 0x57); | |
| } | |
| function constructHash(address validator,uint value) internal pure returns(bytes32){ | |
| bytes memory message = bytes.concat("I want to stake ",bytes(Strings.toString(value)), " SPV coin to testnet from 0x",bytes(toAsciiString(validator)),"."); | |
| bytes32 _hashedMessage = keccak256(message); | |
| bytes memory prefix = "\x19Ethereum Signed Message:\n32"; | |
| bytes32 prefixedHashMessage = keccak256(abi.encodePacked(prefix, _hashedMessage)); | |
| return prefixedHashMessage; | |
| } | |
| function recover(bytes32 hash, bytes memory sig) internal pure returns (address) { | |
| bytes32 r; | |
| bytes32 s; | |
| uint8 v; | |
| // Check the signature length | |
| if (sig.length != 65) { | |
| return (address(1)); | |
| } | |
| // Divide the signature in r, s and v variables | |
| assembly { | |
| r := mload(add(sig, 32)) | |
| s := mload(add(sig, 64)) | |
| v := and(mload(add(sig, 65)), 255) | |
| } | |
| // Version of signature should be 27 or 28, but 0 and 1 are also possible versions | |
| if (v < 27) { | |
| v += 27; | |
| } | |
| // If the version is correct return the signer address | |
| if(v == 28 || v == 27){ | |
| return ecrecover(hash, v, r, s); | |
| }else{ | |
| return address(0); | |
| } | |
| } | |
| } |
| // SPDX-License-Identifier: UNLICENCED | |
| pragma solidity >=0.8.10; | |
| import "./IPancakeRouter.sol"; | |
| import "./IPancakeFactory.sol"; | |
| import "./IPancakePair.sol"; | |
| // import "./IERC20.sol"; | |
| import './SafeMath.sol'; | |
| import "./BasicStructs.sol"; | |
| import "./IERC20Extented.sol"; | |
| interface IFactory{ | |
| function updateAsSaleEnded(address _ico) external; | |
| } | |
| interface ILock{ | |
| function launchLock( | |
| address token_, | |
| address beneficiary_, | |
| uint256 releaseTime_, | |
| uint256 amount_, | |
| string memory logoLink_ | |
| ) external; | |
| } | |
| contract ICO{ | |
| using SafeMath for uint256; | |
| // ICO attributes here | |
| ICOparam public icoInfo; | |
| // Token Instance | |
| IERC20Extented token; | |
| // ENS Burn address | |
| address immutable public DEAD = 0x000000000000000000000000000000000000dEaD; | |
| bool public isKYC; | |
| bool public isAudit; | |
| mapping(address => bool) whitelisted; | |
| address[] _whitelist; | |
| bool isWhiteListed; | |
| uint256 wlLastDate; | |
| uint256 lastIndex; | |
| address immutable public LOCKER = 0x13a4F7133C73eb5eE7Fa5C9188bf8f831f708C62; | |
| // ICO tracker | |
| uint256 public raisedBNB = 0; | |
| uint256 public soldToken = 0; | |
| uint256 public bnbToLiquidity = 0; | |
| // uint256 public providedLiquidity = 0; | |
| bool public isCanceled = false; | |
| bool public isFinalized = false; | |
| // distribution status | |
| bool distributionStarted = false; | |
| mapping(address => uint256) private purchase; | |
| mapping(address => uint256) private spentBNB; | |
| // Some Events | |
| event Purchase(address indexed _account, uint256 _value,uint256 _id); | |
| // Pancake info | |
| address immutable public pancakeRouterAddress = 0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3; | |
| IPancakeRouter02 pancakeSwapRouter; | |
| address public pancakeSwapPair; | |
| // Contract Creation | |
| constructor(ICOparam memory _data){ | |
| icoInfo = _data; | |
| isWhiteListed = icoInfo.data.whiteListEnabled; | |
| wlLastDate = icoInfo.data.whitelistLastDate; | |
| token = IERC20Extented(icoInfo.data.tokenAddress); | |
| } | |
| function onlyFactory() internal virtual { | |
| require(msg.sender == icoInfo.factory,"FO"); | |
| } | |
| function setIsKYCAndAudit(bool kyc,bool audit) public{ | |
| onlyFactory(); | |
| isKYC = kyc; | |
| isAudit = audit; | |
| } | |
| function getPairAddress() external virtual{ | |
| // onlyFactory(); | |
| IPancakeRouter02 _uniswapV2Router = IPancakeRouter02(pancakeRouterAddress); | |
| address _uniswapV2Pair = IPancakeFactory(_uniswapV2Router.factory()) | |
| .getPair(icoInfo.data.tokenAddress, _uniswapV2Router.WETH()); | |
| pancakeSwapPair = _uniswapV2Pair; | |
| pancakeSwapRouter = _uniswapV2Router; | |
| } | |
| function setPairAddress() external virtual{ | |
| onlyFactory(); | |
| IPancakeRouter02 _uniswapV2Router = IPancakeRouter02(pancakeRouterAddress); | |
| address _uniswapV2Pair = IPancakeFactory(_uniswapV2Router.factory()) | |
| .createPair(icoInfo.data.tokenAddress, _uniswapV2Router.WETH()); | |
| pancakeSwapPair = _uniswapV2Pair; | |
| pancakeSwapRouter = _uniswapV2Router; | |
| } | |
| function checkOwner() internal view{ | |
| require(icoInfo.owner == msg.sender,"OW"); | |
| } | |
| // function checkFactory() internal view{ | |
| // require(icoInfo.factory == msg.sender, "OF"); | |
| // } | |
| // Receive Function | |
| receive() external payable{ | |
| buyTokens(); | |
| } | |
| // View Functions | |
| function getUsersPurchase(address _user) public virtual view returns(uint256){ | |
| return purchase[_user]; | |
| } | |
| function transferToken(address recipient,uint256 amount)public{ | |
| if(token.decimals() >=18){ | |
| token.transfer(recipient, amount); | |
| }else{ | |
| uint256 decimalFix = 18 - token.decimals(); | |
| token.transfer(recipient, amount/(10**decimalFix)); | |
| } | |
| } | |
| // Other functions | |
| function buyTokens() public virtual payable{ | |
| // Check start and end Time | |
| require(icoInfo.data.presaleStartTime <= block.timestamp, "NS"); | |
| require(icoInfo.data.presaleEndTime > block.timestamp,"IE"); | |
| // Check if Cap reached | |
| require(raisedBNB < icoInfo.data.hardCap, "HR"); | |
| if(!icoInfo.isLive){ | |
| icoInfo.isLive = true; | |
| } | |
| // Checks for Min and Max amount | |
| require(msg.value >= icoInfo.data.minAmount && msg.value + raisedBNB <= icoInfo.data.hardCap,"MIN"); | |
| require(msg.value + spentBNB[msg.sender] <= icoInfo.data.maxAmount,"MAX"); | |
| // Check for whitelist | |
| bool canBuy = false; | |
| if(isWhiteListed){ | |
| if(whitelisted[msg.sender]){ | |
| canBuy = true; | |
| }else{ | |
| canBuy = false; | |
| } | |
| }else{ | |
| canBuy = true; | |
| } | |
| require(canBuy,"WL"); | |
| //// Calculate Amount | |
| uint256 totalReceivable = icoInfo.data.ratePerBNB * msg.value; | |
| soldToken += totalReceivable; | |
| // Admin Receivable | |
| uint256 adminToken = totalReceivable * icoInfo.fees.feesTokenAdmin / 10000; | |
| // Staking Receivable | |
| uint256 stakeToken = totalReceivable * icoInfo.fees.feesTokenStaking / 10000; | |
| //// Distribute amount | |
| spentBNB[msg.sender] = spentBNB[msg.sender].add(msg.value); | |
| purchase[msg.sender] = purchase[msg.sender].add(totalReceivable); | |
| purchase[icoInfo.fees.AdminWalletAddress] = purchase[icoInfo.fees.AdminWalletAddress].add(adminToken); | |
| purchase[icoInfo.fees.StakingWalletAddress] = purchase[icoInfo.fees.StakingWalletAddress].add(stakeToken); | |
| // IERC20(icoInfo.data.tokenAddress).transfer(msg.sender, purchase[msg.sender]); | |
| //// Provide Liquidity | |
| bnbToLiquidity += icoInfo.data.liquiditySupply.mul(msg.value).div(10000); | |
| //// Update Tracker | |
| raisedBNB = raisedBNB.add(msg.value); | |
| // soldToken = soldToken.add(totalReceivable); | |
| //// Emit purchase Event | |
| emit Purchase(msg.sender, totalReceivable,icoInfo.id); | |
| } | |
| function getContribution(address _user) public view returns(uint256){ | |
| return spentBNB[_user]; | |
| } | |
| function getReceivableToken(address _user) public view returns(uint256){ | |
| return purchase[_user]; | |
| } | |
| function claimToken() public { | |
| // Check if ended | |
| require(icoInfo.data.presaleEndTime <= block.timestamp,"INE"); | |
| // Check if Canceled | |
| require(!isCanceled,"IC"); | |
| require(isFinalized,"WFF"); | |
| // Check if failed | |
| require(raisedBNB >= icoInfo.data.softCap,"IF"); | |
| // Transfer Token | |
| purchase[msg.sender] = 0; | |
| spentBNB[msg.sender] = 0; | |
| transferToken(msg.sender, purchase[msg.sender]); | |
| } | |
| function emergencyWithdraw(uint256 amount_) public { | |
| require(icoInfo.data.presaleEndTime > block.timestamp,"TO"); | |
| require(!isCanceled,"PC"); | |
| require(spentBNB[msg.sender] >= amount_,"NA"); | |
| uint256 fees = amount_ * 10 / 100; | |
| uint256 receivable = amount_ - fees; | |
| raisedBNB = raisedBNB.sub(amount_); | |
| purchase[msg.sender] -= (amount_ * icoInfo.data.ratePerBNB); | |
| spentBNB[msg.sender] -= amount_; | |
| soldToken -= (amount_ * icoInfo.data.ratePerBNB); | |
| payable(msg.sender).transfer(receivable); | |
| payable(icoInfo.fees.AdminWalletAddress).transfer(fees); | |
| } | |
| function cancelPresale() public virtual{ | |
| // onlyFactory(); | |
| require(block.timestamp - icoInfo.data.presaleEndTime > 48 * 3600 && raisedBNB >= icoInfo.data.softCap,"48H"); | |
| _cancelPresale(); | |
| } | |
| function claimRefund() public{ | |
| // Check if ended | |
| // require(icoInfo.data.presaleEndTime < block.timestamp,"INE"); | |
| // Check if failed or canceled | |
| require(!isFinalized,"IF"); | |
| require((raisedBNB < icoInfo.data.softCap && icoInfo.data.presaleEndTime <= block.timestamp) || isCanceled,"IFC"); | |
| payable(msg.sender).transfer(spentBNB[msg.sender]); | |
| purchase[msg.sender] = 0; | |
| soldToken -= purchase[msg.sender]; | |
| spentBNB[msg.sender] = 0; | |
| } | |
| function _provideLiquidity(uint256 bnbAmount) internal virtual{ | |
| uint256 tokenAmount = icoInfo.data.exchangeListingRateBNB * bnbAmount * icoInfo.data.liquiditySupply / 10000; | |
| // tokenAmount | |
| if(token.decimals() < 18){ | |
| uint256 decimalFix = 18 - token.decimals(); | |
| tokenAmount = tokenAmount / (10**decimalFix); | |
| } | |
| token.approve(pancakeRouterAddress, tokenAmount); | |
| // add the liquidity | |
| pancakeSwapRouter.addLiquidityETH{value: bnbAmount}( | |
| icoInfo.data.tokenAddress, | |
| tokenAmount, | |
| 0, // slippage is unavoidable | |
| 0, // slippage is unavoidable | |
| address(this), // Liquidity Locker or Creator Wallet | |
| block.timestamp | |
| ); | |
| } | |
| // Make it only owner | |
| function endSale() public virtual{ | |
| checkOwner(); | |
| require(!isCanceled,"PC"); | |
| require(icoInfo.data.presaleEndTime < block.timestamp || icoInfo.data.hardCap == raisedBNB,"NE"); | |
| isFinalized = true; | |
| if(raisedBNB < icoInfo.data.softCap){ | |
| _cancelPresale(); | |
| }else{ | |
| _distribute(); | |
| if(icoInfo.data.lockLiquidity){ | |
| uint256 _amount = IERC20(pancakeSwapPair).balanceOf(address(this)); | |
| _lockLPTokens(_amount, icoInfo.owner,icoInfo.data.liquidityLockTime); | |
| } | |
| // //// Distribute Fees | |
| // // payable(icoInfo.fees.AdminWalletAddress).transfer(icoInfo.fees.feesBNB * address(this).balance / 10000); | |
| transferToken(icoInfo.fees.AdminWalletAddress, purchase[icoInfo.fees.AdminWalletAddress]); | |
| transferToken(icoInfo.fees.StakingWalletAddress, purchase[icoInfo.fees.StakingWalletAddress]); | |
| uint256 bal = token.balanceOf(address(this)) - soldToken; | |
| if(icoInfo.data.burnRemaining && bal > 0){ | |
| token.transfer(DEAD,bal); | |
| }else{ | |
| token.transfer(icoInfo.owner,bal); | |
| } | |
| } | |
| } | |
| function _distribute() internal { | |
| // Calculate fees | |
| uint256 fees = icoInfo.fees.feesBNB * address(this).balance / 10000; | |
| // Disburse the Rest to dev | |
| payable(icoInfo.owner).transfer(address(this).balance - bnbToLiquidity); | |
| // Provide Liquidity | |
| _provideLiquidity(bnbToLiquidity - fees); | |
| // Send Remaining Balance to AdminWallet | |
| payable(icoInfo.fees.AdminWalletAddress).transfer(address(this).balance); | |
| } | |
| function cancelSale() public virtual{ | |
| checkOwner(); | |
| require(!isCanceled,"PAC"); | |
| _cancelPresale(); | |
| } | |
| function _cancelPresale() internal virtual{ | |
| // IERC20 token = IERC20(icoInfo.data.tokenAddress); | |
| uint256 balance = token.balanceOf(address(this)); | |
| token.transfer(icoInfo.owner,balance); | |
| isCanceled = true; | |
| } | |
| // Lock LP token | |
| function _lockLPTokens(uint256 _amount,address _owner,uint256 _liquidityLockTime) internal virtual{ | |
| // Check Balance | |
| IERC20 token_ = IERC20(pancakeSwapPair); | |
| require(token_.balanceOf(address(this)) >= _amount,"IB"); | |
| ILock locker = ILock(LOCKER); | |
| token_.approve(LOCKER, _amount); | |
| locker.launchLock(pancakeSwapPair, _owner , _liquidityLockTime, _amount,""); | |
| } | |
| // function setIsLive() public virtual{ | |
| // checkOwner(); | |
| // require(!icoInfo.isLive,"IL"); | |
| // icoInfo.isLive = true; | |
| // } | |
| // function _startDistribution() internal virtual{ | |
| // } | |
| function retriveWhiteList()public view returns(address[] memory){ | |
| return _whitelist; | |
| } | |
| function isUserWhitelisted(address _user) public view returns(bool){ | |
| return whitelisted[_user]; | |
| } | |
| function addToWhiteList(address[] memory users) public virtual{ | |
| checkOwner(); | |
| for(uint256 i = 0 ; i < users.length; i++){ | |
| whitelisted[users[i]] = true; | |
| _whitelist.push(users[i]); | |
| lastIndex +=1; | |
| } | |
| } | |
| function removeToWhiteList(address[] memory users) public virtual{ | |
| checkOwner(); | |
| for(uint256 i=0 ; i<users.length;i++){ | |
| whitelisted[users[i]] = false; | |
| lastIndex +=1; | |
| } | |
| } | |
| function checkWhiteList() public view returns(bool){ | |
| return isWhiteListed; | |
| } | |
| function updateWhitelistStatus(bool newStatus) public virtual { | |
| checkOwner(); | |
| require(isWhiteListed != newStatus,"NS"); | |
| isWhiteListed = newStatus; | |
| } | |
| } |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.10; | |
| contract NewCont{ | |
| event NewEvent(address indexed token, string name,string symbol,uint256 amount); | |
| function A(string memory name,string memory symbol,address token, uint256 amount) public { | |
| emit NewEvent(token, name, symbol, amount); | |
| } | |
| } | |
| // contract NewCont{ | |
| // event NewEvent(address indexed token, string name,string symbol,uint256 amount); | |
| // function A(string memory name,string memory symbol,address token, uint256 amount) public { | |
| // emit NewEvent(token, name, symbol, amount); | |
| // } | |
| // } | |
| // contract C { | |
| // function g(uint a) public pure returns (uint ret) { return a + f(); } | |
| // function f() internal pure returns (uint ret) { return g(7) + f(); } | |
| // } | |
| // function safeTransfer(address token, address to, uint value) internal { | |
| // // bytes4(keccak256(bytes('transfer(address,uint256)'))); | |
| // (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); | |
| // require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FAILED'); | |
| // } |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.10; | |
| contract NewCont{ | |
| event NewEvent(address token, string name,string symbol,uint256 amount); | |
| function A(string memory name,string memory symbol,address token, uint256 amount) public { | |
| emit NewEvent(token, name, symbol, amount); | |
| } | |
| } |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.10; | |
| contract NewerContract{ | |
| uint i=0; | |
| function read() external pure returns(string memory){ | |
| return "Hii"; | |
| } | |
| function write() external{ | |
| i++; | |
| } | |
| function revertCall() public { | |
| require(msg.sender == address(0), "Not Mapped!"); | |
| i++; | |
| } | |
| } | |
| contract Sample{ | |
| bytes32 INIT_HASH = keccak256(abi.encodePacked(type(NewerContract).creationCode)); | |
| NewerContract SampleContract; | |
| uint256 i = 0; | |
| constructor(){ | |
| SampleContract = new NewerContract(); | |
| } | |
| function call() public { | |
| SampleContract.write(); | |
| } | |
| function staticCall() public { | |
| SampleContract.read(); | |
| i++; | |
| } | |
| function create() public returns(address){ | |
| NewerContract newContractAddress = new NewerContract(); | |
| return address(newContractAddress); | |
| } | |
| function create2(address token0,address token1) public returns (address contractAddress){ | |
| bytes memory bytecode = type(NewerContract).creationCode; | |
| bytes32 salt = keccak256(abi.encodePacked(token0, token1)); | |
| assembly { | |
| contractAddress := create2(0, add(bytecode, 32), mload(bytecode), salt) | |
| } | |
| // NewerContract(pair).initialize(token0, token1); | |
| } | |
| function revertCall() public { | |
| require(msg.sender == address(0), "SAMPLE: THIS SHOULD BE THE BIGGEST REVERT REASON EVER SEEN IN LIFE TIME WHICH IS # TIMES REPEATED THIS SHOULD BE THE BIGGEST REVERT REASON EVER SEEN IN LIFE TIME WHICH IS # TIMES REPEATED THIS SHOULD BE THE BIGGEST REVERT REASON EVER SEEN IN LIFE TIME WHICH IS # TIMES REPEATED"); | |
| i++; | |
| } | |
| function nullCall() public{ | |
| SampleContract.revertCall(); | |
| } | |
| function payebleCall() public payable { | |
| // Do Nothing | |
| } | |
| } |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.0; | |
| import "./ERC20.sol"; | |
| contract OMAX is ERC20 { | |
| address public stakingContract; | |
| uint256 public maxCap = 100000000000000 * (10**18); | |
| address public deployer; | |
| modifier onlyStakingContract(){ | |
| require(msg.sender == stakingContract,"OMAX: Not Allowed"); | |
| _; | |
| } | |
| modifier onlyDeployer(){ | |
| require(msg.sender == deployer,"OMAX: Not Allowed"); | |
| _; | |
| } | |
| event TotalSupplyIncreased(address indexed pool,uint256 amount); | |
| event RenouncedOwnership(address indexed owner,address indexed newOwner); | |
| constructor() ERC20("Binance-Peg OMAX Token", "OMAX") { | |
| // uint256 senderAmount = maxCap/2; | |
| // uint256 contractAmount = maxCap - senderAmount; | |
| _mint(msg.sender, maxCap); | |
| // _mint(address(this), contractAmount); | |
| deployer = msg.sender; | |
| } | |
| function setStakingContract(address stakingContract_) public virtual onlyDeployer{ | |
| require(msg.sender != address(0),"OMAX: Null Address not Allowed!"); | |
| // Set Staking Contract | |
| stakingContract = stakingContract_; | |
| // Renounce Ownership | |
| emit RenouncedOwnership(deployer,address(0)); | |
| deployer = address(0); | |
| } | |
| function secureMint(uint256 amount,address user) public virtual onlyStakingContract{ | |
| // function secureTransfer(uint256 amount) public virtual onlyStakingContract{ | |
| // require(totalSupply() + amount <= maxCap,"OMAX: Max Cap Reached!"); | |
| _mint(user,amount); | |
| // transfer(msg.sender, amount); | |
| // ERC20.transfer(msg.sender, amount); | |
| emit TotalSupplyIncreased(user,amount); | |
| } | |
| function burn(uint256 amount)public{ | |
| // uint256 allowance_ = allowance(msg.sender,address(this)); | |
| // require(allowance_>=amount,"OMAX: amount exceeds allowance"); | |
| _burn(msg.sender, amount); | |
| } | |
| function tokenBurn(uint256 amount)public onlyDeployer{ | |
| _burn(address(this), amount); | |
| } | |
| } |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.7; | |
| import "@openzeppelin/contracts/utils/Strings.sol"; | |
| contract POAS{ | |
| // Validator ADD/REMOVAL event | |
| event ValidatorAdded(address indexed validator,uint timestamp,uint stakedAmount); | |
| event ValidatorRemoved(address indexed validator,uint timestamp,uint unstakedAmount); | |
| // Validators Mapping | |
| address payable[] public validators; | |
| mapping(address=>uint) _validatorIndex; | |
| mapping(address=>uint) _stakedAmount; | |
| mapping(address=>uint) _stakingTime; | |
| mapping(address=>bool) public isValidator; | |
| // Blacklister | |
| address blacklister = address(0); | |
| // MIN_STAKING_TIME (In sec) | |
| uint MIN_STAKING_TIME = 60; | |
| // When Validator not using his wallet to deposit | |
| // mapping(address=>uint) _validatorJoining; | |
| // Min Amount to stake | |
| uint minAmountToStake = 3 * 10*16; | |
| modifier validatorOnly(){ | |
| require(isValidator[msg.sender],"STAKER: Only validator can unstake"); | |
| _; | |
| } | |
| modifier onlyBlacklister(){ | |
| require(msg.sender == blacklister,"STAKER: Only blacklister can access this function"); | |
| _; | |
| } | |
| constructor(){ | |
| blacklister = msg.sender; | |
| } | |
| function addAValidator(address validator, uint amount) internal{ | |
| if(_stakedAmount[validator] <= minAmountToStake){ | |
| uint index = validators.length; | |
| validators.push(payable(validator)); | |
| _validatorIndex[validator] = index; | |
| } | |
| _stakingTime[validator] = block.timestamp; | |
| _stakedAmount[validator] += amount; | |
| isValidator[validator] = true; | |
| emit ValidatorAdded(validator, block.timestamp, amount); | |
| } | |
| function removeAValidator(address validator) internal{ | |
| address lastAddress = validators[validators.length-1]; | |
| if(lastAddress == validator){ | |
| validators.pop(); | |
| }else{ | |
| validators[_validatorIndex[validator]] = payable(lastAddress); | |
| _validatorIndex[lastAddress] = _validatorIndex[validator]; | |
| validators.pop(); | |
| } | |
| emit ValidatorRemoved(validator, block.timestamp, _stakedAmount[validator]); | |
| _stakedAmount[validator] = 0; | |
| isValidator[validator] = false; | |
| // payable(validator).transfer(_stakedAmount[validator]); | |
| } | |
| function deposit(address validator,uint value, bytes memory signature) public payable{ | |
| require(!isValidator[validator],"STAKER: ALREADY VALIDATOR TRY DEPOSIT MORE"); | |
| require(msg.value == value && msg.value >= minAmountToStake,"LESS THAN MIN"); | |
| bytes32 hash = constructHash(validator,value); | |
| address signer = recover(hash,signature); | |
| require(signer == validator,"STAKER: Signature Missmatch!"); | |
| addAValidator(msg.sender,msg.value); | |
| } | |
| function withdraw() public validatorOnly{ | |
| require(validators.length >= 1,"STAKER: theres only one validator"); | |
| address validator = msg.sender; | |
| require(MIN_STAKING_TIME+_stakingTime[validator]<=block.timestamp,"STAKER: MIN STAKING TIME NOT COMPLETED YET!"); | |
| require(_stakedAmount[validator] >= minAmountToStake, "STAKER: LESS THAN MIN"); | |
| payable(validator).transfer(_stakedAmount[validator]); | |
| removeAValidator(validator); | |
| } | |
| function blacklist(address validator) public onlyBlacklister{ | |
| require(isValidator[validator],"STAKER: Its not a validator"); | |
| if(_stakedAmount[validator]>0){ | |
| payable(validator).transfer(_stakedAmount[validator]); | |
| } | |
| removeAValidator(validator); | |
| } | |
| function updateBlacklister(address newBlacklister) public onlyBlacklister{ | |
| blacklister = newBlacklister; | |
| } | |
| function toAsciiString(address x) internal pure returns (string memory) { | |
| bytes memory s = new bytes(40); | |
| for (uint i = 0; i < 20; i++) { | |
| bytes1 b = bytes1(uint8(uint(uint160(x)) / (2**(8*(19 - i))))); | |
| bytes1 hi = bytes1(uint8(b) / 16); | |
| bytes1 lo = bytes1(uint8(b) - 16 * uint8(hi)); | |
| s[2*i] = char(hi); | |
| s[2*i+1] = char(lo); | |
| } | |
| return string(s); | |
| } | |
| function char(bytes1 b) internal pure returns (bytes1 c) { | |
| if (uint8(b) < 10) return bytes1(uint8(b) + 0x30); | |
| else return bytes1(uint8(b) + 0x57); | |
| } | |
| function constructHash(address validator,uint value) internal pure returns(bytes32){ | |
| bytes memory message = bytes.concat("I want to stake ",bytes(Strings.toString(value)), " SPV coin to testnet from 0x",bytes(toAsciiString(validator)),"."); | |
| bytes32 _hashedMessage = keccak256(message); | |
| bytes memory prefix = "\x19Ethereum Signed Message:\n32"; | |
| bytes32 prefixedHashMessage = keccak256(abi.encodePacked(prefix, _hashedMessage)); | |
| return prefixedHashMessage; | |
| } | |
| function recover(bytes32 hash, bytes memory sig) internal pure returns (address) { | |
| bytes32 r; | |
| bytes32 s; | |
| uint8 v; | |
| // Check the signature length | |
| if (sig.length != 65) { | |
| return (address(1)); | |
| } | |
| // Divide the signature in r, s and v variables | |
| assembly { | |
| r := mload(add(sig, 32)) | |
| s := mload(add(sig, 64)) | |
| v := and(mload(add(sig, 65)), 255) | |
| } | |
| // Version of signature should be 27 or 28, but 0 and 1 are also possible versions | |
| if (v < 27) { | |
| v += 27; | |
| } | |
| // If the version is correct return the signer address | |
| if(v == 28 || v == 27){ | |
| return ecrecover(hash, v, r, s); | |
| }else{ | |
| return address(0); | |
| } | |
| } | |
| } |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.10; | |
| contract SampleContract{ | |
| event NewEvent(address indexed token, string name,string symbol,uint256 amount); | |
| function A(string memory name,string memory symbol,address token, uint256 amount) public { | |
| emit NewEvent(token, name, symbol, amount); | |
| } | |
| } |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.10; | |
| contract SampleContract{ | |
| string public name; | |
| string public persona; | |
| string public company; | |
| bool public isAdmin; | |
| event DataUpdated(string name,string persona,string company,bool isAdmin); | |
| function getData() public view returns(string memory,string memory,string memory, bool){ | |
| return (name,persona,company,isAdmin); | |
| } | |
| function writeData(string memory name_, string memory persona_, string memory company_, bool isAdmin_) public { | |
| name = name_; | |
| persona = persona_; | |
| company = company_; | |
| isAdmin = isAdmin_; | |
| emit DataUpdated(name, persona, company, isAdmin); | |
| } | |
| } |
| /** | |
| *Submitted for verification at BscScan.com on 2021-04-23 | |
| */ | |
| // File: @uniswap\lib\contracts\libraries\TransferHelper.sol | |
| pragma solidity >=0.6.0; | |
| // helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false | |
| library TransferHelper { | |
| function safeApprove(address token, address to, uint value) internal { | |
| // bytes4(keccak256(bytes('approve(address,uint256)'))); | |
| (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); | |
| require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED'); | |
| } | |
| function safeTransfer(address token, address to, uint value) internal { | |
| // bytes4(keccak256(bytes('transfer(address,uint256)'))); | |
| (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); | |
| require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FAILED'); | |
| } | |
| function safeTransferFrom(address token, address from, address to, uint value) internal { | |
| // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); | |
| (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); | |
| require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED'); | |
| } | |
| function safeTransferETH(address to, uint value) internal { | |
| (bool success,) = to.call{value:value}(new bytes(0)); | |
| require(success, 'TransferHelper: ETH_TRANSFER_FAILED'); | |
| } | |
| } | |
| // File: contracts\interfaces\ISwapRouter01.sol | |
| pragma solidity >=0.6.2; | |
| interface ISwapRouter01 { | |
| function factory() external pure returns (address); | |
| function WETH() external pure returns (address); | |
| function addLiquidity( | |
| address tokenA, | |
| address tokenB, | |
| uint amountADesired, | |
| uint amountBDesired, | |
| uint amountAMin, | |
| uint amountBMin, | |
| address to, | |
| uint deadline | |
| ) external returns (uint amountA, uint amountB, uint liquidity); | |
| function addLiquidityETH( | |
| address token, | |
| uint amountTokenDesired, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline | |
| ) external payable returns (uint amountToken, uint amountETH, uint liquidity); | |
| function removeLiquidity( | |
| address tokenA, | |
| address tokenB, | |
| uint liquidity, | |
| uint amountAMin, | |
| uint amountBMin, | |
| address to, | |
| uint deadline | |
| ) external returns (uint amountA, uint amountB); | |
| function removeLiquidityETH( | |
| address token, | |
| uint liquidity, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline | |
| ) external returns (uint amountToken, uint amountETH); | |
| function removeLiquidityWithPermit( | |
| address tokenA, | |
| address tokenB, | |
| uint liquidity, | |
| uint amountAMin, | |
| uint amountBMin, | |
| address to, | |
| uint deadline, | |
| bool approveMax, uint8 v, bytes32 r, bytes32 s | |
| ) external returns (uint amountA, uint amountB); | |
| function removeLiquidityETHWithPermit( | |
| address token, | |
| uint liquidity, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline, | |
| bool approveMax, uint8 v, bytes32 r, bytes32 s | |
| ) external returns (uint amountToken, uint amountETH); | |
| function swapExactTokensForTokens( | |
| uint amountIn, | |
| uint amountOutMin, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) external returns (uint[] memory amounts); | |
| function swapTokensForExactTokens( | |
| uint amountOut, | |
| uint amountInMax, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) external returns (uint[] memory amounts); | |
| function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) | |
| external | |
| payable | |
| returns (uint[] memory amounts); | |
| function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) | |
| external | |
| returns (uint[] memory amounts); | |
| function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) | |
| external | |
| returns (uint[] memory amounts); | |
| function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) | |
| external | |
| payable | |
| returns (uint[] memory amounts); | |
| function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); | |
| function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); | |
| function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); | |
| function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); | |
| function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); | |
| } | |
| // File: contracts\interfaces\ISwapRouter02.sol | |
| pragma solidity >=0.6.2; | |
| interface ISwapRouter02 is ISwapRouter01 { | |
| function removeLiquidityETHSupportingFeeOnTransferTokens( | |
| address token, | |
| uint liquidity, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline | |
| ) external returns (uint amountETH); | |
| function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( | |
| address token, | |
| uint liquidity, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline, | |
| bool approveMax, uint8 v, bytes32 r, bytes32 s | |
| ) external returns (uint amountETH); | |
| function swapExactTokensForTokensSupportingFeeOnTransferTokens( | |
| uint amountIn, | |
| uint amountOutMin, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) external; | |
| function swapExactETHForTokensSupportingFeeOnTransferTokens( | |
| uint amountOutMin, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) external payable; | |
| function swapExactTokensForETHSupportingFeeOnTransferTokens( | |
| uint amountIn, | |
| uint amountOutMin, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) external; | |
| } | |
| // File: contracts\interfaces\ISwapFactory.sol | |
| pragma solidity >=0.5.0; | |
| interface ISwapFactory { | |
| event PairCreated(address indexed token0, address indexed token1, address pair, uint); | |
| function feeTo() external view returns (address); | |
| function feeToSetter() external view returns (address); | |
| function getPair(address tokenA, address tokenB) external view returns (address pair); | |
| function allPairs(uint) external view returns (address pair); | |
| function allPairsLength() external view returns (uint); | |
| function createPair(address tokenA, address tokenB) external returns (address pair); | |
| function setFeeTo(address) external; | |
| function setFeeToSetter(address) external; | |
| function INIT_CODE_PAIR_HASH() external view returns (bytes32); | |
| } | |
| // File: contracts\libraries\SafeMath.sol | |
| pragma solidity =0.6.6; | |
| // a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math) | |
| library SafeMath { | |
| function add(uint x, uint y) internal pure returns (uint z) { | |
| require((z = x + y) >= x, 'ds-math-add-overflow'); | |
| } | |
| function sub(uint x, uint y) internal pure returns (uint z) { | |
| require((z = x - y) <= x, 'ds-math-sub-underflow'); | |
| } | |
| function mul(uint x, uint y) internal pure returns (uint z) { | |
| require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow'); | |
| } | |
| } | |
| // File: contracts\interfaces\ISwapPair.sol | |
| pragma solidity >=0.5.0; | |
| interface ISwapPair { | |
| event Approval(address indexed owner, address indexed spender, uint value); | |
| event Transfer(address indexed from, address indexed to, uint value); | |
| function name() external pure returns (string memory); | |
| function symbol() external pure returns (string memory); | |
| function decimals() external pure returns (uint8); | |
| function totalSupply() external view returns (uint); | |
| function balanceOf(address owner) external view returns (uint); | |
| function allowance(address owner, address spender) external view returns (uint); | |
| function approve(address spender, uint value) external returns (bool); | |
| function transfer(address to, uint value) external returns (bool); | |
| function transferFrom(address from, address to, uint value) external returns (bool); | |
| function DOMAIN_SEPARATOR() external view returns (bytes32); | |
| function PERMIT_TYPEHASH() external pure returns (bytes32); | |
| function nonces(address owner) external view returns (uint); | |
| function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; | |
| event Mint(address indexed sender, uint amount0, uint amount1); | |
| event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); | |
| event Swap( | |
| address indexed sender, | |
| uint amount0In, | |
| uint amount1In, | |
| uint amount0Out, | |
| uint amount1Out, | |
| address indexed to | |
| ); | |
| event Sync(uint112 reserve0, uint112 reserve1); | |
| function MINIMUM_LIQUIDITY() external pure returns (uint); | |
| function factory() external view returns (address); | |
| function token0() external view returns (address); | |
| function token1() external view returns (address); | |
| function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); | |
| function price0CumulativeLast() external view returns (uint); | |
| function price1CumulativeLast() external view returns (uint); | |
| function kLast() external view returns (uint); | |
| function mint(address to) external returns (uint liquidity); | |
| function burn(address to) external returns (uint amount0, uint amount1); | |
| function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; | |
| function skim(address to) external; | |
| function sync() external; | |
| function initialize(address, address) external; | |
| } | |
| // File: contracts\libraries\SwapLibrary.sol | |
| pragma solidity >=0.5.0; | |
| library SwapLibrary { | |
| using SafeMath for uint; | |
| // returns sorted token addresses, used to handle return values from pairs sorted in this order | |
| function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) { | |
| require(tokenA != tokenB, 'SwapLibrary: IDENTICAL_ADDRESSES'); | |
| (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA); | |
| require(token0 != address(0), 'SwapLibrary: ZERO_ADDRESS'); | |
| } | |
| // calculates the CREATE2 address for a pair without making any external calls | |
| function pairFor(address factory, address tokenA, address tokenB) internal pure returns (address pair) { | |
| (address token0, address token1) = sortTokens(tokenA, tokenB); | |
| pair = address(uint(keccak256(abi.encodePacked( | |
| hex'ff', | |
| factory, | |
| keccak256(abi.encodePacked(token0, token1)), | |
| hex'15fd07f22fcbfcaca054029001d949da5fe5c835e22d6181e157f4ec8d2151a0' // init code hash | |
| )))); | |
| } | |
| // fetches and sorts the reserves for a pair | |
| function getReserves(address factory, address tokenA, address tokenB) internal view returns (uint reserveA, uint reserveB) { | |
| (address token0,) = sortTokens(tokenA, tokenB); | |
| pairFor(factory, tokenA, tokenB); | |
| (uint reserve0, uint reserve1,) = ISwapPair(pairFor(factory, tokenA, tokenB)).getReserves(); | |
| (reserveA, reserveB) = tokenA == token0 ? (reserve0, reserve1) : (reserve1, reserve0); | |
| } | |
| // given some amount of an asset and pair reserves, returns an equivalent amount of the other asset | |
| function quote(uint amountA, uint reserveA, uint reserveB) internal pure returns (uint amountB) { | |
| require(amountA > 0, 'SwapLibrary: INSUFFICIENT_AMOUNT'); | |
| require(reserveA > 0 && reserveB > 0, 'SwapLibrary: INSUFFICIENT_LIQUIDITY'); | |
| amountB = amountA.mul(reserveB) / reserveA; | |
| } | |
| // given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset | |
| function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) internal pure returns (uint amountOut) { | |
| require(amountIn > 0, 'SwapLibrary: INSUFFICIENT_INPUT_AMOUNT'); | |
| require(reserveIn > 0 && reserveOut > 0, 'SwapLibrary: INSUFFICIENT_LIQUIDITY'); | |
| uint amountInWithFee = amountIn.mul(9975); | |
| uint numerator = amountInWithFee.mul(reserveOut); | |
| uint denominator = reserveIn.mul(10000).add(amountInWithFee); | |
| amountOut = numerator / denominator; | |
| } | |
| // given an output amount of an asset and pair reserves, returns a required input amount of the other asset | |
| function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) internal pure returns (uint amountIn) { | |
| require(amountOut > 0, 'SwapLibrary: INSUFFICIENT_OUTPUT_AMOUNT'); | |
| require(reserveIn > 0 && reserveOut > 0, 'SwapLibrary: INSUFFICIENT_LIQUIDITY'); | |
| uint numerator = reserveIn.mul(amountOut).mul(10000); | |
| uint denominator = reserveOut.sub(amountOut).mul(9975); | |
| amountIn = (numerator / denominator).add(1); | |
| } | |
| // performs chained getAmountOut calculations on any number of pairs | |
| function getAmountsOut(address factory, uint amountIn, address[] memory path) internal view returns (uint[] memory amounts) { | |
| require(path.length >= 2, 'SwapLibrary: INVALID_PATH'); | |
| amounts = new uint[](path.length); | |
| amounts[0] = amountIn; | |
| for (uint i; i < path.length - 1; i++) { | |
| (uint reserveIn, uint reserveOut) = getReserves(factory, path[i], path[i + 1]); | |
| amounts[i + 1] = getAmountOut(amounts[i], reserveIn, reserveOut); | |
| } | |
| } | |
| // performs chained getAmountIn calculations on any number of pairs | |
| function getAmountsIn(address factory, uint amountOut, address[] memory path) internal view returns (uint[] memory amounts) { | |
| require(path.length >= 2, 'SwapLibrary: INVALID_PATH'); | |
| amounts = new uint[](path.length); | |
| amounts[amounts.length - 1] = amountOut; | |
| for (uint i = path.length - 1; i > 0; i--) { | |
| (uint reserveIn, uint reserveOut) = getReserves(factory, path[i - 1], path[i]); | |
| amounts[i - 1] = getAmountIn(amounts[i], reserveIn, reserveOut); | |
| } | |
| } | |
| } | |
| // File: contracts\interfaces\IERC20.sol | |
| pragma solidity >=0.5.0; | |
| interface IERC20 { | |
| event Approval(address indexed owner, address indexed spender, uint value); | |
| event Transfer(address indexed from, address indexed to, uint value); | |
| function name() external view returns (string memory); | |
| function symbol() external view returns (string memory); | |
| function decimals() external view returns (uint8); | |
| function totalSupply() external view returns (uint); | |
| function balanceOf(address owner) external view returns (uint); | |
| function allowance(address owner, address spender) external view returns (uint); | |
| function approve(address spender, uint value) external returns (bool); | |
| function transfer(address to, uint value) external returns (bool); | |
| function transferFrom(address from, address to, uint value) external returns (bool); | |
| } | |
| // File: contracts\interfaces\IWETH.sol | |
| pragma solidity >=0.5.0; | |
| interface IWETH { | |
| function deposit() external payable; | |
| function transfer(address to, uint value) external returns (bool); | |
| function withdraw(uint) external; | |
| } | |
| // File: contracts\SwapRouter.sol | |
| pragma solidity =0.6.6; | |
| contract SwapRouter is ISwapRouter02 { | |
| using SafeMath for uint; | |
| address public immutable override factory; | |
| address public immutable override WETH; | |
| modifier ensure(uint deadline) { | |
| require(deadline >= block.timestamp, 'SwapRouter: EXPIRED'); | |
| _; | |
| } | |
| constructor(address _factory, address _WETH) public { | |
| factory = _factory; | |
| WETH = _WETH; | |
| } | |
| receive() external payable { | |
| assert(msg.sender == WETH); // only accept ETH via fallback from the WETH contract | |
| } | |
| // **** ADD LIQUIDITY **** | |
| function _addLiquidity( | |
| address tokenA, | |
| address tokenB, | |
| uint amountADesired, | |
| uint amountBDesired, | |
| uint amountAMin, | |
| uint amountBMin | |
| ) internal virtual returns (uint amountA, uint amountB) { | |
| // create the pair if it doesn't exist yet | |
| if (ISwapFactory(factory).getPair(tokenA, tokenB) == address(0)) { | |
| ISwapFactory(factory).createPair(tokenA, tokenB); | |
| } | |
| (uint reserveA, uint reserveB) = SwapLibrary.getReserves(factory, tokenA, tokenB); | |
| if (reserveA == 0 && reserveB == 0) { | |
| (amountA, amountB) = (amountADesired, amountBDesired); | |
| } else { | |
| uint amountBOptimal = SwapLibrary.quote(amountADesired, reserveA, reserveB); | |
| if (amountBOptimal <= amountBDesired) { | |
| require(amountBOptimal >= amountBMin, 'SwapRouter: INSUFFICIENT_B_AMOUNT'); | |
| (amountA, amountB) = (amountADesired, amountBOptimal); | |
| } else { | |
| uint amountAOptimal = SwapLibrary.quote(amountBDesired, reserveB, reserveA); | |
| assert(amountAOptimal <= amountADesired); | |
| require(amountAOptimal >= amountAMin, 'SwapRouter: INSUFFICIENT_A_AMOUNT'); | |
| (amountA, amountB) = (amountAOptimal, amountBDesired); | |
| } | |
| } | |
| } | |
| function addLiquidity( | |
| address tokenA, | |
| address tokenB, | |
| uint amountADesired, | |
| uint amountBDesired, | |
| uint amountAMin, | |
| uint amountBMin, | |
| address to, | |
| uint deadline | |
| ) external virtual override ensure(deadline) returns (uint amountA, uint amountB, uint liquidity) { | |
| (amountA, amountB) = _addLiquidity(tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin); | |
| address pair = SwapLibrary.pairFor(factory, tokenA, tokenB); | |
| TransferHelper.safeTransferFrom(tokenA, msg.sender, pair, amountA); | |
| TransferHelper.safeTransferFrom(tokenB, msg.sender, pair, amountB); | |
| liquidity = ISwapPair(pair).mint(to); | |
| } | |
| function addLiquidityETH( | |
| address token, | |
| uint amountTokenDesired, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline | |
| ) external virtual override payable ensure(deadline) returns (uint amountToken, uint amountETH, uint liquidity) { | |
| (amountToken, amountETH) = _addLiquidity( | |
| token, | |
| WETH, | |
| amountTokenDesired, | |
| msg.value, | |
| amountTokenMin, | |
| amountETHMin | |
| ); | |
| address pair = SwapLibrary.pairFor(factory, token, WETH); | |
| TransferHelper.safeTransferFrom(token, msg.sender, pair, amountToken); | |
| IWETH(WETH).deposit{value: amountETH}(); | |
| assert(IWETH(WETH).transfer(pair, amountETH)); | |
| liquidity = ISwapPair(pair).mint(to); | |
| // refund dust eth, if any | |
| if (msg.value > amountETH) TransferHelper.safeTransferETH(msg.sender, msg.value - amountETH); | |
| } | |
| // **** REMOVE LIQUIDITY **** | |
| function removeLiquidity( | |
| address tokenA, | |
| address tokenB, | |
| uint liquidity, | |
| uint amountAMin, | |
| uint amountBMin, | |
| address to, | |
| uint deadline | |
| ) public virtual override ensure(deadline) returns (uint amountA, uint amountB) { | |
| address pair = SwapLibrary.pairFor(factory, tokenA, tokenB); | |
| ISwapPair(pair).transferFrom(msg.sender, pair, liquidity); // send liquidity to pair | |
| (uint amount0, uint amount1) = ISwapPair(pair).burn(to); | |
| (address token0,) = SwapLibrary.sortTokens(tokenA, tokenB); | |
| (amountA, amountB) = tokenA == token0 ? (amount0, amount1) : (amount1, amount0); | |
| require(amountA >= amountAMin, 'SwapRouter: INSUFFICIENT_A_AMOUNT'); | |
| require(amountB >= amountBMin, 'SwapRouter: INSUFFICIENT_B_AMOUNT'); | |
| } | |
| function removeLiquidityETH( | |
| address token, | |
| uint liquidity, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline | |
| ) public virtual override ensure(deadline) returns (uint amountToken, uint amountETH) { | |
| (amountToken, amountETH) = removeLiquidity( | |
| token, | |
| WETH, | |
| liquidity, | |
| amountTokenMin, | |
| amountETHMin, | |
| address(this), | |
| deadline | |
| ); | |
| TransferHelper.safeTransfer(token, to, amountToken); | |
| IWETH(WETH).withdraw(amountETH); | |
| TransferHelper.safeTransferETH(to, amountETH); | |
| } | |
| function removeLiquidityWithPermit( | |
| address tokenA, | |
| address tokenB, | |
| uint liquidity, | |
| uint amountAMin, | |
| uint amountBMin, | |
| address to, | |
| uint deadline, | |
| bool approveMax, uint8 v, bytes32 r, bytes32 s | |
| ) external virtual override returns (uint amountA, uint amountB) { | |
| address pair = SwapLibrary.pairFor(factory, tokenA, tokenB); | |
| uint value = approveMax ? uint(-1) : liquidity; | |
| ISwapPair(pair).permit(msg.sender, address(this), value, deadline, v, r, s); | |
| (amountA, amountB) = removeLiquidity(tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline); | |
| } | |
| function removeLiquidityETHWithPermit( | |
| address token, | |
| uint liquidity, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline, | |
| bool approveMax, uint8 v, bytes32 r, bytes32 s | |
| ) external virtual override returns (uint amountToken, uint amountETH) { | |
| address pair = SwapLibrary.pairFor(factory, token, WETH); | |
| uint value = approveMax ? uint(-1) : liquidity; | |
| ISwapPair(pair).permit(msg.sender, address(this), value, deadline, v, r, s); | |
| (amountToken, amountETH) = removeLiquidityETH(token, liquidity, amountTokenMin, amountETHMin, to, deadline); | |
| } | |
| // **** REMOVE LIQUIDITY (supporting fee-on-transfer tokens) **** | |
| function removeLiquidityETHSupportingFeeOnTransferTokens( | |
| address token, | |
| uint liquidity, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline | |
| ) public virtual override ensure(deadline) returns (uint amountETH) { | |
| (, amountETH) = removeLiquidity( | |
| token, | |
| WETH, | |
| liquidity, | |
| amountTokenMin, | |
| amountETHMin, | |
| address(this), | |
| deadline | |
| ); | |
| TransferHelper.safeTransfer(token, to, IERC20(token).balanceOf(address(this))); | |
| IWETH(WETH).withdraw(amountETH); | |
| TransferHelper.safeTransferETH(to, amountETH); | |
| } | |
| function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( | |
| address token, | |
| uint liquidity, | |
| uint amountTokenMin, | |
| uint amountETHMin, | |
| address to, | |
| uint deadline, | |
| bool approveMax, uint8 v, bytes32 r, bytes32 s | |
| ) external virtual override returns (uint amountETH) { | |
| address pair = SwapLibrary.pairFor(factory, token, WETH); | |
| uint value = approveMax ? uint(-1) : liquidity; | |
| ISwapPair(pair).permit(msg.sender, address(this), value, deadline, v, r, s); | |
| amountETH = removeLiquidityETHSupportingFeeOnTransferTokens( | |
| token, liquidity, amountTokenMin, amountETHMin, to, deadline | |
| ); | |
| } | |
| // **** SWAP **** | |
| // requires the initial amount to have already been sent to the first pair | |
| function _swap(uint[] memory amounts, address[] memory path, address _to) internal virtual { | |
| for (uint i; i < path.length - 1; i++) { | |
| (address input, address output) = (path[i], path[i + 1]); | |
| (address token0,) = SwapLibrary.sortTokens(input, output); | |
| uint amountOut = amounts[i + 1]; | |
| (uint amount0Out, uint amount1Out) = input == token0 ? (uint(0), amountOut) : (amountOut, uint(0)); | |
| address to = i < path.length - 2 ? SwapLibrary.pairFor(factory, output, path[i + 2]) : _to; | |
| ISwapPair(SwapLibrary.pairFor(factory, input, output)).swap( | |
| amount0Out, amount1Out, to, new bytes(0) | |
| ); | |
| } | |
| } | |
| function swapExactTokensForTokens( | |
| uint amountIn, | |
| uint amountOutMin, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) external virtual override ensure(deadline) returns (uint[] memory amounts) { | |
| amounts = SwapLibrary.getAmountsOut(factory, amountIn, path); | |
| require(amounts[amounts.length - 1] >= amountOutMin, 'SwapRouter: INSUFFICIENT_OUTPUT_AMOUNT'); | |
| TransferHelper.safeTransferFrom( | |
| path[0], msg.sender, SwapLibrary.pairFor(factory, path[0], path[1]), amounts[0] | |
| ); | |
| _swap(amounts, path, to); | |
| } | |
| function swapTokensForExactTokens( | |
| uint amountOut, | |
| uint amountInMax, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) external virtual override ensure(deadline) returns (uint[] memory amounts) { | |
| amounts = SwapLibrary.getAmountsIn(factory, amountOut, path); | |
| require(amounts[0] <= amountInMax, 'SwapRouter: EXCESSIVE_INPUT_AMOUNT'); | |
| TransferHelper.safeTransferFrom( | |
| path[0], msg.sender, SwapLibrary.pairFor(factory, path[0], path[1]), amounts[0] | |
| ); | |
| _swap(amounts, path, to); | |
| } | |
| function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) | |
| external | |
| virtual | |
| override | |
| payable | |
| ensure(deadline) | |
| returns (uint[] memory amounts) | |
| { | |
| require(path[0] == WETH, 'SwapRouter: INVALID_PATH'); | |
| amounts = SwapLibrary.getAmountsOut(factory, msg.value, path); | |
| require(amounts[amounts.length - 1] >= amountOutMin, 'SwapRouter: INSUFFICIENT_OUTPUT_AMOUNT'); | |
| IWETH(WETH).deposit{value: amounts[0]}(); | |
| assert(IWETH(WETH).transfer(SwapLibrary.pairFor(factory, path[0], path[1]), amounts[0])); | |
| _swap(amounts, path, to); | |
| } | |
| function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) | |
| external | |
| virtual | |
| override | |
| ensure(deadline) | |
| returns (uint[] memory amounts) | |
| { | |
| require(path[path.length - 1] == WETH, 'SwapRouter: INVALID_PATH'); | |
| amounts = SwapLibrary.getAmountsIn(factory, amountOut, path); | |
| require(amounts[0] <= amountInMax, 'SwapRouter: EXCESSIVE_INPUT_AMOUNT'); | |
| TransferHelper.safeTransferFrom( | |
| path[0], msg.sender, SwapLibrary.pairFor(factory, path[0], path[1]), amounts[0] | |
| ); | |
| _swap(amounts, path, address(this)); | |
| IWETH(WETH).withdraw(amounts[amounts.length - 1]); | |
| TransferHelper.safeTransferETH(to, amounts[amounts.length - 1]); | |
| } | |
| function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) | |
| external | |
| virtual | |
| override | |
| ensure(deadline) | |
| returns (uint[] memory amounts) | |
| { | |
| require(path[path.length - 1] == WETH, 'SwapRouter: INVALID_PATH'); | |
| amounts = SwapLibrary.getAmountsOut(factory, amountIn, path); | |
| require(amounts[amounts.length - 1] >= amountOutMin, 'SwapRouter: INSUFFICIENT_OUTPUT_AMOUNT'); | |
| TransferHelper.safeTransferFrom( | |
| path[0], msg.sender, SwapLibrary.pairFor(factory, path[0], path[1]), amounts[0] | |
| ); | |
| _swap(amounts, path, address(this)); | |
| IWETH(WETH).withdraw(amounts[amounts.length - 1]); | |
| TransferHelper.safeTransferETH(to, amounts[amounts.length - 1]); | |
| } | |
| function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) | |
| external | |
| virtual | |
| override | |
| payable | |
| ensure(deadline) | |
| returns (uint[] memory amounts) | |
| { | |
| require(path[0] == WETH, 'SwapRouter: INVALID_PATH'); | |
| amounts = SwapLibrary.getAmountsIn(factory, amountOut, path); | |
| require(amounts[0] <= msg.value, 'SwapRouter: EXCESSIVE_INPUT_AMOUNT'); | |
| IWETH(WETH).deposit{value: amounts[0]}(); | |
| assert(IWETH(WETH).transfer(SwapLibrary.pairFor(factory, path[0], path[1]), amounts[0])); | |
| _swap(amounts, path, to); | |
| // refund dust eth, if any | |
| if (msg.value > amounts[0]) TransferHelper.safeTransferETH(msg.sender, msg.value - amounts[0]); | |
| } | |
| // **** SWAP (supporting fee-on-transfer tokens) **** | |
| // requires the initial amount to have already been sent to the first pair | |
| function _swapSupportingFeeOnTransferTokens(address[] memory path, address _to) internal virtual { | |
| for (uint i; i < path.length - 1; i++) { | |
| (address input, address output) = (path[i], path[i + 1]); | |
| (address token0,) = SwapLibrary.sortTokens(input, output); | |
| ISwapPair pair = ISwapPair(SwapLibrary.pairFor(factory, input, output)); | |
| uint amountInput; | |
| uint amountOutput; | |
| { // scope to avoid stack too deep errors | |
| (uint reserve0, uint reserve1,) = pair.getReserves(); | |
| (uint reserveInput, uint reserveOutput) = input == token0 ? (reserve0, reserve1) : (reserve1, reserve0); | |
| amountInput = IERC20(input).balanceOf(address(pair)).sub(reserveInput); | |
| amountOutput = SwapLibrary.getAmountOut(amountInput, reserveInput, reserveOutput); | |
| } | |
| (uint amount0Out, uint amount1Out) = input == token0 ? (uint(0), amountOutput) : (amountOutput, uint(0)); | |
| address to = i < path.length - 2 ? SwapLibrary.pairFor(factory, output, path[i + 2]) : _to; | |
| pair.swap(amount0Out, amount1Out, to, new bytes(0)); | |
| } | |
| } | |
| function swapExactTokensForTokensSupportingFeeOnTransferTokens( | |
| uint amountIn, | |
| uint amountOutMin, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) external virtual override ensure(deadline) { | |
| TransferHelper.safeTransferFrom( | |
| path[0], msg.sender, SwapLibrary.pairFor(factory, path[0], path[1]), amountIn | |
| ); | |
| uint balanceBefore = IERC20(path[path.length - 1]).balanceOf(to); | |
| _swapSupportingFeeOnTransferTokens(path, to); | |
| require( | |
| IERC20(path[path.length - 1]).balanceOf(to).sub(balanceBefore) >= amountOutMin, | |
| 'SwapRouter: INSUFFICIENT_OUTPUT_AMOUNT' | |
| ); | |
| } | |
| function swapExactETHForTokensSupportingFeeOnTransferTokens( | |
| uint amountOutMin, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) | |
| external | |
| virtual | |
| override | |
| payable | |
| ensure(deadline) | |
| { | |
| require(path[0] == WETH, 'SwapRouter: INVALID_PATH'); | |
| uint amountIn = msg.value; | |
| IWETH(WETH).deposit{value: amountIn}(); | |
| assert(IWETH(WETH).transfer(SwapLibrary.pairFor(factory, path[0], path[1]), amountIn)); | |
| uint balanceBefore = IERC20(path[path.length - 1]).balanceOf(to); | |
| _swapSupportingFeeOnTransferTokens(path, to); | |
| require( | |
| IERC20(path[path.length - 1]).balanceOf(to).sub(balanceBefore) >= amountOutMin, | |
| 'SwapRouter: INSUFFICIENT_OUTPUT_AMOUNT' | |
| ); | |
| } | |
| function swapExactTokensForETHSupportingFeeOnTransferTokens( | |
| uint amountIn, | |
| uint amountOutMin, | |
| address[] calldata path, | |
| address to, | |
| uint deadline | |
| ) | |
| external | |
| virtual | |
| override | |
| ensure(deadline) | |
| { | |
| require(path[path.length - 1] == WETH, 'SwapRouter: INVALID_PATH'); | |
| TransferHelper.safeTransferFrom( | |
| path[0], msg.sender, SwapLibrary.pairFor(factory, path[0], path[1]), amountIn | |
| ); | |
| _swapSupportingFeeOnTransferTokens(path, address(this)); | |
| uint amountOut = IERC20(WETH).balanceOf(address(this)); | |
| require(amountOut >= amountOutMin, 'SwapRouter: INSUFFICIENT_OUTPUT_AMOUNT'); | |
| IWETH(WETH).withdraw(amountOut); | |
| TransferHelper.safeTransferETH(to, amountOut); | |
| } | |
| // **** LIBRARY FUNCTIONS **** | |
| function quote(uint amountA, uint reserveA, uint reserveB) public pure virtual override returns (uint amountB) { | |
| return SwapLibrary.quote(amountA, reserveA, reserveB); | |
| } | |
| function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) | |
| public | |
| pure | |
| virtual | |
| override | |
| returns (uint amountOut) | |
| { | |
| return SwapLibrary.getAmountOut(amountIn, reserveIn, reserveOut); | |
| } | |
| function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) | |
| public | |
| pure | |
| virtual | |
| override | |
| returns (uint amountIn) | |
| { | |
| return SwapLibrary.getAmountIn(amountOut, reserveIn, reserveOut); | |
| } | |
| function getAmountsOut(uint amountIn, address[] memory path) | |
| public | |
| view | |
| virtual | |
| override | |
| returns (uint[] memory amounts) | |
| { | |
| return SwapLibrary.getAmountsOut(factory, amountIn, path); | |
| } | |
| function getAmountsIn(uint amountOut, address[] memory path) | |
| public | |
| view | |
| virtual | |
| override | |
| returns (uint[] memory amounts) | |
| { | |
| return SwapLibrary.getAmountsIn(factory, amountOut, path); | |
| } | |
| } |
| // SPDX-License-Identifier: UNLICENSED | |
| pragma solidity ^0.8.10; | |
| // should store balance | |
| // can be transferred | |
| // generation of token | |
| // CASE1: I WANT TO TRANSFER FROM MY ACCOUNT TO SOMEONE ELSE ✅ | |
| // IF WE ALLOW CASE 2 | |
| // CASE2: I WANT TO TRANSFER FROM ANOTHER ACCOUNT TO SOMEONE ELSE / MY ACCOUNT ✅ | |
| // _allowance[user][spender] | |
| contract Token{ | |
| uint _totalSupply = 0; | |
| mapping(address=>uint) _balances; | |
| mapping(address=>mapping(address=>uint)) _allowance; | |
| address owner; | |
| modifier onlyOwner(){ | |
| require(msg.sender == owner,"ERROR: OWNER ONLY"); | |
| _; | |
| } | |
| event Transfer(address indexed _from, address indexed _to, uint256 _value); | |
| event Approval(address indexed _owner, address indexed _spender, uint256 _value); | |
| constructor(){ | |
| owner = msg.sender; | |
| } | |
| function name() public pure returns (string memory){ | |
| return "Indian Rupee"; | |
| } | |
| function symbol() public pure returns (string memory){ | |
| return "INR"; | |
| } | |
| function decimals() public pure returns (uint){ | |
| return 0; | |
| } | |
| function totalSupply() public view returns (uint){ | |
| return _totalSupply; | |
| } | |
| // CASE 1 | |
| function transfer(address to,uint amount) public virtual { | |
| // msg.sender => FROM ADDRESS | |
| _transfer(msg.sender,to,amount); | |
| } | |
| // CASE 2 | |
| // -> approve | |
| function approve(address spender, uint amount) public virtual{ | |
| _allowance[msg.sender][spender] = amount; | |
| emit Approval(msg.sender,spender,amount); | |
| } | |
| // -> allowance | |
| function allowance(address user,address spender) public view virtual returns(uint){ | |
| return _allowance[user][spender]; | |
| } | |
| // -> tranferFrom | |
| function transferFrom(address from,address to, uint amount) public virtual{ | |
| require(_allowance[from][msg.sender] >= amount, "ERROR: _allowance Exceeds"); | |
| _transfer(from,to,amount); | |
| _allowance[from][msg.sender] -= amount; | |
| } | |
| function _transfer(address from, address to,uint amount) internal virtual{ | |
| // TODO: TRANSFER TOKEN FROM ONE ACCOUNT TO ANOTHER | |
| _balances[from] -= amount; | |
| _balances[to] += amount; | |
| emit Transfer(from,to,amount); | |
| } | |
| function balanceOf(address user) public view virtual returns(uint){ | |
| return _balances[user]; | |
| } | |
| function _mint(address receiver, uint amount) public onlyOwner virtual { | |
| // TODO: INCREASE NUMBER OF TOTAL TOKENS | |
| _balances[receiver] += amount; | |
| _totalSupply += amount; | |
| } | |
| function _burn(uint amount) public virtual { | |
| // TODO: DECREASE NUMBER OF TOTAL TOKENS | |
| _balances[msg.sender] -= amount; | |
| _totalSupply -= amount; | |
| } | |
| } | |
| // Owner => 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4 (D) -> 100990 | |
| // Sanchita => 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB | |
| // Amiya => 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C -> 10 | |
| // Bigbazzar => 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c |
| // Implementation of a contract to select validators using an allowlist | |
| pragma solidity >=0.8.0; | |
| import "../ValidatorSmartContractInterface.sol"; | |
| contract ValidatorSmartContractAllowList is ValidatorSmartContractInterface { | |
| event AllowedAccount( | |
| address indexed account, | |
| bool added | |
| ); | |
| event Validator( | |
| address indexed validator, | |
| address indexed byAccount, | |
| uint numValidators, | |
| bool activated | |
| ); | |
| event Vote( | |
| address indexed accountVotedFor, | |
| address indexed votingAccount, | |
| uint numVotes, | |
| uint numVotesNeeded, | |
| bool voteToAdd, | |
| bool voteRemoved | |
| ); | |
| struct accountInfo { | |
| bool allowed; | |
| bool activeValidator; | |
| uint8 validatorIndex; | |
| } | |
| uint constant MAX_VALIDATORS = 256; | |
| address[] private validators; | |
| mapping(address => accountInfo) private allowedAccounts; | |
| mapping(address => address) private validatorToAccount; | |
| uint public numAllowedAccounts; | |
| mapping(address => address[]) private currentVotes;// mapping the votes for adding or removing an account to the accounts that voted for it | |
| modifier senderIsAllowed() { | |
| require(allowedAccounts[msg.sender].allowed, "sender is not on the allowlist"); | |
| _; | |
| } | |
| constructor (address[] memory initialAccounts, address[] memory initialValidators) public { | |
| require(initialAccounts.length > 0, "no initial allowed accounts"); | |
| require(initialValidators.length > 0, "no initial validator accounts"); | |
| require(initialAccounts.length >= initialValidators.length, "number of initial accounts smaller than number of initial validators"); | |
| require(initialValidators.length < MAX_VALIDATORS, "number of validators cannot be larger than 256"); | |
| for (uint i = 0; i < initialAccounts.length; i++) { | |
| require(initialAccounts[i] != address(0), "initial accounts cannot be zero"); | |
| if (i < initialValidators.length) { | |
| require(initialValidators[i] != address(0), "initial validators cannot be zero"); | |
| allowedAccounts[initialAccounts[i]] = accountInfo(true, true, uint8(i)); | |
| validators.push(initialValidators[i]); | |
| validatorToAccount[initialValidators[i]] = initialAccounts[i]; | |
| } else { | |
| allowedAccounts[initialAccounts[i]] = accountInfo(true, false, 0); | |
| } | |
| } | |
| numAllowedAccounts = initialAccounts.length; | |
| } | |
| function getValidators() override external view returns (address[] memory) { | |
| return validators; | |
| } | |
| function activate(address newValidator) external senderIsAllowed { | |
| require(newValidator != address(0), "cannot activate validator with address 0"); | |
| uint i; | |
| for (i=0; i < validators.length; i++) { | |
| require(newValidator != validators[i], "validator is already active"); | |
| } | |
| if (allowedAccounts[msg.sender].activeValidator) { | |
| validators[allowedAccounts[msg.sender].validatorIndex] = newValidator; | |
| } else { | |
| require(validators.length < MAX_VALIDATORS, "number of validators cannot be larger than 256"); | |
| allowedAccounts[msg.sender].activeValidator = true; | |
| allowedAccounts[msg.sender].validatorIndex = uint8(validators.length); | |
| validators.push(newValidator); | |
| } | |
| validatorToAccount[newValidator] = msg.sender; | |
| emit Validator(newValidator, msg.sender, validators.length, true); | |
| } | |
| function deactivate() external senderIsAllowed { | |
| require(validators.length > 1, "cannot deactivate last validator"); | |
| require(allowedAccounts[msg.sender].activeValidator, "sender does not have an active validator"); | |
| allowedAccounts[msg.sender].activeValidator = false; | |
| uint8 deactivatedValidatorIndex = allowedAccounts[msg.sender].validatorIndex; | |
| address validatorRemoved = validators[deactivatedValidatorIndex]; | |
| address validatorToBeMoved = validators[validators.length-1]; | |
| validators[deactivatedValidatorIndex] = validatorToBeMoved; | |
| allowedAccounts[validatorToAccount[validatorToBeMoved]].validatorIndex = deactivatedValidatorIndex; | |
| validators.pop(); | |
| delete(validatorToAccount[validatorRemoved]); | |
| emit Validator(validatorRemoved, msg.sender, validators.length, false); | |
| } | |
| function voteToAddAccountToAllowList(address account) external senderIsAllowed { | |
| require(allowedAccounts[account].allowed == false, "account to add is already on the allow list"); | |
| for (uint i=0; i < currentVotes[account].length; i++) { | |
| require(currentVotes[account][i] != msg.sender, "sender has already voted to add account"); | |
| } | |
| currentVotes[account].push(msg.sender); | |
| emit Vote(account, msg.sender, currentVotes[account].length, numAllowedAccounts/2 + 1, true, false); | |
| } | |
| function voteToRemoveAccountFromAllowList(address account) external senderIsAllowed { | |
| require(account != address(0), "account to be added cannot be 0"); | |
| require(allowedAccounts[account].allowed == true, "account to remove is not on the allow list"); | |
| for (uint i=0; i < currentVotes[account].length; i++) { | |
| require(currentVotes[account][i] != msg.sender, "sender has already voted to remove account"); | |
| } | |
| currentVotes[account].push(msg.sender); | |
| emit Vote(account, msg.sender, currentVotes[account].length, numAllowedAccounts/2 + 1, false, false); | |
| } | |
| function removeVoteForAccount(address account) external senderIsAllowed { | |
| for (uint i=0; i < currentVotes[account].length; i++) { | |
| if (currentVotes[account][i] == msg.sender) { | |
| currentVotes[account][i] = currentVotes[account][currentVotes[account].length-1]; | |
| currentVotes[account].pop(); | |
| break; | |
| } | |
| } | |
| emit Vote(account, msg.sender, currentVotes[account].length, numAllowedAccounts/2 + 1, !(allowedAccounts[account].allowed), true); | |
| } | |
| function countVotes(address account) external senderIsAllowed returns(uint numVotes, uint requiredVotes, bool electionSucceeded) { | |
| for (uint i=0; i < currentVotes[account].length; i++) { | |
| if (allowedAccounts[currentVotes[account][i]].allowed) { | |
| // only increment numVotes if account that voted is still allowed | |
| numVotes++; | |
| } | |
| } | |
| if (numVotes > numAllowedAccounts / 2) { | |
| delete(currentVotes[account]); | |
| if (allowedAccounts[account].allowed) { | |
| numAllowedAccounts--; | |
| if(allowedAccounts[account].activeValidator) { | |
| require(validators.length > 1, "cannot remove allowed account with last active validator"); | |
| uint8 indexToBeOverwritten = allowedAccounts[account].validatorIndex; | |
| delete(validatorToAccount[validators[indexToBeOverwritten]]); | |
| address validatorToBeMoved = validators[validators.length - 1]; | |
| validators[indexToBeOverwritten] = validatorToBeMoved; | |
| validators.pop(); | |
| allowedAccounts[validatorToAccount[validatorToBeMoved]].validatorIndex = indexToBeOverwritten; | |
| } | |
| delete(allowedAccounts[account]); | |
| } else { | |
| numAllowedAccounts++; | |
| allowedAccounts[account] = accountInfo(true, false, 0); | |
| } | |
| emit AllowedAccount(account, allowedAccounts[account].allowed); | |
| } | |
| return (numVotes, numAllowedAccounts / 2 + 1, numVotes > numAllowedAccounts / 2); | |
| } | |
| } |
| // Implementation of a contract to select validators using an allowlist | |
| pragma solidity >=0.5.0; | |
| import "../ValidatorSmartContractInterface.sol"; | |
| contract ValidatorSmartContractAllowList is ValidatorSmartContractInterface { | |
| event AllowedAccount( | |
| address indexed account, | |
| bool added | |
| ); | |
| event Validator( | |
| address indexed validator, | |
| address indexed byAccount, | |
| uint numValidators, | |
| bool activated | |
| ); | |
| event Vote( | |
| address indexed accountVotedFor, | |
| address indexed votingAccount, | |
| uint numVotes, | |
| uint numVotesNeeded, | |
| bool voteToAdd, | |
| bool voteRemoved | |
| ); | |
| struct accountInfo { | |
| bool allowed; | |
| bool activeValidator; | |
| uint8 validatorIndex; | |
| } | |
| uint constant MAX_VALIDATORS = 256; | |
| address[] private validators; | |
| mapping(address => accountInfo) private allowedAccounts; | |
| mapping(address => address) private validatorToAccount; | |
| uint public numAllowedAccounts; | |
| mapping(address => address[]) private currentVotes;// mapping the votes for adding or removing an account to the accounts that voted for it | |
| modifier senderIsAllowed() { | |
| require(allowedAccounts[msg.sender].allowed, "sender is not on the allowlist"); | |
| _; | |
| } | |
| constructor (address[] memory initialAccounts, address[] memory initialValidators) public { | |
| require(initialAccounts.length > 0, "no initial allowed accounts"); | |
| require(initialValidators.length > 0, "no initial validator accounts"); | |
| require(initialAccounts.length >= initialValidators.length, "number of initial accounts smaller than number of initial validators"); | |
| require(initialValidators.length < MAX_VALIDATORS, "number of validators cannot be larger than 256"); | |
| for (uint i = 0; i < initialAccounts.length; i++) { | |
| require(initialAccounts[i] != address(0), "initial accounts cannot be zero"); | |
| if (i < initialValidators.length) { | |
| require(initialValidators[i] != address(0), "initial validators cannot be zero"); | |
| allowedAccounts[initialAccounts[i]] = accountInfo(true, true, uint8(i)); | |
| validators.push(initialValidators[i]); | |
| validatorToAccount[initialValidators[i]] = initialAccounts[i]; | |
| } else { | |
| allowedAccounts[initialAccounts[i]] = accountInfo(true, false, 0); | |
| } | |
| } | |
| numAllowedAccounts = initialAccounts.length; | |
| } | |
| function getValidators() override external view returns (address[] memory) { | |
| return validators; | |
| } | |
| function activate(address newValidator) external senderIsAllowed { | |
| require(newValidator != address(0), "cannot activate validator with address 0"); | |
| uint i; | |
| for (i=0; i < validators.length; i++) { | |
| require(newValidator != validators[i], "validator is already active"); | |
| } | |
| if (allowedAccounts[msg.sender].activeValidator) { | |
| validators[allowedAccounts[msg.sender].validatorIndex] = newValidator; | |
| } else { | |
| require(validators.length < MAX_VALIDATORS, "number of validators cannot be larger than 256"); | |
| allowedAccounts[msg.sender].activeValidator = true; | |
| allowedAccounts[msg.sender].validatorIndex = uint8(validators.length); | |
| validators.push(newValidator); | |
| } | |
| validatorToAccount[newValidator] = msg.sender; | |
| emit Validator(newValidator, msg.sender, validators.length, true); | |
| } | |
| function deactivate() external senderIsAllowed { | |
| require(validators.length > 1, "cannot deactivate last validator"); | |
| require(allowedAccounts[msg.sender].activeValidator, "sender does not have an active validator"); | |
| allowedAccounts[msg.sender].activeValidator = false; | |
| uint8 deactivatedValidatorIndex = allowedAccounts[msg.sender].validatorIndex; | |
| address validatorRemoved = validators[deactivatedValidatorIndex]; | |
| address validatorToBeMoved = validators[validators.length-1]; | |
| validators[deactivatedValidatorIndex] = validatorToBeMoved; | |
| allowedAccounts[validatorToAccount[validatorToBeMoved]].validatorIndex = deactivatedValidatorIndex; | |
| validators.pop(); | |
| delete(validatorToAccount[validatorRemoved]); | |
| emit Validator(validatorRemoved, msg.sender, validators.length, false); | |
| } | |
| function voteToAddAccountToAllowList(address account) external senderIsAllowed { | |
| require(allowedAccounts[account].allowed == false, "account to add is already on the allow list"); | |
| for (uint i=0; i < currentVotes[account].length; i++) { | |
| require(currentVotes[account][i] != msg.sender, "sender has already voted to add account"); | |
| } | |
| currentVotes[account].push(msg.sender); | |
| emit Vote(account, msg.sender, currentVotes[account].length, numAllowedAccounts/2 + 1, true, false); | |
| } | |
| function voteToRemoveAccountFromAllowList(address account) external senderIsAllowed { | |
| require(account != address(0), "account to be added cannot be 0"); | |
| require(allowedAccounts[account].allowed == true, "account to remove is not on the allow list"); | |
| for (uint i=0; i < currentVotes[account].length; i++) { | |
| require(currentVotes[account][i] != msg.sender, "sender has already voted to remove account"); | |
| } | |
| currentVotes[account].push(msg.sender); | |
| emit Vote(account, msg.sender, currentVotes[account].length, numAllowedAccounts/2 + 1, false, false); | |
| } | |
| function removeVoteForAccount(address account) external senderIsAllowed { | |
| for (uint i=0; i < currentVotes[account].length; i++) { | |
| if (currentVotes[account][i] == msg.sender) { | |
| currentVotes[account][i] = currentVotes[account][currentVotes[account].length-1]; | |
| currentVotes[account].pop(); | |
| break; | |
| } | |
| } | |
| emit Vote(account, msg.sender, currentVotes[account].length, numAllowedAccounts/2 + 1, !(allowedAccounts[account].allowed), true); | |
| } | |
| function countVotes(address account) external senderIsAllowed returns(uint numVotes, uint requiredVotes, bool electionSucceeded) { | |
| for (uint i=0; i < currentVotes[account].length; i++) { | |
| if (allowedAccounts[currentVotes[account][i]].allowed) { | |
| // only increment numVotes if account that voted is still allowed | |
| numVotes++; | |
| } | |
| } | |
| if (numVotes > numAllowedAccounts / 2) { | |
| delete(currentVotes[account]); | |
| if (allowedAccounts[account].allowed) { | |
| numAllowedAccounts--; | |
| if(allowedAccounts[account].activeValidator) { | |
| require(validators.length > 1, "cannot remove allowed account with last active validator"); | |
| uint8 indexToBeOverwritten = allowedAccounts[account].validatorIndex; | |
| delete(validatorToAccount[validators[indexToBeOverwritten]]); | |
| address validatorToBeMoved = validators[validators.length - 1]; | |
| validators[indexToBeOverwritten] = validatorToBeMoved; | |
| validators.pop(); | |
| allowedAccounts[validatorToAccount[validatorToBeMoved]].validatorIndex = indexToBeOverwritten; | |
| } | |
| delete(allowedAccounts[account]); | |
| } else { | |
| numAllowedAccounts++; | |
| allowedAccounts[account] = accountInfo(true, false, 0); | |
| } | |
| emit AllowedAccount(account, allowedAccounts[account].allowed); | |
| } | |
| return (numVotes, numAllowedAccounts / 2 + 1, numVotes > numAllowedAccounts / 2); | |
| } | |
| } |
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": { | |
| "@_286": { | |
| "entryPoint": null, | |
| "id": 286, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "60806040526000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603c60065569065a4da25d3016c0000060075534801561006557600080fd5b5033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121e7806100b66000396000f3fe6080604052600436106100555760003560e01c806335aa2e441461005a5780633ccfd60b1461009757806349bdc2b8146100ae578063ad38bf22146100ca578063f9f92be4146100f3578063facd743b1461011c575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c919061144b565b610159565b60405161008e9190611731565b60405180910390f35b3480156100a357600080fd5b506100ac610198565b005b6100c860048036038101906100c391906113dc565b610417565b005b3480156100d657600080fd5b506100f160048036038101906100ec91906113af565b61058f565b005b3480156100ff57600080fd5b5061011a600480360381019061011591906113af565b610663565b005b34801561012857600080fd5b50610143600480360381019061013e91906113af565b61085a565b604051610150919061174c565b60405180910390f35b6000818154811061016957600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021b9061186c565b60405180910390fd5b6001600080549050101561026d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102649061182c565b60405180910390fd5b600033905042600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546006546102c09190611972565b1115610301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f8906118ac565b60405180910390fd5b600754600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037c906117ec565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f1935050505015801561040a573d6000803e3d6000fd5b506104148161087a565b50565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156104a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049b906117ac565b60405180910390fd5b81341480156104b557506007543410155b6104f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104eb9061180c565b60405180910390fd5b60006105008484610be4565b9050600061050e8284610c9b565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461057e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105759061188c565b60405180910390fd5b6105888134610d6b565b5050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461061f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610616906117cc565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea906117cc565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661077f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107769061184c565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561084e578073ffffffffffffffffffffffffffffffffffffffff166108fc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f1935050505015801561084c573d6000803e3d6000fd5b505b6108578161087a565b50565b60046020528060005260406000206000915054906101000a900460ff1681565b600080600160008054905061088f9190611c67565b815481106108a05761089f611ec4565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561094d57600080548061091357610912611e95565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055610ab4565b806000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815481106109a1576109a0611ec4565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000805480610a7e57610a7d611e95565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555b8173ffffffffffffffffffffffffffffffffffffffff167f2197aab07adab5361edb74a7f3ecf4ba176c89f4cd896f45ca0a0313b12a157a42600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610b3b9291906118cc565b60405180910390a26000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080610bf083610fab565b610bf98561110c565b604051602001610c0a9291906116e0565b604051602081830303815290604052905060008180519060200120905060006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250905060008183604051602001610c769291906116b8565b6040516020818303038152906040528051906020012090508094505050505092915050565b6000806000806041855114610cb65760019350505050610d65565b602085015192506040850151915060ff6041860151169050601b8160ff161015610cea57601b81610ce791906119c8565b90505b601c8160ff161480610cff5750601b8160ff16145b15610d5d5760018682858560405160008152602001604052604051610d279493929190611767565b6020604051602081039080840390855afa158015610d49573d6000803e3d6000fd5b505050602060405103519350505050610d65565b600093505050505b92915050565b600754600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610e65576000808054905090506000839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b42600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ef89190611972565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f6fac2cbdfc6014aeb742f8d066481595055698c3a27d92455d9a4944f36088504283604051610f9f9291906118cc565b60405180910390a25050565b60606000821415610ff3576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611107565b600082905060005b6000821461102557808061100e90611db3565b915050600a8261101e91906119ff565b9150610ffb565b60008167ffffffffffffffff81111561104157611040611ef3565b5b6040519080825280601f01601f1916602001820160405280156110735781602001600182028036833780820191505090505b5090505b600085146111005760018261108c9190611c67565b9150600a8561109b9190611e06565b60306110a79190611972565b60f81b8183815181106110bd576110bc611ec4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856110f991906119ff565b9450611077565b8093505050505b919050565b60606000602867ffffffffffffffff81111561112b5761112a611ef3565b5b6040519080825280601f01601f19166020018201604052801561115d5781602001600182028036833780820191505090505b50905060005b60148110156112c557600081601361117b9190611c67565b60086111879190611bd2565b60026111939190611ab4565b8573ffffffffffffffffffffffffffffffffffffffff166111b491906119ff565b60f81b9050600060108260f81c6111cb9190611a30565b60f81b905060008160f81c60106111e29190611c2c565b8360f81c6111f09190611c9b565b60f81b90506111fe826112cf565b8585600261120c9190611bd2565b8151811061121d5761121c611ec4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611255816112cf565b8560018660026112659190611bd2565b61126f9190611972565b815181106112805761127f611ec4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050505080806112bd90611db3565b915050611163565b5080915050919050565b6000600a8260f81c60ff1610156112fa5760308260f81c6112f091906119c8565b60f81b9050611310565b60578260f81c61130a91906119c8565b60f81b90505b919050565b60006113286113238461191a565b6118f5565b90508281526020810184848401111561134457611343611f27565b5b61134f848285611d40565b509392505050565b60008135905061136681612183565b92915050565b600082601f83011261138157611380611f22565b5b8135611391848260208601611315565b91505092915050565b6000813590506113a98161219a565b92915050565b6000602082840312156113c5576113c4611f31565b5b60006113d384828501611357565b91505092915050565b6000806000606084860312156113f5576113f4611f31565b5b600061140386828701611357565b93505060206114148682870161139a565b925050604084013567ffffffffffffffff81111561143557611434611f2c565b5b6114418682870161136c565b9150509250925092565b60006020828403121561146157611460611f31565b5b600061146f8482850161139a565b91505092915050565b61148181611ce1565b82525050565b61149081611cf3565b82525050565b61149f81611cff565b82525050565b6114b66114b182611cff565b611dfc565b82525050565b60006114c78261194b565b6114d18185611956565b93506114e1818560208601611d4f565b80840191505092915050565b7f492077616e7420746f207374616b652000000000000000000000000000000000815250565b6000611520602a83611961565b915061152b82611f54565b604082019050919050565b6000611543603183611961565b915061154e82611fa3565b604082019050919050565b7f2e00000000000000000000000000000000000000000000000000000000000000815250565b7f2053505620636f696e20746f20746573746e65742066726f6d20307800000000815250565b60006115b2601583611961565b91506115bd82611ff2565b602082019050919050565b60006115d5600d83611961565b91506115e08261201b565b602082019050919050565b60006115f8602183611961565b915061160382612044565b604082019050919050565b600061161b601b83611961565b915061162682612093565b602082019050919050565b600061163e602283611961565b9150611649826120bc565b604082019050919050565b6000611661601c83611961565b915061166c8261210b565b602082019050919050565b6000611684602b83611961565b915061168f82612134565b604082019050919050565b6116a381611d29565b82525050565b6116b281611d33565b82525050565b60006116c482856114bc565b91506116d082846114a5565b6020820191508190509392505050565b60006116eb826114ed565b6010820191506116fb82856114bc565b91506117068261157f565b601c8201915061171682846114bc565b915061172182611559565b6001820191508190509392505050565b60006020820190506117466000830184611478565b92915050565b60006020820190506117616000830184611487565b92915050565b600060808201905061177c6000830187611496565b61178960208301866116a9565b6117966040830185611496565b6117a36060830184611496565b95945050505050565b600060208201905081810360008301526117c581611513565b9050919050565b600060208201905081810360008301526117e581611536565b9050919050565b60006020820190508181036000830152611805816115a5565b9050919050565b60006020820190508181036000830152611825816115c8565b9050919050565b60006020820190508181036000830152611845816115eb565b9050919050565b600060208201905081810360008301526118658161160e565b9050919050565b6000602082019050818103600083015261188581611631565b9050919050565b600060208201905081810360008301526118a581611654565b9050919050565b600060208201905081810360008301526118c581611677565b9050919050565b60006040820190506118e1600083018561169a565b6118ee602083018461169a565b9392505050565b60006118ff611910565b905061190b8282611d82565b919050565b6000604051905090565b600067ffffffffffffffff82111561193557611934611ef3565b5b61193e82611f36565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061197d82611d29565b915061198883611d29565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156119bd576119bc611e37565b5b828201905092915050565b60006119d382611d33565b91506119de83611d33565b92508260ff038211156119f4576119f3611e37565b5b828201905092915050565b6000611a0a82611d29565b9150611a1583611d29565b925082611a2557611a24611e66565b5b828204905092915050565b6000611a3b82611d33565b9150611a4683611d33565b925082611a5657611a55611e66565b5b828204905092915050565b6000808291508390505b6001851115611aab57808604811115611a8757611a86611e37565b5b6001851615611a965780820291505b8081029050611aa485611f47565b9450611a6b565b94509492505050565b6000611abf82611d29565b9150611aca83611d29565b9250611af77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611aff565b905092915050565b600082611b0f5760019050611bcb565b81611b1d5760009050611bcb565b8160018114611b335760028114611b3d57611b6c565b6001915050611bcb565b60ff841115611b4f57611b4e611e37565b5b8360020a915084821115611b6657611b65611e37565b5b50611bcb565b5060208310610133831016604e8410600b8410161715611ba15782820a905083811115611b9c57611b9b611e37565b5b611bcb565b611bae8484846001611a61565b92509050818404811115611bc557611bc4611e37565b5b81810290505b9392505050565b6000611bdd82611d29565b9150611be883611d29565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611c2157611c20611e37565b5b828202905092915050565b6000611c3782611d33565b9150611c4283611d33565b92508160ff0483118215151615611c5c57611c5b611e37565b5b828202905092915050565b6000611c7282611d29565b9150611c7d83611d29565b925082821015611c9057611c8f611e37565b5b828203905092915050565b6000611ca682611d33565b9150611cb183611d33565b925082821015611cc457611cc3611e37565b5b828203905092915050565b6000611cda82611d09565b9050919050565b6000611cec82611d09565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015611d6d578082015181840152602081019050611d52565b83811115611d7c576000848401525b50505050565b611d8b82611f36565b810181811067ffffffffffffffff82111715611daa57611da9611ef3565b5b80604052505050565b6000611dbe82611d29565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611df157611df0611e37565b5b600182019050919050565b6000819050919050565b6000611e1182611d29565b9150611e1c83611d29565b925082611e2c57611e2b611e66565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5354414b45523a20414c52454144592056414c494441544f522054525920444560008201527f504f534954204d4f524500000000000000000000000000000000000000000000602082015250565b7f5354414b45523a204f6e6c7920626c61636b6c69737465722063616e2061636360008201527f65737320746869732066756e6374696f6e000000000000000000000000000000602082015250565b7f5354414b45523a204c455353205448414e204d494e0000000000000000000000600082015250565b7f4c455353205448414e204d494e00000000000000000000000000000000000000600082015250565b7f5354414b45523a20746865726573206f6e6c79206f6e652076616c696461746f60008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f5354414b45523a20497473206e6f7420612076616c696461746f720000000000600082015250565b7f5354414b45523a204f6e6c792076616c696461746f722063616e20756e73746160008201527f6b65000000000000000000000000000000000000000000000000000000000000602082015250565b7f5354414b45523a205369676e6174757265204d6973736d617463682100000000600082015250565b7f5354414b45523a204d494e205354414b494e472054494d45204e4f5420434f4d60008201527f504c455445442059455421000000000000000000000000000000000000000000602082015250565b61218c81611ccf565b811461219757600080fd5b50565b6121a381611d29565b81146121ae57600080fd5b5056fea2646970667358221220fbc4a41f17adb2868d0b28df0db005eb14467399d8281b88bfc6c66541cbc66b64736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3C PUSH1 0x6 SSTORE PUSH10 0x65A4DA25D3016C00000 PUSH1 0x7 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x21E7 DUP1 PUSH2 0xB6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x35AA2E44 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0x97 JUMPI DUP1 PUSH4 0x49BDC2B8 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0xAD38BF22 EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0xF9F92BE4 EQ PUSH2 0xF3 JUMPI DUP1 PUSH4 0xFACD743B EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x144B JUMP JUMPDEST PUSH2 0x159 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8E SWAP2 SWAP1 PUSH2 0x1731 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAC PUSH2 0x198 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x13DC JUMP JUMPDEST PUSH2 0x417 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xEC SWAP2 SWAP1 PUSH2 0x13AF JUMP JUMPDEST PUSH2 0x58F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x13AF JUMP JUMPDEST PUSH2 0x663 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x143 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x13AF JUMP JUMPDEST PUSH2 0x85A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x150 SWAP2 SWAP1 PUSH2 0x174C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x224 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21B SWAP1 PUSH2 0x186C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 SLOAD SWAP1 POP LT ISZERO PUSH2 0x26D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x264 SWAP1 PUSH2 0x182C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER SWAP1 POP TIMESTAMP PUSH1 0x3 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x6 SLOAD PUSH2 0x2C0 SWAP2 SWAP1 PUSH2 0x1972 JUMP JUMPDEST GT ISZERO PUSH2 0x301 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2F8 SWAP1 PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x385 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37C SWAP1 PUSH2 0x17EC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x40A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH2 0x414 DUP2 PUSH2 0x87A JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4A4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x49B SWAP1 PUSH2 0x17AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 CALLVALUE EQ DUP1 ISZERO PUSH2 0x4B5 JUMPI POP PUSH1 0x7 SLOAD CALLVALUE LT ISZERO JUMPDEST PUSH2 0x4F4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4EB SWAP1 PUSH2 0x180C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x500 DUP5 DUP5 PUSH2 0xBE4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x50E DUP3 DUP5 PUSH2 0xC9B JUMP JUMPDEST SWAP1 POP DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x57E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x575 SWAP1 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x588 DUP2 CALLVALUE PUSH2 0xD6B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x61F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x616 SWAP1 PUSH2 0x17CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6F3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6EA SWAP1 PUSH2 0x17CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x77F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x776 SWAP1 PUSH2 0x184C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT ISZERO PUSH2 0x84E JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x84C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH2 0x857 DUP2 PUSH2 0x87A JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 DUP1 SLOAD SWAP1 POP PUSH2 0x88F SWAP2 SWAP1 PUSH2 0x1C67 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x8A0 JUMPI PUSH2 0x89F PUSH2 0x1EC4 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x94D JUMPI PUSH1 0x0 DUP1 SLOAD DUP1 PUSH2 0x913 JUMPI PUSH2 0x912 PUSH2 0x1E95 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE SWAP1 SSTORE PUSH2 0xAB4 JUMP JUMPDEST DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT PUSH2 0x9A1 JUMPI PUSH2 0x9A0 PUSH2 0x1EC4 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD DUP1 PUSH2 0xA7E JUMPI PUSH2 0xA7D PUSH2 0x1E95 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE SWAP1 SSTORE JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x2197AAB07ADAB5361EDB74A7F3ECF4BA176C89F4CD896F45CA0A0313B12A157A TIMESTAMP PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD PUSH2 0xB3B SWAP3 SWAP2 SWAP1 PUSH2 0x18CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBF0 DUP4 PUSH2 0xFAB JUMP JUMPDEST PUSH2 0xBF9 DUP6 PUSH2 0x110C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC0A SWAP3 SWAP2 SWAP1 PUSH2 0x16E0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH1 0x0 DUP2 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC76 SWAP3 SWAP2 SWAP1 PUSH2 0x16B8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x41 DUP6 MLOAD EQ PUSH2 0xCB6 JUMPI PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0xD65 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP3 POP PUSH1 0x40 DUP6 ADD MLOAD SWAP2 POP PUSH1 0xFF PUSH1 0x41 DUP7 ADD MLOAD AND SWAP1 POP PUSH1 0x1B DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0xCEA JUMPI PUSH1 0x1B DUP2 PUSH2 0xCE7 SWAP2 SWAP1 PUSH2 0x19C8 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1C DUP2 PUSH1 0xFF AND EQ DUP1 PUSH2 0xCFF JUMPI POP PUSH1 0x1B DUP2 PUSH1 0xFF AND EQ JUMPDEST ISZERO PUSH2 0xD5D JUMPI PUSH1 0x1 DUP7 DUP3 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD27 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1767 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD49 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP4 POP POP POP POP PUSH2 0xD65 JUMP JUMPDEST PUSH1 0x0 SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0xE65 JUMPI PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP PUSH1 0x0 DUP4 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST TIMESTAMP PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xEF8 SWAP2 SWAP1 PUSH2 0x1972 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x6FAC2CBDFC6014AEB742F8D066481595055698C3A27D92455D9A4944F3608850 TIMESTAMP DUP4 PUSH1 0x40 MLOAD PUSH2 0xF9F SWAP3 SWAP2 SWAP1 PUSH2 0x18CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP3 EQ ISZERO PUSH2 0xFF3 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x1107 JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x0 DUP3 EQ PUSH2 0x1025 JUMPI DUP1 DUP1 PUSH2 0x100E SWAP1 PUSH2 0x1DB3 JUMP JUMPDEST SWAP2 POP POP PUSH1 0xA DUP3 PUSH2 0x101E SWAP2 SWAP1 PUSH2 0x19FF JUMP JUMPDEST SWAP2 POP PUSH2 0xFFB JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1041 JUMPI PUSH2 0x1040 PUSH2 0x1EF3 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1073 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST PUSH1 0x0 DUP6 EQ PUSH2 0x1100 JUMPI PUSH1 0x1 DUP3 PUSH2 0x108C SWAP2 SWAP1 PUSH2 0x1C67 JUMP JUMPDEST SWAP2 POP PUSH1 0xA DUP6 PUSH2 0x109B SWAP2 SWAP1 PUSH2 0x1E06 JUMP JUMPDEST PUSH1 0x30 PUSH2 0x10A7 SWAP2 SWAP1 PUSH2 0x1972 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x10BD JUMPI PUSH2 0x10BC PUSH2 0x1EC4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xA DUP6 PUSH2 0x10F9 SWAP2 SWAP1 PUSH2 0x19FF JUMP JUMPDEST SWAP5 POP PUSH2 0x1077 JUMP JUMPDEST DUP1 SWAP4 POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x28 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x112B JUMPI PUSH2 0x112A PUSH2 0x1EF3 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x115D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x14 DUP2 LT ISZERO PUSH2 0x12C5 JUMPI PUSH1 0x0 DUP2 PUSH1 0x13 PUSH2 0x117B SWAP2 SWAP1 PUSH2 0x1C67 JUMP JUMPDEST PUSH1 0x8 PUSH2 0x1187 SWAP2 SWAP1 PUSH2 0x1BD2 JUMP JUMPDEST PUSH1 0x2 PUSH2 0x1193 SWAP2 SWAP1 PUSH2 0x1AB4 JUMP JUMPDEST DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x11B4 SWAP2 SWAP1 PUSH2 0x19FF JUMP JUMPDEST PUSH1 0xF8 SHL SWAP1 POP PUSH1 0x0 PUSH1 0x10 DUP3 PUSH1 0xF8 SHR PUSH2 0x11CB SWAP2 SWAP1 PUSH2 0x1A30 JUMP JUMPDEST PUSH1 0xF8 SHL SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xF8 SHR PUSH1 0x10 PUSH2 0x11E2 SWAP2 SWAP1 PUSH2 0x1C2C JUMP JUMPDEST DUP4 PUSH1 0xF8 SHR PUSH2 0x11F0 SWAP2 SWAP1 PUSH2 0x1C9B JUMP JUMPDEST PUSH1 0xF8 SHL SWAP1 POP PUSH2 0x11FE DUP3 PUSH2 0x12CF JUMP JUMPDEST DUP6 DUP6 PUSH1 0x2 PUSH2 0x120C SWAP2 SWAP1 PUSH2 0x1BD2 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x121D JUMPI PUSH2 0x121C PUSH2 0x1EC4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x1255 DUP2 PUSH2 0x12CF JUMP JUMPDEST DUP6 PUSH1 0x1 DUP7 PUSH1 0x2 PUSH2 0x1265 SWAP2 SWAP1 PUSH2 0x1BD2 JUMP JUMPDEST PUSH2 0x126F SWAP2 SWAP1 PUSH2 0x1972 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x1280 JUMPI PUSH2 0x127F PUSH2 0x1EC4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP POP POP POP DUP1 DUP1 PUSH2 0x12BD SWAP1 PUSH2 0x1DB3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1163 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP3 PUSH1 0xF8 SHR PUSH1 0xFF AND LT ISZERO PUSH2 0x12FA JUMPI PUSH1 0x30 DUP3 PUSH1 0xF8 SHR PUSH2 0x12F0 SWAP2 SWAP1 PUSH2 0x19C8 JUMP JUMPDEST PUSH1 0xF8 SHL SWAP1 POP PUSH2 0x1310 JUMP JUMPDEST PUSH1 0x57 DUP3 PUSH1 0xF8 SHR PUSH2 0x130A SWAP2 SWAP1 PUSH2 0x19C8 JUMP JUMPDEST PUSH1 0xF8 SHL SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1328 PUSH2 0x1323 DUP5 PUSH2 0x191A JUMP JUMPDEST PUSH2 0x18F5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1344 JUMPI PUSH2 0x1343 PUSH2 0x1F27 JUMP JUMPDEST JUMPDEST PUSH2 0x134F DUP5 DUP3 DUP6 PUSH2 0x1D40 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1366 DUP2 PUSH2 0x2183 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1381 JUMPI PUSH2 0x1380 PUSH2 0x1F22 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1391 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1315 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x13A9 DUP2 PUSH2 0x219A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13C5 JUMPI PUSH2 0x13C4 PUSH2 0x1F31 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13D3 DUP5 DUP3 DUP6 ADD PUSH2 0x1357 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x13F5 JUMPI PUSH2 0x13F4 PUSH2 0x1F31 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1403 DUP7 DUP3 DUP8 ADD PUSH2 0x1357 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1414 DUP7 DUP3 DUP8 ADD PUSH2 0x139A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1435 JUMPI PUSH2 0x1434 PUSH2 0x1F2C JUMP JUMPDEST JUMPDEST PUSH2 0x1441 DUP7 DUP3 DUP8 ADD PUSH2 0x136C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1461 JUMPI PUSH2 0x1460 PUSH2 0x1F31 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x146F DUP5 DUP3 DUP6 ADD PUSH2 0x139A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1481 DUP2 PUSH2 0x1CE1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1490 DUP2 PUSH2 0x1CF3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x149F DUP2 PUSH2 0x1CFF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x14B6 PUSH2 0x14B1 DUP3 PUSH2 0x1CFF JUMP JUMPDEST PUSH2 0x1DFC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14C7 DUP3 PUSH2 0x194B JUMP JUMPDEST PUSH2 0x14D1 DUP2 DUP6 PUSH2 0x1956 JUMP JUMPDEST SWAP4 POP PUSH2 0x14E1 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1D4F JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x492077616E7420746F207374616B652000000000000000000000000000000000 DUP2 MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1520 PUSH1 0x2A DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x152B DUP3 PUSH2 0x1F54 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1543 PUSH1 0x31 DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x154E DUP3 PUSH2 0x1FA3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP JUMP JUMPDEST PUSH32 0x2053505620636F696E20746F20746573746E65742066726F6D20307800000000 DUP2 MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B2 PUSH1 0x15 DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x15BD DUP3 PUSH2 0x1FF2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15D5 PUSH1 0xD DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x15E0 DUP3 PUSH2 0x201B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15F8 PUSH1 0x21 DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x1603 DUP3 PUSH2 0x2044 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x161B PUSH1 0x1B DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x1626 DUP3 PUSH2 0x2093 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x163E PUSH1 0x22 DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x1649 DUP3 PUSH2 0x20BC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1661 PUSH1 0x1C DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x166C DUP3 PUSH2 0x210B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1684 PUSH1 0x2B DUP4 PUSH2 0x1961 JUMP JUMPDEST SWAP2 POP PUSH2 0x168F DUP3 PUSH2 0x2134 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16A3 DUP2 PUSH2 0x1D29 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x16B2 DUP2 PUSH2 0x1D33 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16C4 DUP3 DUP6 PUSH2 0x14BC JUMP JUMPDEST SWAP2 POP PUSH2 0x16D0 DUP3 DUP5 PUSH2 0x14A5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16EB DUP3 PUSH2 0x14ED JUMP JUMPDEST PUSH1 0x10 DUP3 ADD SWAP2 POP PUSH2 0x16FB DUP3 DUP6 PUSH2 0x14BC JUMP JUMPDEST SWAP2 POP PUSH2 0x1706 DUP3 PUSH2 0x157F JUMP JUMPDEST PUSH1 0x1C DUP3 ADD SWAP2 POP PUSH2 0x1716 DUP3 DUP5 PUSH2 0x14BC JUMP JUMPDEST SWAP2 POP PUSH2 0x1721 DUP3 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1746 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1478 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1761 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1487 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x177C PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1496 JUMP JUMPDEST PUSH2 0x1789 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x16A9 JUMP JUMPDEST PUSH2 0x1796 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1496 JUMP JUMPDEST PUSH2 0x17A3 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1496 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x17C5 DUP2 PUSH2 0x1513 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x17E5 DUP2 PUSH2 0x1536 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1805 DUP2 PUSH2 0x15A5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1825 DUP2 PUSH2 0x15C8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1845 DUP2 PUSH2 0x15EB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1865 DUP2 PUSH2 0x160E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1885 DUP2 PUSH2 0x1631 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x18A5 DUP2 PUSH2 0x1654 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x18C5 DUP2 PUSH2 0x1677 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x18E1 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x169A JUMP JUMPDEST PUSH2 0x18EE PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x169A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18FF PUSH2 0x1910 JUMP JUMPDEST SWAP1 POP PUSH2 0x190B DUP3 DUP3 PUSH2 0x1D82 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1935 JUMPI PUSH2 0x1934 PUSH2 0x1EF3 JUMP JUMPDEST JUMPDEST PUSH2 0x193E DUP3 PUSH2 0x1F36 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x197D DUP3 PUSH2 0x1D29 JUMP JUMPDEST SWAP2 POP PUSH2 0x1988 DUP4 PUSH2 0x1D29 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x19BD JUMPI PUSH2 0x19BC PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19D3 DUP3 PUSH2 0x1D33 JUMP JUMPDEST SWAP2 POP PUSH2 0x19DE DUP4 PUSH2 0x1D33 JUMP JUMPDEST SWAP3 POP DUP3 PUSH1 0xFF SUB DUP3 GT ISZERO PUSH2 0x19F4 JUMPI PUSH2 0x19F3 PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A0A DUP3 PUSH2 0x1D29 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A15 DUP4 PUSH2 0x1D29 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1A25 JUMPI PUSH2 0x1A24 PUSH2 0x1E66 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A3B DUP3 PUSH2 0x1D33 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A46 DUP4 PUSH2 0x1D33 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1A56 JUMPI PUSH2 0x1A55 PUSH2 0x1E66 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH2 0x1AAB JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH2 0x1A87 JUMPI PUSH2 0x1A86 PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x1A96 JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH2 0x1AA4 DUP6 PUSH2 0x1F47 JUMP JUMPDEST SWAP5 POP PUSH2 0x1A6B JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ABF DUP3 PUSH2 0x1D29 JUMP JUMPDEST SWAP2 POP PUSH2 0x1ACA DUP4 PUSH2 0x1D29 JUMP JUMPDEST SWAP3 POP PUSH2 0x1AF7 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH2 0x1AFF JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1B0F JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x1BCB JUMP JUMPDEST DUP2 PUSH2 0x1B1D JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x1BCB JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1B33 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x1B3D JUMPI PUSH2 0x1B6C JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x1BCB JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1B4F JUMPI PUSH2 0x1B4E PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x1B66 JUMPI PUSH2 0x1B65 PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST POP PUSH2 0x1BCB JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x1BA1 JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH2 0x1B9C JUMPI PUSH2 0x1B9B PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST PUSH2 0x1BCB JUMP JUMPDEST PUSH2 0x1BAE DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x1A61 JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH2 0x1BC5 JUMPI PUSH2 0x1BC4 PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BDD DUP3 PUSH2 0x1D29 JUMP JUMPDEST SWAP2 POP PUSH2 0x1BE8 DUP4 PUSH2 0x1D29 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1C21 JUMPI PUSH2 0x1C20 PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C37 DUP3 PUSH2 0x1D33 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C42 DUP4 PUSH2 0x1D33 JUMP JUMPDEST SWAP3 POP DUP2 PUSH1 0xFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1C5C JUMPI PUSH2 0x1C5B PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C72 DUP3 PUSH2 0x1D29 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C7D DUP4 PUSH2 0x1D29 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1C90 JUMPI PUSH2 0x1C8F PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CA6 DUP3 PUSH2 0x1D33 JUMP JUMPDEST SWAP2 POP PUSH2 0x1CB1 DUP4 PUSH2 0x1D33 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1CC4 JUMPI PUSH2 0x1CC3 PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CDA DUP3 PUSH2 0x1D09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CEC DUP3 PUSH2 0x1D09 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1D6D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1D52 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1D7C JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x1D8B DUP3 PUSH2 0x1F36 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1DAA JUMPI PUSH2 0x1DA9 PUSH2 0x1EF3 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DBE DUP3 PUSH2 0x1D29 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1DF1 JUMPI PUSH2 0x1DF0 PUSH2 0x1E37 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E11 DUP3 PUSH2 0x1D29 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E1C DUP4 PUSH2 0x1D29 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1E2C JUMPI PUSH2 0x1E2B PUSH2 0x1E66 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x5354414B45523A20414C52454144592056414C494441544F5220545259204445 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x504F534954204D4F524500000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5354414B45523A204F6E6C7920626C61636B6C69737465722063616E20616363 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x65737320746869732066756E6374696F6E000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5354414B45523A204C455353205448414E204D494E0000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4C455353205448414E204D494E00000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5354414B45523A20746865726573206F6E6C79206F6E652076616C696461746F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5354414B45523A20497473206E6F7420612076616C696461746F720000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5354414B45523A204F6E6C792076616C696461746F722063616E20756E737461 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6B65000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5354414B45523A205369676E6174757265204D6973736D617463682100000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5354414B45523A204D494E205354414B494E472054494D45204E4F5420434F4D PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x504C455445442059455421000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x218C DUP2 PUSH2 0x1CCF JUMP JUMPDEST DUP2 EQ PUSH2 0x2197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x21A3 DUP2 PUSH2 0x1D29 JUMP JUMPDEST DUP2 EQ PUSH2 0x21AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xFB 0xC4 LOG4 0x1F OR 0xAD 0xB2 DUP7 DUP14 SIGNEXTEND 0x28 0xDF 0xD 0xB0 SDIV 0xEB EQ CHAINID PUSH20 0x99D8281B88BFC6C66541CBC66B64736F6C634300 ADDMOD SMOD STOP CALLER ", | |
| "sourceMap": "2052:5705:0:-:0;;;2591:1;2561:32;;;;;;;;;;;;;;;;;;;;2660:2;2636:26;;2828:14;2804:38;;3132:56;;;;;;;;;;3170:10;3156:11;;:24;;;;;;;;;;;;;;;;;;2052:5705;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@addAValidator_347": { | |
| "entryPoint": 3435, | |
| "id": 347, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "@blacklist_566": { | |
| "entryPoint": 1635, | |
| "id": 566, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@char_723": { | |
| "entryPoint": 4815, | |
| "id": 723, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@constructHash_778": { | |
| "entryPoint": 3044, | |
| "id": 778, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "@deposit_476": { | |
| "entryPoint": 1047, | |
| "id": 476, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "@isValidator_237": { | |
| "entryPoint": 2138, | |
| "id": 237, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@recover_841": { | |
| "entryPoint": 3227, | |
| "id": 841, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "@removeAValidator_418": { | |
| "entryPoint": 2170, | |
| "id": 418, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@toAsciiString_688": { | |
| "entryPoint": 4364, | |
| "id": 688, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@toString_84": { | |
| "entryPoint": 4011, | |
| "id": 84, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@updateBlacklister_578": { | |
| "entryPoint": 1423, | |
| "id": 578, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@validators_221": { | |
| "entryPoint": 345, | |
| "id": 221, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@withdraw_530": { | |
| "entryPoint": 408, | |
| "id": 530, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_available_length_t_bytes_memory_ptr": { | |
| "entryPoint": 4885, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_address": { | |
| "entryPoint": 4951, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_bytes_memory_ptr": { | |
| "entryPoint": 4972, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 5018, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_address": { | |
| "entryPoint": 5039, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptr": { | |
| "entryPoint": 5084, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 3 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 5195, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_address_payable_to_t_address_payable_fromStack": { | |
| "entryPoint": 5240, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_bool_to_t_bool_fromStack": { | |
| "entryPoint": 5255, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
| "entryPoint": 5270, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { | |
| "entryPoint": 5285, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { | |
| "entryPoint": 5308, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_0f2f415d90c1165e49b7a18f74ea9caed108d571151d9ec78105d71afda7aed0_to_t_bytes16_nonPadded_inplace_fromStack": { | |
| "entryPoint": 5357, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_stringliteral_1793f1f494a0a6eb478024c3bf95642ba404af6573e9d963da4df32c3668c420_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5395, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_549766e37fb76825b43140cb090214f605509cd03433d42650f8b40cf7fbdca8_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5430, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_bytes1_nonPadded_inplace_fromStack": { | |
| "entryPoint": 5465, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_stringliteral_86e751d2d4f8197e60883947000a5ee29737993b1066d97887d6291d6bc9c722_to_t_bytes28_nonPadded_inplace_fromStack": { | |
| "entryPoint": 5503, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_stringliteral_b47c7637a4407ea03fcce338b1a5f2ac69011abb9c9f61d1a8193f34023affd3_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5541, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_be543c726d1ac3b2f023cc9bd06b4baded34fc8669be92329daf4fe88825f1e0_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5576, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_cb27c883a760f2cf2918e93417613237636b0a5bba784fd1128242f31aea7aa5_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5611, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_d0b7ee6406663bc177e547798f6f42179df88aa9ac2518d706deba6762e7725b_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5646, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_d2ed9207d169a4192747c1ad66cb700c91f9e0cd546dfc8540a7c379a333ad7a_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5681, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_e8c576f00b297ad2fa50ae2855c3215e81d1612f9722bca61158b728350a994d_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5716, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_f8dff71e0371e115c2cfffc27e01b97d40e2a785797edcb0228c12542a1f8f98_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 5751, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 5786, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_uint8_to_t_uint8_fromStack": { | |
| "entryPoint": 5801, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed": { | |
| "entryPoint": 5816, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_packed_t_stringliteral_0f2f415d90c1165e49b7a18f74ea9caed108d571151d9ec78105d71afda7aed0_t_bytes_memory_ptr_t_stringliteral_86e751d2d4f8197e60883947000a5ee29737993b1066d97887d6291d6bc9c722_t_bytes_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf__to_t_bytes16_t_bytes_memory_ptr_t_bytes28_t_bytes_memory_ptr_t_bytes1__nonPadded_inplace_fromStack_reversed": { | |
| "entryPoint": 5856, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": { | |
| "entryPoint": 5937, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { | |
| "entryPoint": 5964, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed": { | |
| "entryPoint": 5991, | |
| "id": null, | |
| "parameterSlots": 5, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_1793f1f494a0a6eb478024c3bf95642ba404af6573e9d963da4df32c3668c420__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6060, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_549766e37fb76825b43140cb090214f605509cd03433d42650f8b40cf7fbdca8__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6092, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_b47c7637a4407ea03fcce338b1a5f2ac69011abb9c9f61d1a8193f34023affd3__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6124, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_be543c726d1ac3b2f023cc9bd06b4baded34fc8669be92329daf4fe88825f1e0__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6156, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_cb27c883a760f2cf2918e93417613237636b0a5bba784fd1128242f31aea7aa5__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6188, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_d0b7ee6406663bc177e547798f6f42179df88aa9ac2518d706deba6762e7725b__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6220, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_d2ed9207d169a4192747c1ad66cb700c91f9e0cd546dfc8540a7c379a333ad7a__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6252, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_e8c576f00b297ad2fa50ae2855c3215e81d1612f9722bca61158b728350a994d__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6284, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_f8dff71e0371e115c2cfffc27e01b97d40e2a785797edcb0228c12542a1f8f98__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6316, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": { | |
| "entryPoint": 6348, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_memory": { | |
| "entryPoint": 6389, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": 6416, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_allocation_size_t_bytes_memory_ptr": { | |
| "entryPoint": 6426, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_bytes_memory_ptr": { | |
| "entryPoint": 6475, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { | |
| "entryPoint": 6486, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6497, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_add_t_uint256": { | |
| "entryPoint": 6514, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_add_t_uint8": { | |
| "entryPoint": 6600, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_div_t_uint256": { | |
| "entryPoint": 6655, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_div_t_uint8": { | |
| "entryPoint": 6704, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_exp_helper": { | |
| "entryPoint": 6753, | |
| "id": null, | |
| "parameterSlots": 4, | |
| "returnSlots": 2 | |
| }, | |
| "checked_exp_t_uint256_t_uint256": { | |
| "entryPoint": 6836, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_exp_unsigned": { | |
| "entryPoint": 6911, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "checked_mul_t_uint256": { | |
| "entryPoint": 7122, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_mul_t_uint8": { | |
| "entryPoint": 7212, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_sub_t_uint256": { | |
| "entryPoint": 7271, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_sub_t_uint8": { | |
| "entryPoint": 7323, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address": { | |
| "entryPoint": 7375, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address_payable": { | |
| "entryPoint": 7393, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_bool": { | |
| "entryPoint": 7411, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_bytes32": { | |
| "entryPoint": 7423, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint160": { | |
| "entryPoint": 7433, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 7465, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint8": { | |
| "entryPoint": 7475, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_calldata_to_memory": { | |
| "entryPoint": 7488, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 7503, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "finalize_allocation": { | |
| "entryPoint": 7554, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "increment_t_uint256": { | |
| "entryPoint": 7603, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_bytes32": { | |
| "entryPoint": 7676, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "mod_t_uint256": { | |
| "entryPoint": 7686, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x11": { | |
| "entryPoint": 7735, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x12": { | |
| "entryPoint": 7782, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x31": { | |
| "entryPoint": 7829, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x32": { | |
| "entryPoint": 7876, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 7923, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
| "entryPoint": 7970, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
| "entryPoint": 7975, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": 7980, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 7985, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 7990, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "shift_right_1_unsigned": { | |
| "entryPoint": 8007, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "store_literal_in_memory_1793f1f494a0a6eb478024c3bf95642ba404af6573e9d963da4df32c3668c420": { | |
| "entryPoint": 8020, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_549766e37fb76825b43140cb090214f605509cd03433d42650f8b40cf7fbdca8": { | |
| "entryPoint": 8099, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_b47c7637a4407ea03fcce338b1a5f2ac69011abb9c9f61d1a8193f34023affd3": { | |
| "entryPoint": 8178, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_be543c726d1ac3b2f023cc9bd06b4baded34fc8669be92329daf4fe88825f1e0": { | |
| "entryPoint": 8219, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_cb27c883a760f2cf2918e93417613237636b0a5bba784fd1128242f31aea7aa5": { | |
| "entryPoint": 8260, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_d0b7ee6406663bc177e547798f6f42179df88aa9ac2518d706deba6762e7725b": { | |
| "entryPoint": 8339, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_d2ed9207d169a4192747c1ad66cb700c91f9e0cd546dfc8540a7c379a333ad7a": { | |
| "entryPoint": 8380, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_e8c576f00b297ad2fa50ae2855c3215e81d1612f9722bca61158b728350a994d": { | |
| "entryPoint": 8459, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_f8dff71e0371e115c2cfffc27e01b97d40e2a785797edcb0228c12542a1f8f98": { | |
| "entryPoint": 8500, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_address": { | |
| "entryPoint": 8579, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 8602, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:25374:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "90:327:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "100:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "166:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_allocation_size_t_bytes_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "125:40:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "125:48:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "allocate_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "109:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "109:65:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "100:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "190:5:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "197:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "183:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "183:21:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "183:21:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "213:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "228:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "235:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "224:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "224:16:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "217:3:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "278:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulIdentifier", | |
| "src": "280:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "280:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "280:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "259:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "264:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "255:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "255:16:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "273:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "252:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "252:25:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "249:112:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "394:3:1" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "399:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "404:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_calldata_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "370:23:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "370:41:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "370:41:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_available_length_t_bytes_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "63:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "68:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "76:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "84:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:410:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "475:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "485:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "507:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "494:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "494:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "485:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "550:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "523:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "523:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "523:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "453:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "461:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "469:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "423:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "642:277:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "691:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulIdentifier", | |
| "src": "693:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "693:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "693:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "670:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "678:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "666:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "666:17:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "685:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "662:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "662:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "655:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "655:35:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "652:122:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "783:34:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "810:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "797:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "797:20:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "787:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "826:87:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "886:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "894:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "882:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "882:17:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "901:6:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "909:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_available_length_t_bytes_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "835:46:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "835:78:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "826:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_bytes_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "620:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "628:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "636:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "581:338:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "977:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "987:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1009:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "996:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "996:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "987:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1052:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1025:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1025:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1025:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "955:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "963:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "971:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "925:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1136:263:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1182:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "1184:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1184:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1184:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1157:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1166:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1153:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1153:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1178:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1149:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1149:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1146:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1275:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1290:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1304:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1294:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1319:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1354:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1365:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1350:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1350:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1374:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "1329:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1329:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1319:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1106:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "1117:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1129:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1070:329:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1514:688:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1560:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "1562:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1562:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1562:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1535:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1544:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1531:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1531:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1556:2:1", | |
| "type": "", | |
| "value": "96" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1527:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1527:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1524:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1653:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1668:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1682:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1672:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1697:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1732:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1743:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1728:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1728:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1752:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "1707:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1707:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1697:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1780:118:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1795:16:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1809:2:1", | |
| "type": "", | |
| "value": "32" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1799:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1825:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1860:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1871:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1856:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1856:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1880:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1835:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1835:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1825:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1908:287:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1923:46:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1954:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1965:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1950:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1950:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1937:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1937:32:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1927:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2016:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulIdentifier", | |
| "src": "2018:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2018:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2018:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1988:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1996:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1985:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1985:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1982:117:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2113:72:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2157:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2168:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2153:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2153:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2177:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_bytes_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2123:29:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2123:62:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value2", | |
| "nodeType": "YulIdentifier", | |
| "src": "2113:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_addresst_uint256t_bytes_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1468:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "1479:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1491:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "1499:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value2", | |
| "nodeType": "YulTypedName", | |
| "src": "1507:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1405:797:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2274:263:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2320:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "2322:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2322:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2322:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2295:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2304:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "2291:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2291:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2316:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2287:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2287:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2284:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "2413:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2428:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2442:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2432:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2457:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2492:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2503:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2488:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2488:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2512:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2467:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2467:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2457:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "2244:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "2255:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "2267:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2208:329:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2624:61:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2641:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2672:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "2646:25:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2646:32:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2634:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2634:45:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2634:45:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2612:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2619:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2543:142:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2750:50:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2767:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2787:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bool", | |
| "nodeType": "YulIdentifier", | |
| "src": "2772:14:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2772:21:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2760:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2760:34:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2760:34:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bool_to_t_bool_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2738:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2745:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2691:109:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2871:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2888:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2911:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "2893:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2893:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2881:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2881:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2881:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2859:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2866:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2806:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3013:74:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3030:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3073:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "3055:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3055:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "3035:19:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3035:45:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3023:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3023:58:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3023:58:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3001:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3008:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2930:157:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3201:265:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3211:52:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3257:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_bytes_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3225:31:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3225:38:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3215:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3272:95:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3355:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3360:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "3279:75:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3279:88:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3272:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3402:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3409:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3398:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3398:16:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3416:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3421:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "3376:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3376:52:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3376:52:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3437:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3448:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3453:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3444:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3444:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "3437:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3182:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3189:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "3197:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3093:373:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3619:47:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3636:3:1" | |
| }, | |
| { | |
| "hexValue": "492077616e7420746f207374616b6520", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "3641:18:1", | |
| "type": "", | |
| "value": "I want to stake " | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3629:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3629:31:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3629:31:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_0f2f415d90c1165e49b7a18f74ea9caed108d571151d9ec78105d71afda7aed0_to_t_bytes16_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3614:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3472:194:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3818:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3828:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3894:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3899:2:1", | |
| "type": "", | |
| "value": "42" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "3835:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3835:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3828:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4000:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_1793f1f494a0a6eb478024c3bf95642ba404af6573e9d963da4df32c3668c420", | |
| "nodeType": "YulIdentifier", | |
| "src": "3911:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3911:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3911:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4013:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4024:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4029:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4020:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4020:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "4013:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_1793f1f494a0a6eb478024c3bf95642ba404af6573e9d963da4df32c3668c420_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3806:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "3814:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3672:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4190:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4200:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4266:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4271:2:1", | |
| "type": "", | |
| "value": "49" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "4207:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4207:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4200:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4372:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_549766e37fb76825b43140cb090214f605509cd03433d42650f8b40cf7fbdca8", | |
| "nodeType": "YulIdentifier", | |
| "src": "4283:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4283:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4283:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4385:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4396:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4401:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4392:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4392:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "4385:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_549766e37fb76825b43140cb090214f605509cd03433d42650f8b40cf7fbdca8_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4178:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "4186:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4044:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4562:32:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4579:3:1" | |
| }, | |
| { | |
| "hexValue": "2e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "4584:3:1", | |
| "type": "", | |
| "value": "." | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4572:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4572:16:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4572:16:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_bytes1_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4557:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4416:178:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4747:59:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4764:3:1" | |
| }, | |
| { | |
| "hexValue": "2053505620636f696e20746f20746573746e65742066726f6d203078", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "4769:30:1", | |
| "type": "", | |
| "value": " SPV coin to testnet from 0x" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4757:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4757:43:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4757:43:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_86e751d2d4f8197e60883947000a5ee29737993b1066d97887d6291d6bc9c722_to_t_bytes28_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4742:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4600:206:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4958:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4968:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5034:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5039:2:1", | |
| "type": "", | |
| "value": "21" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "4975:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4975:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4968:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5140:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_b47c7637a4407ea03fcce338b1a5f2ac69011abb9c9f61d1a8193f34023affd3", | |
| "nodeType": "YulIdentifier", | |
| "src": "5051:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5051:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5051:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5153:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5164:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5169:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5160:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5160:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "5153:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_b47c7637a4407ea03fcce338b1a5f2ac69011abb9c9f61d1a8193f34023affd3_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4946:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "4954:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4812:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5330:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5340:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5406:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5411:2:1", | |
| "type": "", | |
| "value": "13" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "5347:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5347:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5340:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5512:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_be543c726d1ac3b2f023cc9bd06b4baded34fc8669be92329daf4fe88825f1e0", | |
| "nodeType": "YulIdentifier", | |
| "src": "5423:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5423:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5423:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5525:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5536:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5541:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5532:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5532:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "5525:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_be543c726d1ac3b2f023cc9bd06b4baded34fc8669be92329daf4fe88825f1e0_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5318:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "5326:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5184:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5702:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5712:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5778:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5783:2:1", | |
| "type": "", | |
| "value": "33" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "5719:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5719:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5712:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5884:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_cb27c883a760f2cf2918e93417613237636b0a5bba784fd1128242f31aea7aa5", | |
| "nodeType": "YulIdentifier", | |
| "src": "5795:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5795:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5795:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5897:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5908:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5913:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5904:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5904:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "5897:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_cb27c883a760f2cf2918e93417613237636b0a5bba784fd1128242f31aea7aa5_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5690:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "5698:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5556:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "6074:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6084:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6150:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6155:2:1", | |
| "type": "", | |
| "value": "27" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "6091:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6091:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6084:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6256:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_d0b7ee6406663bc177e547798f6f42179df88aa9ac2518d706deba6762e7725b", | |
| "nodeType": "YulIdentifier", | |
| "src": "6167:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6167:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6167:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6269:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6280:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6285:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6276:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6276:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "6269:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_d0b7ee6406663bc177e547798f6f42179df88aa9ac2518d706deba6762e7725b_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "6062:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "6070:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5928:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "6446:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6456:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6522:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6527:2:1", | |
| "type": "", | |
| "value": "34" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "6463:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6463:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6456:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6628:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_d2ed9207d169a4192747c1ad66cb700c91f9e0cd546dfc8540a7c379a333ad7a", | |
| "nodeType": "YulIdentifier", | |
| "src": "6539:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6539:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6539:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6641:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6652:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6657:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6648:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6648:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "6641:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_d2ed9207d169a4192747c1ad66cb700c91f9e0cd546dfc8540a7c379a333ad7a_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "6434:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "6442:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "6300:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "6818:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6828:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6894:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6899:2:1", | |
| "type": "", | |
| "value": "28" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "6835:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6835:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6828:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7000:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_e8c576f00b297ad2fa50ae2855c3215e81d1612f9722bca61158b728350a994d", | |
| "nodeType": "YulIdentifier", | |
| "src": "6911:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6911:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6911:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7013:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7024:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7029:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "7020:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7020:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "7013:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_e8c576f00b297ad2fa50ae2855c3215e81d1612f9722bca61158b728350a994d_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "6806:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "6814:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "6672:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7190:220:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7200:74:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7266:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7271:2:1", | |
| "type": "", | |
| "value": "43" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "7207:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7207:67:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7200:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7372:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_f8dff71e0371e115c2cfffc27e01b97d40e2a785797edcb0228c12542a1f8f98", | |
| "nodeType": "YulIdentifier", | |
| "src": "7283:88:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7283:93:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7283:93:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7385:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7396:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7401:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "7392:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7392:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "7385:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_f8dff71e0371e115c2cfffc27e01b97d40e2a785797edcb0228c12542a1f8f98_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "7178:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "7186:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7044:366:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7481:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7498:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7521:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "7503:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7503:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "7491:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7491:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7491:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7469:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "7476:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7416:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7601:51:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7618:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7639:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "7623:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7623:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "7611:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7611:35:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7611:35:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint8_to_t_uint8_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7589:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "7596:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7540:112:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7820:250:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7831:100:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "7918:6:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7927:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "7838:79:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7838:93:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7831:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "8003:6:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8012:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "7941:61:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7941:75:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7941:75:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8025:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8036:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8041:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "8032:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8032:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8025:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8054:10:1", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8061:3:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "8054:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "7791:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "7797:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "7805:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "7816:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7658:412:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8528:773:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8673:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_0f2f415d90c1165e49b7a18f74ea9caed108d571151d9ec78105d71afda7aed0_to_t_bytes16_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "8539:132:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8539:138:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8539:138:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8686:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8697:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8702:2:1", | |
| "type": "", | |
| "value": "16" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "8693:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8693:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8686:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8715:100:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "8802:6:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8811:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "8722:79:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8722:93:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8715:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8959:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_86e751d2d4f8197e60883947000a5ee29737993b1066d97887d6291d6bc9c722_to_t_bytes28_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "8825:132:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8825:138:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8825:138:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8972:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8983:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8988:2:1", | |
| "type": "", | |
| "value": "28" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "8979:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8979:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8972:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9001:100:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "9088:6:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "9097:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "9008:79:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9008:93:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "9001:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "9244:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_bytes1_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "9111:131:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9111:137:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9111:137:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9257:18:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "9268:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9273:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9264:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9264:11:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "9257:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9285:10:1", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "9292:3:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "9285:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_packed_t_stringliteral_0f2f415d90c1165e49b7a18f74ea9caed108d571151d9ec78105d71afda7aed0_t_bytes_memory_ptr_t_stringliteral_86e751d2d4f8197e60883947000a5ee29737993b1066d97887d6291d6bc9c722_t_bytes_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf__to_t_bytes16_t_bytes_memory_ptr_t_bytes28_t_bytes_memory_ptr_t_bytes1__nonPadded_inplace_fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "8499:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "8505:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "8513:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "8524:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8076:1225:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9421:140:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9431:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9443:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9454:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9439:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9439:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "9431:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "9527:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9540:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9551:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9536:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9536:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "9467:59:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9467:87:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9467:87:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "9393:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "9405:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "9416:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9307:254:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9659:118:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9669:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9681:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9692:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9677:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9677:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "9669:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "9743:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9756:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9767:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9752:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9752:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bool_to_t_bool_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "9705:37:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9705:65:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9705:65:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "9631:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "9643:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "9654:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9567:210:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9961:367:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9971:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9983:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9994:3:1", | |
| "type": "", | |
| "value": "128" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9979:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9979:19:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "9971:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "10052:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10065:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10076:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10061:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10061:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "10008:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10008:71:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10008:71:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "10129:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10142:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10153:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10138:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10138:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint8_to_t_uint8_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "10089:39:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10089:68:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10089:68:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value2", | |
| "nodeType": "YulIdentifier", | |
| "src": "10211:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10224:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10235:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10220:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10220:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "10167:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10167:72:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10167:72:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value3", | |
| "nodeType": "YulIdentifier", | |
| "src": "10293:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10306:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10317:2:1", | |
| "type": "", | |
| "value": "96" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10302:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10302:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "10249:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10249:72:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10249:72:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "9909:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value3", | |
| "nodeType": "YulTypedName", | |
| "src": "9921:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value2", | |
| "nodeType": "YulTypedName", | |
| "src": "9929:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "9937:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "9945:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "9956:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9783:545:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10505:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10515:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10527:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10538:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10523:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10523:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "10515:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10562:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10573:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10558:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10558:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "10581:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10587:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "10577:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10577:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10551:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10551:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10551:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10607:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "10741:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_1793f1f494a0a6eb478024c3bf95642ba404af6573e9d963da4df32c3668c420_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "10615:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10615:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "10607:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_1793f1f494a0a6eb478024c3bf95642ba404af6573e9d963da4df32c3668c420__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "10485:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "10500:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10334:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10930:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10940:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10952:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10963:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10948:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10948:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "10940:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "10987:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10998:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10983:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10983:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11006:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11012:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "11002:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11002:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10976:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10976:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10976:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11032:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11166:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_549766e37fb76825b43140cb090214f605509cd03433d42650f8b40cf7fbdca8_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "11040:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11040:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11032:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_549766e37fb76825b43140cb090214f605509cd03433d42650f8b40cf7fbdca8__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "10910:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "10925:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10759:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "11355:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11365:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11377:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11388:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11373:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11373:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11365:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11412:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11423:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11408:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11408:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11431:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11437:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "11427:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11427:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "11401:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11401:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11401:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11457:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11591:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_b47c7637a4407ea03fcce338b1a5f2ac69011abb9c9f61d1a8193f34023affd3_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "11465:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11465:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11457:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_b47c7637a4407ea03fcce338b1a5f2ac69011abb9c9f61d1a8193f34023affd3__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "11335:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "11350:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "11184:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "11780:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11790:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11802:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11813:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11798:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11798:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11790:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11837:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11848:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11833:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11833:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11856:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11862:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "11852:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11852:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "11826:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11826:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11826:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11882:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12016:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_be543c726d1ac3b2f023cc9bd06b4baded34fc8669be92329daf4fe88825f1e0_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "11890:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11890:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11882:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_be543c726d1ac3b2f023cc9bd06b4baded34fc8669be92329daf4fe88825f1e0__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "11760:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "11775:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "11609:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12205:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12215:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12227:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12238:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12223:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12223:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12215:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12262:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12273:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12258:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12258:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12281:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12287:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "12277:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12277:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "12251:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12251:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12251:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12307:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12441:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_cb27c883a760f2cf2918e93417613237636b0a5bba784fd1128242f31aea7aa5_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "12315:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12315:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12307:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_cb27c883a760f2cf2918e93417613237636b0a5bba784fd1128242f31aea7aa5__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "12185:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "12200:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12034:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12630:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12640:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12652:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12663:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12648:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12648:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12640:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12687:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12698:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12683:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12683:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12706:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12712:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "12702:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12702:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "12676:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12676:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12676:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12732:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12866:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_d0b7ee6406663bc177e547798f6f42179df88aa9ac2518d706deba6762e7725b_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "12740:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12740:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12732:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_d0b7ee6406663bc177e547798f6f42179df88aa9ac2518d706deba6762e7725b__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "12610:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "12625:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12459:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13055:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13065:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13077:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13088:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13073:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13073:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13065:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13112:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13123:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13108:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13108:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13131:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13137:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "13127:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13127:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "13101:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13101:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13101:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13157:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13291:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_d2ed9207d169a4192747c1ad66cb700c91f9e0cd546dfc8540a7c379a333ad7a_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "13165:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13165:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13157:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_d2ed9207d169a4192747c1ad66cb700c91f9e0cd546dfc8540a7c379a333ad7a__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "13035:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "13050:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12884:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13480:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13490:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13502:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13513:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13498:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13498:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13490:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13537:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13548:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13533:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13533:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13556:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13562:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "13552:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13552:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "13526:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13526:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13526:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13582:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13716:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_e8c576f00b297ad2fa50ae2855c3215e81d1612f9722bca61158b728350a994d_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "13590:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13590:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13582:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_e8c576f00b297ad2fa50ae2855c3215e81d1612f9722bca61158b728350a994d__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "13460:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "13475:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "13309:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13905:248:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13915:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13927:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13938:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13923:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13923:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13915:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13962:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13973:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13958:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13958:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13981:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13987:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "13977:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13977:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "13951:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13951:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13951:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14007:139:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14141:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_f8dff71e0371e115c2cfffc27e01b97d40e2a785797edcb0228c12542a1f8f98_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "14015:124:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14015:131:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14007:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_f8dff71e0371e115c2cfffc27e01b97d40e2a785797edcb0228c12542a1f8f98__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "13885:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "13900:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "13734:419:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14285:206:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14295:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14307:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14318:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14303:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14303:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14295:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "14375:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14388:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14399:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14384:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14384:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "14331:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14331:71:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14331:71:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "14456:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14469:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14480:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14465:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14465:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "14412:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14412:72:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14412:72:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "14249:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "14261:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "14269:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "14280:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14159:332:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14538:88:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14548:30:1", | |
| "value": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulIdentifier", | |
| "src": "14558:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14558:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "14548:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "14607:6:1" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "14615:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "finalize_allocation", | |
| "nodeType": "YulIdentifier", | |
| "src": "14587:19:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14587:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14587:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "allocate_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "14522:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "14531:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14497:129:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14672:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14682:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14698:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "14692:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14692:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "14682:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "14665:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14632:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14779:241:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14884:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "14886:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14886:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14886:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "14856:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14864:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "14853:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14853:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "14850:56:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14916:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "14946:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "14924:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14924:29:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "14916:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14990:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "15002:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15008:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14998:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14998:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "14990:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_allocation_size_t_bytes_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "14763:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "14774:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14713:307:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15084:40:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15095:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "15111:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "15105:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15105:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "15095:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_bytes_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "15067:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "15077:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15026:98:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15243:34:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15253:18:1", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15268:3:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15253:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "15215:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "15220:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "15231:11:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15130:147:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15379:73:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15396:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "15401:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "15389:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15389:19:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15389:19:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15417:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15436:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15441:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15432:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15432:14:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15417:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "15351:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "15356:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "15367:11:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15283:169:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15502:261:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15512:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "15535:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "15517:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15517:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "15512:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15546:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "15569:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "15551:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15551:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "15546:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15709:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "15711:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15711:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15711:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "15630:1:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15637:66:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "15705:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "15633:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15633:74:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "15627:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15627:81:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "15624:107:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15741:16:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "15752:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "15755:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15748:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15748:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "15741:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_add_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "15489:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "15492:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulTypedName", | |
| "src": "15498:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15458:305:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15811:195:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15821:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "15842:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "15826:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15826:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "15821:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15853:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "15874:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "15858:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15858:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "15853:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15952:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "15954:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15954:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15954:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "15935:1:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15942:4:1", | |
| "type": "", | |
| "value": "0xff" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "15948:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "15938:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15938:12:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "15932:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15932:19:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "15929:45:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15984:16:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "15995:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "15998:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15991:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15991:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "15984:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_add_t_uint8", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "15798:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "15801:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulTypedName", | |
| "src": "15807:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15769:237:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16054:143:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16064:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "16087:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "16069:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16069:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "16064:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16098:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "16121:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "16103:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16103:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "16098:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16145:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x12", | |
| "nodeType": "YulIdentifier", | |
| "src": "16147:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16147:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16147:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "16142:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "16135:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16135:9:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "16132:35:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16177:14:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "16186:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "16189:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "16182:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16182:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulIdentifier", | |
| "src": "16177:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_div_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "16043:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "16046:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulTypedName", | |
| "src": "16052:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16012:185:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16243:139:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16253:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "16274:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "16258:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16258:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "16253:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16285:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "16306:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "16290:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16290:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "16285:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16330:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x12", | |
| "nodeType": "YulIdentifier", | |
| "src": "16332:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16332:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16332:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "16327:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "16320:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16320:9:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "16317:35:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16362:14:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "16371:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "16374:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "16367:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16367:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulIdentifier", | |
| "src": "16362:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_div_t_uint8", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "16232:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "16235:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulTypedName", | |
| "src": "16241:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16203:179:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16461:775:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16471:15:1", | |
| "value": { | |
| "name": "_power", | |
| "nodeType": "YulIdentifier", | |
| "src": "16480:6:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "16471:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16495:14:1", | |
| "value": { | |
| "name": "_base", | |
| "nodeType": "YulIdentifier", | |
| "src": "16504:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "16495:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16553:677:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16641:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "16643:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16643:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16643:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "16619:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "max", | |
| "nodeType": "YulIdentifier", | |
| "src": "16629:3:1" | |
| }, | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "16634:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "16625:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16625:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "16616:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16616:24:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "16613:50:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16708:419:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17088:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "17101:5:1" | |
| }, | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17108:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "17097:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17097:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "17088:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "16683:8:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16693:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "16679:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16679:16:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "16676:451:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17140:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17152:4:1" | |
| }, | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17158:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "17148:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17148:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17140:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17176:44:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "17211:8:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_right_1_unsigned", | |
| "nodeType": "YulIdentifier", | |
| "src": "17188:22:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17188:32:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "17176:8:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "16529:8:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16539:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "16526:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16526:15:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "16542:2:1", | |
| "statements": [] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "16522:3:1", | |
| "statements": [] | |
| }, | |
| "src": "16518:712:1" | |
| } | |
| ] | |
| }, | |
| "name": "checked_exp_helper", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "_power", | |
| "nodeType": "YulTypedName", | |
| "src": "16416:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "_base", | |
| "nodeType": "YulTypedName", | |
| "src": "16424:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulTypedName", | |
| "src": "16431:8:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "max", | |
| "nodeType": "YulTypedName", | |
| "src": "16441:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulTypedName", | |
| "src": "16449:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "base", | |
| "nodeType": "YulTypedName", | |
| "src": "16456:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16388:848:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17308:219:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17318:31:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17344:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "17326:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17326:23:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17318:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17358:39:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "17388:8:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "17370:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17370:27:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "17358:8:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17407:113:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17437:4:1" | |
| }, | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "17443:8:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17453:66:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "checked_exp_unsigned", | |
| "nodeType": "YulIdentifier", | |
| "src": "17416:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17416:104:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "17407:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_exp_t_uint256_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulTypedName", | |
| "src": "17283:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulTypedName", | |
| "src": "17289:8:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulTypedName", | |
| "src": "17302:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17242:285:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17593:1013:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17788:20:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17790:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17799:1:1", | |
| "type": "", | |
| "value": "1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "17790:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulLeave", | |
| "src": "17801:5:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "17778:8:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "17771:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17771:16:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "17768:40:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17833:20:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17835:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17844:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "17835:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulLeave", | |
| "src": "17846:5:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17827:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "17820:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17820:12:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "17817:36:1" | |
| }, | |
| { | |
| "cases": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17963:20:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17965:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17974:1:1", | |
| "type": "", | |
| "value": "1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "17965:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulLeave", | |
| "src": "17976:5:1" | |
| } | |
| ] | |
| }, | |
| "nodeType": "YulCase", | |
| "src": "17956:27:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17961:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18007:176:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18042:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "18044:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18044:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18044:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "18027:8:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18037:3:1", | |
| "type": "", | |
| "value": "255" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18024:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18024:17:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "18021:43:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18077:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18090:1:1", | |
| "type": "", | |
| "value": "2" | |
| }, | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "18093:8:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "exp", | |
| "nodeType": "YulIdentifier", | |
| "src": "18086:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18086:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "18077:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18133:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "18135:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18135:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18135:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "18121:5:1" | |
| }, | |
| { | |
| "name": "max", | |
| "nodeType": "YulIdentifier", | |
| "src": "18128:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18118:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18118:14:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "18115:40:1" | |
| }, | |
| { | |
| "nodeType": "YulLeave", | |
| "src": "18168:5:1" | |
| } | |
| ] | |
| }, | |
| "nodeType": "YulCase", | |
| "src": "17992:191:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17997:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "17913:4:1" | |
| }, | |
| "nodeType": "YulSwitch", | |
| "src": "17906:277:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18315:123:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18329:28:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "18342:4:1" | |
| }, | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "18348:8:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "exp", | |
| "nodeType": "YulIdentifier", | |
| "src": "18338:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18338:19:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "18329:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18388:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "18390:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18390:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18390:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "18376:5:1" | |
| }, | |
| { | |
| "name": "max", | |
| "nodeType": "YulIdentifier", | |
| "src": "18383:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18373:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18373:14:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "18370:40:1" | |
| }, | |
| { | |
| "nodeType": "YulLeave", | |
| "src": "18423:5:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "18218:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18224:2:1", | |
| "type": "", | |
| "value": "11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18215:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18215:12:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "18232:8:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18242:2:1", | |
| "type": "", | |
| "value": "78" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18229:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18229:16:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "18211:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18211:35:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "18267:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18273:3:1", | |
| "type": "", | |
| "value": "307" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18264:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18264:13:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "18282:8:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18292:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18279:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18279:16:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "18260:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18260:36:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "18195:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18195:111:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "18192:246:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18448:57:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18482:1:1", | |
| "type": "", | |
| "value": "1" | |
| }, | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "18485:4:1" | |
| }, | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulIdentifier", | |
| "src": "18491:8:1" | |
| }, | |
| { | |
| "name": "max", | |
| "nodeType": "YulIdentifier", | |
| "src": "18501:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "checked_exp_helper", | |
| "nodeType": "YulIdentifier", | |
| "src": "18463:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18463:42:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "18448:5:1" | |
| }, | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "18455:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18544:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "18546:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18546:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18546:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "18521:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "max", | |
| "nodeType": "YulIdentifier", | |
| "src": "18532:3:1" | |
| }, | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "18537:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "18528:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18528:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18518:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18518:25:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "18515:51:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18575:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "18588:5:1" | |
| }, | |
| { | |
| "name": "base", | |
| "nodeType": "YulIdentifier", | |
| "src": "18595:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "18584:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18584:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulIdentifier", | |
| "src": "18575:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_exp_unsigned", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "base", | |
| "nodeType": "YulTypedName", | |
| "src": "17563:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "exponent", | |
| "nodeType": "YulTypedName", | |
| "src": "17569:8:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "max", | |
| "nodeType": "YulTypedName", | |
| "src": "17579:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "power", | |
| "nodeType": "YulTypedName", | |
| "src": "17587:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17533:1073:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18660:300:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18670:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "18693:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "18675:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18675:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "18670:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18704:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "18727:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "18709:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18709:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "18704:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18902:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "18904:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18904:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18904:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "18814:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "18807:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18807:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "18800:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18800:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "18822:1:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18829:66:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| }, | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "18897:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "18825:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18825:74:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18819:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18819:81:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "18796:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18796:105:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "18793:131:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18934:20:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "18949:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "18952:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "18945:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18945:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "product", | |
| "nodeType": "YulIdentifier", | |
| "src": "18934:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_mul_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "18643:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "18646:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "product", | |
| "nodeType": "YulTypedName", | |
| "src": "18652:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18612:348:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19012:234:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19022:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19043:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "19027:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19027:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19022:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19054:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19075:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "19059:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19059:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19054:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19188:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "19190:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19190:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19190:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19162:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "19155:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19155:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "19148:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19148:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19170:1:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19177:4:1", | |
| "type": "", | |
| "value": "0xff" | |
| }, | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19183:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "19173:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19173:12:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "19167:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19167:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "19144:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19144:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "19141:69:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19220:20:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19235:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19238:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "19231:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19231:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "product", | |
| "nodeType": "YulIdentifier", | |
| "src": "19220:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_mul_t_uint8", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "18995:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "18998:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "product", | |
| "nodeType": "YulTypedName", | |
| "src": "19004:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18966:280:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19297:146:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19307:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19330:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "19312:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19312:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19307:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19341:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19364:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "19346:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19346:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19341:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19388:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "19390:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19390:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19390:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19382:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19385:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "19379:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19379:8:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "19376:34:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19420:17:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19432:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19435:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "19428:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19428:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "diff", | |
| "nodeType": "YulIdentifier", | |
| "src": "19420:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_sub_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "19283:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "19286:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "diff", | |
| "nodeType": "YulTypedName", | |
| "src": "19292:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19252:191:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19492:142:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19502:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19523:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "19507:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19507:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19502:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19534:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19555:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "19539:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19539:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19534:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19579:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "19581:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19581:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19581:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19573:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19576:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "19570:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19570:8:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "19567:34:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19611:17:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19623:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19626:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "19619:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19619:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "diff", | |
| "nodeType": "YulIdentifier", | |
| "src": "19611:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_sub_t_uint8", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "19478:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "19481:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "diff", | |
| "nodeType": "YulTypedName", | |
| "src": "19487:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19449:185:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19685:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19695:35:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "19724:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "19706:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19706:24:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "19695:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "19667:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "19677:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19640:96:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19795:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19805:35:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "19834:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "19816:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19816:24:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "19805:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address_payable", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "19777:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "19787:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19742:104:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19894:48:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19904:32:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "19929:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "19922:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19922:13:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "19915:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19915:21:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "19904:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_bool", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "19876:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "19886:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19852:90:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19993:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20003:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "20014:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "20003:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "19975:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "19985:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19948:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20076:81:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20086:65:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "20101:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20108:42:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "20097:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20097:54:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "20086:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "20058:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "20068:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20031:126:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20208:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20218:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "20229:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "20218:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "20190:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "20200:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20163:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20289:43:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20299:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "20314:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20321:4:1", | |
| "type": "", | |
| "value": "0xff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "20310:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20310:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "20299:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint8", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "20271:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "20281:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20246:86:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20389:103:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "20412:3:1" | |
| }, | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "20417:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20422:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldatacopy", | |
| "nodeType": "YulIdentifier", | |
| "src": "20399:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20399:30:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20399:30:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "20470:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20475:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20466:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20466:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20484:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "20459:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20459:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20459:27:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_calldata_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "20371:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "20376:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "20381:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20338:154:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20547:258:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "20557:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20566:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "20561:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20626:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "20651:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20656:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20647:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20647:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "20670:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20675:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20666:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20666:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "20660:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20660:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "20640:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20640:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20640:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20587:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20590:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "20584:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20584:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "20598:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20600:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20609:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20612:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20605:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20605:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20600:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "20580:3:1", | |
| "statements": [] | |
| }, | |
| "src": "20576:113:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20723:76:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "20773:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20778:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20769:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20769:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20787:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "20762:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20762:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20762:27:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20704:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20707:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "20701:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20701:13:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "20698:101:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "20529:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "20534:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "20539:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20498:307:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20854:238:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "20864:58:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "20886:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "20916:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "20894:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20894:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20882:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20882:40:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulTypedName", | |
| "src": "20868:10:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21033:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "21035:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21035:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21035:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "20976:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20988:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "20973:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20973:34:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "21012:10:1" | |
| }, | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "21024:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "21009:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21009:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "20970:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20970:62:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "20967:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21071:2:1", | |
| "type": "", | |
| "value": "64" | |
| }, | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "21075:10:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21064:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21064:22:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21064:22:1" | |
| } | |
| ] | |
| }, | |
| "name": "finalize_allocation", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "20840:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "20848:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20811:281:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21141:190:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21151:33:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21178:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "21160:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21160:24:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21151:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21274:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "21276:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21276:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21276:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21199:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21206:66:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "21196:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21196:77:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "21193:103:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21305:20:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21316:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21323:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21312:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21312:13:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "21305:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "increment_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "21127:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "21137:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21098:233:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21384:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21394:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21405:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "21394:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "21366:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "21376:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21337:79:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21456:142:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21466:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "21489:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "21471:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21471:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "21466:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21500:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "21523:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "21505:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21505:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "21500:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21547:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x12", | |
| "nodeType": "YulIdentifier", | |
| "src": "21549:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21549:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21549:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "21544:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "21537:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21537:9:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "21534:35:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21578:14:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "21587:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "21590:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mod", | |
| "nodeType": "YulIdentifier", | |
| "src": "21583:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21583:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulIdentifier", | |
| "src": "21578:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "mod_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "21445:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "21448:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulTypedName", | |
| "src": "21454:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21422:176:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21632:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21649:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21652:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21642:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21642:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21642:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21746:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21749:4:1", | |
| "type": "", | |
| "value": "0x11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21739:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21739:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21739:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21770:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21773:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "21763:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21763:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21763:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "21604:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21818:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21835:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21838:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21828:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21828:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21828:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21932:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21935:4:1", | |
| "type": "", | |
| "value": "0x12" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21925:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21925:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21925:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21956:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21959:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "21949:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21949:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21949:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x12", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "21790:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22004:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22021:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22024:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "22014:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22014:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22014:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22118:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22121:4:1", | |
| "type": "", | |
| "value": "0x31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "22111:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22111:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22111:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22142:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22145:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "22135:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22135:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22135:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x31", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "21976:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22190:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22207:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22210:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "22200:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22200:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22200:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22304:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22307:4:1", | |
| "type": "", | |
| "value": "0x32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "22297:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22297:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22297:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22328:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22331:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "22321:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22321:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22321:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x32", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "22162:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22376:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22393:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22396:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "22386:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22386:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22386:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22490:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22493:4:1", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "22483:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22483:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22483:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22514:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22517:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "22507:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22507:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22507:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "22348:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22623:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22640:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22643:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "22633:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22633:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22633:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "22534:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22746:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22763:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22766:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "22756:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22756:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22756:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "22657:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22869:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22886:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22889:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "22879:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22879:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22879:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "22780:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22992:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23009:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23012:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "23002:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23002:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23002:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "22903:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23074:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23084:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23102:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23109:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23098:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23098:14:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23118:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "23114:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23114:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "23094:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23094:28:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "23084:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "23057:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "23067:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23026:102:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23185:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23195:34:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23220:1:1", | |
| "type": "", | |
| "value": "1" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23223:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shr", | |
| "nodeType": "YulIdentifier", | |
| "src": "23216:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23216:13:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "23195:8:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "shift_right_1_unsigned", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "23166:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulTypedName", | |
| "src": "23176:8:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23134:102:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23348:123:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "23370:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23378:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23366:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23366:14:1" | |
| }, | |
| { | |
| "hexValue": "5354414b45523a20414c52454144592056414c494441544f5220545259204445", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "23382:34:1", | |
| "type": "", | |
| "value": "STAKER: ALREADY VALIDATOR TRY DE" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "23359:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23359:58:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23359:58:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "23438:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23446:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23434:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23434:15:1" | |
| }, | |
| { | |
| "hexValue": "504f534954204d4f5245", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "23451:12:1", | |
| "type": "", | |
| "value": "POSIT MORE" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "23427:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23427:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23427:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_1793f1f494a0a6eb478024c3bf95642ba404af6573e9d963da4df32c3668c420", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "23340:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23242:229:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23583:130:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "23605:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23613:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23601:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23601:14:1" | |
| }, | |
| { | |
| "hexValue": "5354414b45523a204f6e6c7920626c61636b6c69737465722063616e20616363", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "23617:34:1", | |
| "type": "", | |
| "value": "STAKER: Only blacklister can acc" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "23594:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23594:58:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23594:58:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "23673:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23681:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23669:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23669:15:1" | |
| }, | |
| { | |
| "hexValue": "65737320746869732066756e6374696f6e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "23686:19:1", | |
| "type": "", | |
| "value": "ess this function" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "23662:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23662:44:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23662:44:1" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_549766e37fb76825b43140cb090214f605509cd03433d42650f8b40cf7fbdca8", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "23575:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23477:236:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23825:65:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "23847:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23855:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23843:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23843:14:1" | |
| }, | |
| { | |
| "hexValue": "5354414b45523a204c455353205448414e204d494e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "23859:23:1", | |
| "type": "", | |
| "value": "STAKER: LESS THAN MIN" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "23836:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23836:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23836:47:1" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_b47c7637a4407ea03fcce338b1a5f2ac69011abb9c9f61d1a8193f34023affd3", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "23817:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23719:171:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "24002:57:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "24024:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24032:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24020:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24020:14:1" | |
| }, | |
| { | |
| "hexValue": "4c455353205448414e204d494e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "24036:15:1", | |
| "type": "", | |
| "value": "LESS THAN MIN" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "24013:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24013:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "24013:39:1" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_be543c726d1ac3b2f023cc9bd06b4baded34fc8669be92329daf4fe88825f1e0", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "23994:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23896:163:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "24171:114:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "24193:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24201:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24189:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24189:14:1" | |
| }, | |
| { | |
| "hexValue": "5354414b45523a20746865726573206f6e6c79206f6e652076616c696461746f", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "24205:34:1", | |
| "type": "", | |
| "value": "STAKER: theres only one validato" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "24182:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24182:58:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "24182:58:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "24261:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24269:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24257:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24257:15:1" | |
| }, | |
| { | |
| "hexValue": "72", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "24274:3:1", | |
| "type": "", | |
| "value": "r" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "24250:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24250:28:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "24250:28:1" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_cb27c883a760f2cf2918e93417613237636b0a5bba784fd1128242f31aea7aa5", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "24163:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "24065:220:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "24397:71:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "24419:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24427:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24415:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "sr |
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)