@zjbtest/contracts
Version:
AcalaNetwork Smart Contract library for Solidity
1,135 lines • 293 kB
JSON
{
"contractName": "NFT",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "class_id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "token_id",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"class_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"token_id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/nft/NFT.sol\":\"NFT\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/nft/NFT.sol\":{\"keccak256\":\"0xf68842ec110a39d7eb9c6803c0fbd2e283cbfb81fa5d575389cca2e87abb9018\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bad97afd70ddb6ca88c054c04db48b2b16af2b8e6c4fd815a26c61dcb8efa3ff\",\"dweb:/ipfs/QmTB3JAC4Ff3fm3NCCYB9donoNku7FibyR2e5Vv5M4i8qu\"]}},\"version\":1}",
"bytecode": "0x610811610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80630411b2521461005057806370a0823114610079578063d9dad80d146100a9575b600080fd5b81801561005c57600080fd5b50610077600480360381019061007291906104f4565b6100d9565b005b610093600480360381019061008e91906104a2565b6101f5565b6040516100a091906106bb565b60405180910390f35b6100c360048036038101906100be9190610580565b610320565b6040516100d09190610640565b60405180910390f35b60008061040173ffffffffffffffffffffffffffffffffffffffff168686868660405160240161010c9493929190610676565b6040516020818303038152906040527f0411b252000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101969190610629565b6000604051808303816000865af19150503d80600081146101d3576040519150601f19603f3d011682016040523d82523d6000602084013e6101d8565b606091505b509150915060008214156101ed573d60208201fd5b505050505050565b600080600061040173ffffffffffffffffffffffffffffffffffffffff1684604051602401610224919061065b565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516102ae9190610629565b600060405180830381855afa9150503d80600081146102e9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ee565b606091505b50915091506000821415610303573d60208201fd5b808060200190518101906103179190610557565b92505050919050565b600080600061040173ffffffffffffffffffffffffffffffffffffffff1685856040516024016103519291906106d6565b6040516020818303038152906040527fd9dad80d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103db9190610629565b600060405180830381855afa9150503d8060008114610416576040519150601f19603f3d011682016040523d82523d6000602084013e61041b565b606091505b50915091506000821415610430573d60208201fd5b8080602001905181019061044491906104cb565b9250505092915050565b60008135905061045d81610796565b92915050565b600081519050610472816107ad565b92915050565b600081359050610487816107c4565b92915050565b60008151905061049c816107c4565b92915050565b6000602082840312156104b457600080fd5b60006104c28482850161044e565b91505092915050565b6000602082840312156104dd57600080fd5b60006104eb84828501610463565b91505092915050565b6000806000806080858703121561050a57600080fd5b60006105188782880161044e565b94505060206105298782880161044e565b935050604061053a87828801610478565b925050606061054b87828801610478565b91505092959194509250565b60006020828403121561056957600080fd5b60006105778482850161048d565b91505092915050565b6000806040838503121561059357600080fd5b60006105a185828601610478565b92505060206105b285828601610478565b9150509250929050565b6105c581610715565b82525050565b6105d481610715565b82525050565b60006105e5826106ff565b6105ef818561070a565b93506105ff818560208601610763565b80840191505092915050565b61061481610759565b82525050565b61062381610759565b82525050565b600061063582846105da565b915081905092915050565b600060208201905061065560008301846105cb565b92915050565b600060208201905061067060008301846105bc565b92915050565b600060808201905061068b60008301876105bc565b61069860208301866105bc565b6106a5604083018561060b565b6106b2606083018461060b565b95945050505050565b60006020820190506106d0600083018461061a565b92915050565b60006040820190506106eb600083018561060b565b6106f8602083018461060b565b9392505050565b600081519050919050565b600081905092915050565b600061072082610739565b9050919050565b600061073282610739565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610781578082015181840152602081019050610766565b83811115610790576000848401525b50505050565b61079f81610715565b81146107aa57600080fd5b50565b6107b681610727565b81146107c157600080fd5b50565b6107cd81610759565b81146107d857600080fd5b5056fea2646970667358221220dd6264e83facbc079a5673a2790561ffe00b5278b9804e798d25be406cc4caea64736f6c63430008000033",
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80630411b2521461005057806370a0823114610079578063d9dad80d146100a9575b600080fd5b81801561005c57600080fd5b50610077600480360381019061007291906104f4565b6100d9565b005b610093600480360381019061008e91906104a2565b6101f5565b6040516100a091906106bb565b60405180910390f35b6100c360048036038101906100be9190610580565b610320565b6040516100d09190610640565b60405180910390f35b60008061040173ffffffffffffffffffffffffffffffffffffffff168686868660405160240161010c9493929190610676565b6040516020818303038152906040527f0411b252000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101969190610629565b6000604051808303816000865af19150503d80600081146101d3576040519150601f19603f3d011682016040523d82523d6000602084013e6101d8565b606091505b509150915060008214156101ed573d60208201fd5b505050505050565b600080600061040173ffffffffffffffffffffffffffffffffffffffff1684604051602401610224919061065b565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516102ae9190610629565b600060405180830381855afa9150503d80600081146102e9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ee565b606091505b50915091506000821415610303573d60208201fd5b808060200190518101906103179190610557565b92505050919050565b600080600061040173ffffffffffffffffffffffffffffffffffffffff1685856040516024016103519291906106d6565b6040516020818303038152906040527fd9dad80d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103db9190610629565b600060405180830381855afa9150503d8060008114610416576040519150601f19603f3d011682016040523d82523d6000602084013e61041b565b606091505b50915091506000821415610430573d60208201fd5b8080602001905181019061044491906104cb565b9250505092915050565b60008135905061045d81610796565b92915050565b600081519050610472816107ad565b92915050565b600081359050610487816107c4565b92915050565b60008151905061049c816107c4565b92915050565b6000602082840312156104b457600080fd5b60006104c28482850161044e565b91505092915050565b6000602082840312156104dd57600080fd5b60006104eb84828501610463565b91505092915050565b6000806000806080858703121561050a57600080fd5b60006105188782880161044e565b94505060206105298782880161044e565b935050604061053a87828801610478565b925050606061054b87828801610478565b91505092959194509250565b60006020828403121561056957600080fd5b60006105778482850161048d565b91505092915050565b6000806040838503121561059357600080fd5b60006105a185828601610478565b92505060206105b285828601610478565b9150509250929050565b6105c581610715565b82525050565b6105d481610715565b82525050565b60006105e5826106ff565b6105ef818561070a565b93506105ff818560208601610763565b80840191505092915050565b61061481610759565b82525050565b61062381610759565b82525050565b600061063582846105da565b915081905092915050565b600060208201905061065560008301846105cb565b92915050565b600060208201905061067060008301846105bc565b92915050565b600060808201905061068b60008301876105bc565b61069860208301866105bc565b6106a5604083018561060b565b6106b2606083018461060b565b95945050505050565b60006020820190506106d0600083018461061a565b92915050565b60006040820190506106eb600083018561060b565b6106f8602083018461060b565b9392505050565b600081519050919050565b600081905092915050565b600061072082610739565b9050919050565b600061073282610739565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610781578082015181840152602081019050610766565b83811115610790576000848401525b50505050565b61079f81610715565b81146107aa57600080fd5b50565b6107b681610727565b81146107c157600080fd5b50565b6107cd81610759565b81146107d857600080fd5b5056fea2646970667358221220dd6264e83facbc079a5673a2790561ffe00b5278b9804e798d25be406cc4caea64736f6c63430008000033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6767:20",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:20",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:20",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:20"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:20"
},
"nodeType": "YulFunctionCall",
"src": "78:20:20"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:20"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:20"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:20"
},
"nodeType": "YulFunctionCall",
"src": "107:33:20"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:20"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:20",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:20",
"type": ""
}
],
"src": "7:139:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "223:88:20",
"statements": [
{
"nodeType": "YulAssignment",
"src": "233:22:20",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "248:6:20"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "242:5:20"
},
"nodeType": "YulFunctionCall",
"src": "242:13:20"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "233:5:20"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "299:5:20"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "264:34:20"
},
"nodeType": "YulFunctionCall",
"src": "264:41:20"
},
"nodeType": "YulExpressionStatement",
"src": "264:41:20"
}
]
},
"name": "abi_decode_t_address_payable_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "201:6:20",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "209:3:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "217:5:20",
"type": ""
}
],
"src": "152:159:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "369:87:20",
"statements": [
{
"nodeType": "YulAssignment",
"src": "379:29:20",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "401:6:20"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "388:12:20"
},
"nodeType": "YulFunctionCall",
"src": "388:20:20"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "379:5:20"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "444:5:20"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "417:26:20"
},
"nodeType": "YulFunctionCall",
"src": "417:33:20"
},
"nodeType": "YulExpressionStatement",
"src": "417:33:20"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "347:6:20",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "355:3:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "363:5:20",
"type": ""
}
],
"src": "317:139:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "525:80:20",
"statements": [
{
"nodeType": "YulAssignment",
"src": "535:22:20",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "550:6:20"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "544:5:20"
},
"nodeType": "YulFunctionCall",
"src": "544:13:20"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "535:5:20"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "593:5:20"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "566:26:20"
},
"nodeType": "YulFunctionCall",
"src": "566:33:20"
},
"nodeType": "YulExpressionStatement",
"src": "566:33:20"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "503:6:20",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "511:3:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "519:5:20",
"type": ""
}
],
"src": "462:143:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "677:196:20",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "723:16:20",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "732:1:20",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "735:1:20",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "725:6:20"
},
"nodeType": "YulFunctionCall",
"src": "725:12:20"
},
"nodeType": "YulExpressionStatement",
"src": "725:12:20"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "698:7:20"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "707:9:20"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "694:3:20"
},
"nodeType": "YulFunctionCall",
"src": "694:23:20"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "719:2:20",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "690:3:20"
},
"nodeType": "YulFunctionCall",
"src": "690:32:20"
},
"nodeType": "YulIf",
"src": "687:2:20"
},
{
"nodeType": "YulBlock",
"src": "749:117:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "764:15:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "778:1:20",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "768:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "793:63:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "828:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "839:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "824:3:20"
},
"nodeType": "YulFunctionCall",
"src": "824:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "848:7:20"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "803:20:20"
},
"nodeType": "YulFunctionCall",
"src": "803:53:20"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "793:6:20"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "647:9:20",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "658:7:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "670:6:20",
"type": ""
}
],
"src": "611:262:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "964:215:20",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1010:16:20",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1019:1:20",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1022:1:20",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1012:6:20"
},
"nodeType": "YulFunctionCall",
"src": "1012:12:20"
},
"nodeType": "YulExpressionStatement",
"src": "1012:12:20"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "985:7:20"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "994:9:20"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "981:3:20"
},
"nodeType": "YulFunctionCall",
"src": "981:23:20"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1006:2:20",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "977:3:20"
},
"nodeType": "YulFunctionCall",
"src": "977:32:20"
},
"nodeType": "YulIf",
"src": "974:2:20"
},
{
"nodeType": "YulBlock",
"src": "1036:136:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1051:15:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1065:1:20",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1055:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1080:82:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1134:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1145:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1130:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1130:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1154:7:20"
}
],
"functionName": {
"name": "abi_decode_t_address_payable_fromMemory",
"nodeType": "YulIdentifier",
"src": "1090:39:20"
},
"nodeType": "YulFunctionCall",
"src": "1090:72:20"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1080:6:20"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payable_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "934:9:20",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "945:7:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "957:6:20",
"type": ""
}
],
"src": "879:300:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1302:581:20",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1349:16:20",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1358:1:20",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:20",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1351:6:20"
},
"nodeType": "YulFunctionCall",
"src": "1351:12:20"
},
"nodeType": "YulExpressionStatement",
"src": "1351:12:20"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1323:7:20"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1332:9:20"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1319:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1319:23:20"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1344:3:20",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1315:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1315:33:20"
},
"nodeType": "YulIf",
"src": "1312:2:20"
},
{
"nodeType": "YulBlock",
"src": "1375:117:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1390:15:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1404:1:20",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1394:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1419:63:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1454:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1465:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1450:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1450:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1474:7:20"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1429:20:20"
},
"nodeType": "YulFunctionCall",
"src": "1429:53:20"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1419:6:20"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1502:118:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1517:16:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1531:2:20",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1521:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1547:63:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1582:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1593:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1578:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1578:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1602:7:20"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1557:20:20"
},
"nodeType": "YulFunctionCall",
"src": "1557:53:20"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1547:6:20"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1630:118:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1645:16:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1659:2:20",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1649:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1675:63:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1710:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1721:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1706:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1706:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1730:7:20"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1685:20:20"
},
"nodeType": "YulFunctionCall",
"src": "1685:53:20"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1675:6:20"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1758:118:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1773:16:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1787:2:20",
"type": "",
"value": "96"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1777:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1803:63:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1838:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1849:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1834:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1834:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1858:7:20"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1813:20:20"
},
"nodeType": "YulFunctionCall",
"src": "1813:53:20"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "1803:6:20"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1248:9:20",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName