Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Wollac/37419abcf744ff4666325ee2b8c82251 to your computer and use it in GitHub Desktop.
Save Wollac/37419abcf744ff4666325ee2b8c82251 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.25+commit.b61c2a91.js&optimize=false&runs=200&gist=
{
"name": "TestVerify",
"address": "0x9db8fccb21c702ec067cafaf6565a196e127249c",
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "imageID",
"type": "bytes32"
}
],
"name": "test",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "imageID",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "receiptURI",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "verified",
"type": "event"
}
],
"filePath": "Playground/contracts/StarkVerify.sol",
"pinnedAt": 1712847855356
}
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 100,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
{
"compiler": {
"version": "0.8.25+commit.b61c2a91"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "print",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"print()": {
"details": "Prints Hello World string"
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/HelloWorld.sol": "HelloWorld"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/HelloWorld.sol": {
"keccak256": "0x7425d4d4444446aeaf0f54ebd4f7850e4ee20f265bbc3d15bc6f99897789925b",
"license": "MIT",
"urls": [
"bzz-raw://1317c55fb25369d1c9ee9168f1124263547ae9148d48b5c1c78c162dd552ff59",
"dweb:/ipfs/QmR4t8Q9KR87ADNDskq8Udw9eX7N5i6SX8PGGEvP4Fabc5"
]
}
},
"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": "6080604052348015600f57600080fd5b506104878061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80639937232114610030575b600080fd5b61004a600480360381019061004591906101be565b61004c565b005b60006040518060400160405280600e81526020017f64612f726563656970742e62696e0000000000000000000000000000000000008152509050600080605173ffffffffffffffffffffffffffffffffffffffff1684846040516020016100b492919061027d565b6040516020818303038152906040526040516100d091906102ec565b600060405180830381855afa9150503d806000811461010b576040519150601f19603f3d011682016040523d82523d6000602084013e610110565b606091505b50915091508161011f57600080fd5b600081806020019051810190610135919061033b565b90508061014157600080fd5b7f0d259ac9f886cee146d0a36f95c760493c2e8c9124706127e82ffe6500e15e4b85853360405161017493929190610413565b60405180910390a15050505050565b600080fd5b6000819050919050565b61019b81610188565b81146101a657600080fd5b50565b6000813590506101b881610192565b92915050565b6000602082840312156101d4576101d3610183565b5b60006101e2848285016101a9565b91505092915050565b6000819050919050565b61020661020182610188565b6101eb565b82525050565b600081519050919050565b600081905092915050565b60005b83811015610240578082015181840152602081019050610225565b60008484015250505050565b60006102578261020c565b6102618185610217565b9350610271818560208601610222565b80840191505092915050565b600061028982856101f5565b602082019150610299828461024c565b91508190509392505050565b600081519050919050565b600081905092915050565b60006102c6826102a5565b6102d081856102b0565b93506102e0818560208601610222565b80840191505092915050565b60006102f882846102bb565b915081905092915050565b60008115159050919050565b61031881610303565b811461032357600080fd5b50565b6000815190506103358161030f565b92915050565b60006020828403121561035157610350610183565b5b600061035f84828501610326565b91505092915050565b61037181610188565b82525050565b600082825260208201905092915050565b6000601f19601f8301169050919050565b60006103a48261020c565b6103ae8185610377565b93506103be818560208601610222565b6103c781610388565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103fd826103d2565b9050919050565b61040d816103f2565b82525050565b60006060820190506104286000830186610368565b818103602083015261043a8185610399565b90506104496040830184610404565b94935050505056fea2646970667358221220150fd44ffda083d526c85428e082177c9cdbf374705dfac6390806b155d1453e64736f6c63430008190033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x487 DUP1 PUSH2 0x1F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x99372321 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 0x1BE JUMP JUMPDEST PUSH2 0x4C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x64612F726563656970742E62696E000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x51 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB4 SWAP3 SWAP2 SWAP1 PUSH2 0x27D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x2EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x10B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x110 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x11F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x33B JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x141 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0xD259AC9F886CEE146D0A36F95C760493C2E8C9124706127E82FFE6500E15E4B DUP6 DUP6 CALLER PUSH1 0x40 MLOAD PUSH2 0x174 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19B DUP2 PUSH2 0x188 JUMP JUMPDEST DUP2 EQ PUSH2 0x1A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B8 DUP2 PUSH2 0x192 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D4 JUMPI PUSH2 0x1D3 PUSH2 0x183 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1E2 DUP5 DUP3 DUP6 ADD PUSH2 0x1A9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x206 PUSH2 0x201 DUP3 PUSH2 0x188 JUMP JUMPDEST PUSH2 0x1EB JUMP JUMPDEST DUP3 MSTORE POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x240 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x225 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x257 DUP3 PUSH2 0x20C JUMP JUMPDEST PUSH2 0x261 DUP2 DUP6 PUSH2 0x217 JUMP JUMPDEST SWAP4 POP PUSH2 0x271 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x222 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x289 DUP3 DUP6 PUSH2 0x1F5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x299 DUP3 DUP5 PUSH2 0x24C JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP 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 PUSH2 0x2C6 DUP3 PUSH2 0x2A5 JUMP JUMPDEST PUSH2 0x2D0 DUP2 DUP6 PUSH2 0x2B0 JUMP JUMPDEST SWAP4 POP PUSH2 0x2E0 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x222 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F8 DUP3 DUP5 PUSH2 0x2BB JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x318 DUP2 PUSH2 0x303 JUMP JUMPDEST DUP2 EQ PUSH2 0x323 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x335 DUP2 PUSH2 0x30F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x351 JUMPI PUSH2 0x350 PUSH2 0x183 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x35F DUP5 DUP3 DUP6 ADD PUSH2 0x326 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x371 DUP2 PUSH2 0x188 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A4 DUP3 PUSH2 0x20C JUMP JUMPDEST PUSH2 0x3AE DUP2 DUP6 PUSH2 0x377 JUMP JUMPDEST SWAP4 POP PUSH2 0x3BE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x222 JUMP JUMPDEST PUSH2 0x3C7 DUP2 PUSH2 0x388 JUMP JUMPDEST DUP5 ADD 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 0x3FD DUP3 PUSH2 0x3D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x40D DUP2 PUSH2 0x3F2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x428 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x368 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x43A DUP2 DUP6 PUSH2 0x399 JUMP JUMPDEST SWAP1 POP PUSH2 0x449 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x404 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO 0xF 0xD4 0x4F REVERT LOG0 DUP4 0xD5 0x26 0xC8 SLOAD 0x28 0xE0 DUP3 OR PUSH29 0x9CDBF374705DFAC6390806B155D1453E64736F6C634300081900330000 ",
"sourceMap": "66:598:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@test_63": {
"entryPoint": 76,
"id": 63,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 806,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32": {
"entryPoint": 425,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 827,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bytes32": {
"entryPoint": 446,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1028,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 872,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": {
"entryPoint": 501,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 699,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 921,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 588,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr__to_t_bytes32_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 637,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 748,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32_t_string_memory_ptr_t_address__to_t_bytes32_t_string_memory_ptr_t_address__fromStack_reversed": {
"entryPoint": 1043,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_bytes_memory_ptr": {
"entryPoint": 677,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 524,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 688,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 887,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 535,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1010,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 771,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 392,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 978,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 546,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"leftAlign_t_bytes32": {
"entryPoint": 491,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 387,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 904,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_bool": {
"entryPoint": 783,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 402,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:5926:1",
"nodeType": "YulBlock",
"src": "0:5926:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:32:1",
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nativeSrc": "389:16:1",
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nativeSrc": "400:5:1",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nativeSrc": "334:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nativeSrc": "460:79:1",
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nativeSrc": "517:16:1",
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "526:1:1",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "529:1:1",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "519:6:1",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "483:5:1",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "490:17:1",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nativeSrc": "490:24:1",
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "480:2:1",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nativeSrc": "480:35:1",
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "473:6:1",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nativeSrc": "473:43:1",
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nativeSrc": "470:63:1",
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_bytes32",
"nativeSrc": "417:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "453:5:1",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nativeSrc": "597:87:1",
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nativeSrc": "607:29:1",
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "629:6:1",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "616:12:1",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nativeSrc": "616:20:1",
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "607:5:1",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "672:5:1",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nativeSrc": "645:26:1",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_bytes32",
"nativeSrc": "545:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "575:6:1",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "583:3:1",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "591:5:1",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nativeSrc": "756:263:1",
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nativeSrc": "802:83:1",
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "804:77:1",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "777:7:1",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nativeSrc": "786:9:1",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "773:3:1",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nativeSrc": "773:23:1",
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nativeSrc": "798:2:1",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "769:3:1",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nativeSrc": "769:32:1",
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nativeSrc": "766:119:1",
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nativeSrc": "895:117:1",
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nativeSrc": "910:15:1",
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nativeSrc": "924:1:1",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "914:6:1",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nativeSrc": "939:63:1",
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "974:9:1",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nativeSrc": "985:6:1",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "970:3:1",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nativeSrc": "970:22:1",
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "994:7:1",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nativeSrc": "949:20:1",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nativeSrc": "949:53:1",
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "939:6:1",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32",
"nativeSrc": "690:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "726:9:1",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "737:7:1",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "749:6:1",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nativeSrc": "1072:32:1",
"nodeType": "YulBlock",
"src": "1072:32:1",
"statements": [
{
"nativeSrc": "1082:16:1",
"nodeType": "YulAssignment",
"src": "1082:16:1",
"value": {
"name": "value",
"nativeSrc": "1093:5:1",
"nodeType": "YulIdentifier",
"src": "1093:5:1"
},
"variableNames": [
{
"name": "aligned",
"nativeSrc": "1082:7:1",
"nodeType": "YulIdentifier",
"src": "1082:7:1"
}
]
}
]
},
"name": "leftAlign_t_bytes32",
"nativeSrc": "1025:79:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1054:5:1",
"nodeType": "YulTypedName",
"src": "1054:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "aligned",
"nativeSrc": "1064:7:1",
"nodeType": "YulTypedName",
"src": "1064:7:1",
"type": ""
}
],
"src": "1025:79:1"
},
{
"body": {
"nativeSrc": "1193:74:1",
"nodeType": "YulBlock",
"src": "1193:74:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1210:3:1",
"nodeType": "YulIdentifier",
"src": "1210:3:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1253:5:1",
"nodeType": "YulIdentifier",
"src": "1253:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "1235:17:1",
"nodeType": "YulIdentifier",
"src": "1235:17:1"
},
"nativeSrc": "1235:24:1",
"nodeType": "YulFunctionCall",
"src": "1235:24:1"
}
],
"functionName": {
"name": "leftAlign_t_bytes32",
"nativeSrc": "1215:19:1",
"nodeType": "YulIdentifier",
"src": "1215:19:1"
},
"nativeSrc": "1215:45:1",
"nodeType": "YulFunctionCall",
"src": "1215:45:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1203:6:1",
"nodeType": "YulIdentifier",
"src": "1203:6:1"
},
"nativeSrc": "1203:58:1",
"nodeType": "YulFunctionCall",
"src": "1203:58:1"
},
"nativeSrc": "1203:58:1",
"nodeType": "YulExpressionStatement",
"src": "1203:58:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack",
"nativeSrc": "1110:157:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1181:5:1",
"nodeType": "YulTypedName",
"src": "1181:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1188:3:1",
"nodeType": "YulTypedName",
"src": "1188:3:1",
"type": ""
}
],
"src": "1110:157:1"
},
{
"body": {
"nativeSrc": "1332:40:1",
"nodeType": "YulBlock",
"src": "1332:40:1",
"statements": [
{
"nativeSrc": "1343:22:1",
"nodeType": "YulAssignment",
"src": "1343:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1359:5:1",
"nodeType": "YulIdentifier",
"src": "1359:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1353:5:1",
"nodeType": "YulIdentifier",
"src": "1353:5:1"
},
"nativeSrc": "1353:12:1",
"nodeType": "YulFunctionCall",
"src": "1353:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1343:6:1",
"nodeType": "YulIdentifier",
"src": "1343:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "1273:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1315:5:1",
"nodeType": "YulTypedName",
"src": "1315:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "1325:6:1",
"nodeType": "YulTypedName",
"src": "1325:6:1",
"type": ""
}
],
"src": "1273:99:1"
},
{
"body": {
"nativeSrc": "1492:34:1",
"nodeType": "YulBlock",
"src": "1492:34:1",
"statements": [
{
"nativeSrc": "1502:18:1",
"nodeType": "YulAssignment",
"src": "1502:18:1",
"value": {
"name": "pos",
"nativeSrc": "1517:3:1",
"nodeType": "YulIdentifier",
"src": "1517:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "1502:11:1",
"nodeType": "YulIdentifier",
"src": "1502:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "1378:148:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "1464:3:1",
"nodeType": "YulTypedName",
"src": "1464:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "1469:6:1",
"nodeType": "YulTypedName",
"src": "1469:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "1480:11:1",
"nodeType": "YulTypedName",
"src": "1480:11:1",
"type": ""
}
],
"src": "1378:148:1"
},
{
"body": {
"nativeSrc": "1594:186:1",
"nodeType": "YulBlock",
"src": "1594:186:1",
"statements": [
{
"nativeSrc": "1605:10:1",
"nodeType": "YulVariableDeclaration",
"src": "1605:10:1",
"value": {
"kind": "number",
"nativeSrc": "1614:1:1",
"nodeType": "YulLiteral",
"src": "1614:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "1609:1:1",
"nodeType": "YulTypedName",
"src": "1609:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1674:63:1",
"nodeType": "YulBlock",
"src": "1674:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "1699:3:1",
"nodeType": "YulIdentifier",
"src": "1699:3:1"
},
{
"name": "i",
"nativeSrc": "1704:1:1",
"nodeType": "YulIdentifier",
"src": "1704:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1695:3:1",
"nodeType": "YulIdentifier",
"src": "1695:3:1"
},
"nativeSrc": "1695:11:1",
"nodeType": "YulFunctionCall",
"src": "1695:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "1718:3:1",
"nodeType": "YulIdentifier",
"src": "1718:3:1"
},
{
"name": "i",
"nativeSrc": "1723:1:1",
"nodeType": "YulIdentifier",
"src": "1723:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1714:3:1",
"nodeType": "YulIdentifier",
"src": "1714:3:1"
},
"nativeSrc": "1714:11:1",
"nodeType": "YulFunctionCall",
"src": "1714:11:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1708:5:1",
"nodeType": "YulIdentifier",
"src": "1708:5:1"
},
"nativeSrc": "1708:18:1",
"nodeType": "YulFunctionCall",
"src": "1708:18:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1688:6:1",
"nodeType": "YulIdentifier",
"src": "1688:6:1"
},
"nativeSrc": "1688:39:1",
"nodeType": "YulFunctionCall",
"src": "1688:39:1"
},
"nativeSrc": "1688:39:1",
"nodeType": "YulExpressionStatement",
"src": "1688:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "1635:1:1",
"nodeType": "YulIdentifier",
"src": "1635:1:1"
},
{
"name": "length",
"nativeSrc": "1638:6:1",
"nodeType": "YulIdentifier",
"src": "1638:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1632:2:1",
"nodeType": "YulIdentifier",
"src": "1632:2:1"
},
"nativeSrc": "1632:13:1",
"nodeType": "YulFunctionCall",
"src": "1632:13:1"
},
"nativeSrc": "1624:113:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "1646:19:1",
"nodeType": "YulBlock",
"src": "1646:19:1",
"statements": [
{
"nativeSrc": "1648:15:1",
"nodeType": "YulAssignment",
"src": "1648:15:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "1657:1:1",
"nodeType": "YulIdentifier",
"src": "1657:1:1"
},
{
"kind": "number",
"nativeSrc": "1660:2:1",
"nodeType": "YulLiteral",
"src": "1660:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1653:3:1",
"nodeType": "YulIdentifier",
"src": "1653:3:1"
},
"nativeSrc": "1653:10:1",
"nodeType": "YulFunctionCall",
"src": "1653:10:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "1648:1:1",
"nodeType": "YulIdentifier",
"src": "1648:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "1628:3:1",
"nodeType": "YulBlock",
"src": "1628:3:1",
"statements": []
},
"src": "1624:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "1757:3:1",
"nodeType": "YulIdentifier",
"src": "1757:3:1"
},
{
"name": "length",
"nativeSrc": "1762:6:1",
"nodeType": "YulIdentifier",
"src": "1762:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1753:3:1",
"nodeType": "YulIdentifier",
"src": "1753:3:1"
},
"nativeSrc": "1753:16:1",
"nodeType": "YulFunctionCall",
"src": "1753:16:1"
},
{
"kind": "number",
"nativeSrc": "1771:1:1",
"nodeType": "YulLiteral",
"src": "1771:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1746:6:1",
"nodeType": "YulIdentifier",
"src": "1746:6:1"
},
"nativeSrc": "1746:27:1",
"nodeType": "YulFunctionCall",
"src": "1746:27:1"
},
"nativeSrc": "1746:27:1",
"nodeType": "YulExpressionStatement",
"src": "1746:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "1532:248:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "1576:3:1",
"nodeType": "YulTypedName",
"src": "1576:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "1581:3:1",
"nodeType": "YulTypedName",
"src": "1581:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "1586:6:1",
"nodeType": "YulTypedName",
"src": "1586:6:1",
"type": ""
}
],
"src": "1532:248:1"
},
{
"body": {
"nativeSrc": "1896:280:1",
"nodeType": "YulBlock",
"src": "1896:280:1",
"statements": [
{
"nativeSrc": "1906:53:1",
"nodeType": "YulVariableDeclaration",
"src": "1906:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1953:5:1",
"nodeType": "YulIdentifier",
"src": "1953:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "1920:32:1",
"nodeType": "YulIdentifier",
"src": "1920:32:1"
},
"nativeSrc": "1920:39:1",
"nodeType": "YulFunctionCall",
"src": "1920:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "1910:6:1",
"nodeType": "YulTypedName",
"src": "1910:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1968:96:1",
"nodeType": "YulAssignment",
"src": "1968:96:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2052:3:1",
"nodeType": "YulIdentifier",
"src": "2052:3:1"
},
{
"name": "length",
"nativeSrc": "2057:6:1",
"nodeType": "YulIdentifier",
"src": "2057:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "1975:76:1",
"nodeType": "YulIdentifier",
"src": "1975:76:1"
},
"nativeSrc": "1975:89:1",
"nodeType": "YulFunctionCall",
"src": "1975:89:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "1968:3:1",
"nodeType": "YulIdentifier",
"src": "1968:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2112:5:1",
"nodeType": "YulIdentifier",
"src": "2112:5:1"
},
{
"kind": "number",
"nativeSrc": "2119:4:1",
"nodeType": "YulLiteral",
"src": "2119:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2108:3:1",
"nodeType": "YulIdentifier",
"src": "2108:3:1"
},
"nativeSrc": "2108:16:1",
"nodeType": "YulFunctionCall",
"src": "2108:16:1"
},
{
"name": "pos",
"nativeSrc": "2126:3:1",
"nodeType": "YulIdentifier",
"src": "2126:3:1"
},
{
"name": "length",
"nativeSrc": "2131:6:1",
"nodeType": "YulIdentifier",
"src": "2131:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "2073:34:1",
"nodeType": "YulIdentifier",
"src": "2073:34:1"
},
"nativeSrc": "2073:65:1",
"nodeType": "YulFunctionCall",
"src": "2073:65:1"
},
"nativeSrc": "2073:65:1",
"nodeType": "YulExpressionStatement",
"src": "2073:65:1"
},
{
"nativeSrc": "2147:23:1",
"nodeType": "YulAssignment",
"src": "2147:23:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2158:3:1",
"nodeType": "YulIdentifier",
"src": "2158:3:1"
},
{
"name": "length",
"nativeSrc": "2163:6:1",
"nodeType": "YulIdentifier",
"src": "2163:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2154:3:1",
"nodeType": "YulIdentifier",
"src": "2154:3:1"
},
"nativeSrc": "2154:16:1",
"nodeType": "YulFunctionCall",
"src": "2154:16:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "2147:3:1",
"nodeType": "YulIdentifier",
"src": "2147:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "1786:390:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1877:5:1",
"nodeType": "YulTypedName",
"src": "1877:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1884:3:1",
"nodeType": "YulTypedName",
"src": "1884:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "1892:3:1",
"nodeType": "YulTypedName",
"src": "1892:3:1",
"type": ""
}
],
"src": "1786:390:1"
},
{
"body": {
"nativeSrc": "2346:252:1",
"nodeType": "YulBlock",
"src": "2346:252:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "2419:6:1",
"nodeType": "YulIdentifier",
"src": "2419:6:1"
},
{
"name": "pos",
"nativeSrc": "2428:3:1",
"nodeType": "YulIdentifier",
"src": "2428:3:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack",
"nativeSrc": "2357:61:1",
"nodeType": "YulIdentifier",
"src": "2357:61:1"
},
"nativeSrc": "2357:75:1",
"nodeType": "YulFunctionCall",
"src": "2357:75:1"
},
"nativeSrc": "2357:75:1",
"nodeType": "YulExpressionStatement",
"src": "2357:75:1"
},
{
"nativeSrc": "2441:19:1",
"nodeType": "YulAssignment",
"src": "2441:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2452:3:1",
"nodeType": "YulIdentifier",
"src": "2452:3:1"
},
{
"kind": "number",
"nativeSrc": "2457:2:1",
"nodeType": "YulLiteral",
"src": "2457:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2448:3:1",
"nodeType": "YulIdentifier",
"src": "2448:3:1"
},
"nativeSrc": "2448:12:1",
"nodeType": "YulFunctionCall",
"src": "2448:12:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "2441:3:1",
"nodeType": "YulIdentifier",
"src": "2441:3:1"
}
]
},
{
"nativeSrc": "2470:102:1",
"nodeType": "YulAssignment",
"src": "2470:102:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "2559:6:1",
"nodeType": "YulIdentifier",
"src": "2559:6:1"
},
{
"name": "pos",
"nativeSrc": "2568:3:1",
"nodeType": "YulIdentifier",
"src": "2568:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "2477:81:1",
"nodeType": "YulIdentifier",
"src": "2477:81:1"
},
"nativeSrc": "2477:95:1",
"nodeType": "YulFunctionCall",
"src": "2477:95:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "2470:3:1",
"nodeType": "YulIdentifier",
"src": "2470:3:1"
}
]
},
{
"nativeSrc": "2582:10:1",
"nodeType": "YulAssignment",
"src": "2582:10:1",
"value": {
"name": "pos",
"nativeSrc": "2589:3:1",
"nodeType": "YulIdentifier",
"src": "2589:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "2582:3:1",
"nodeType": "YulIdentifier",
"src": "2582:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr__to_t_bytes32_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nativeSrc": "2182:416:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2317:3:1",
"nodeType": "YulTypedName",
"src": "2317:3:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "2323:6:1",
"nodeType": "YulTypedName",
"src": "2323:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "2331:6:1",
"nodeType": "YulTypedName",
"src": "2331:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "2342:3:1",
"nodeType": "YulTypedName",
"src": "2342:3:1",
"type": ""
}
],
"src": "2182:416:1"
},
{
"body": {
"nativeSrc": "2662:40:1",
"nodeType": "YulBlock",
"src": "2662:40:1",
"statements": [
{
"nativeSrc": "2673:22:1",
"nodeType": "YulAssignment",
"src": "2673:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "2689:5:1",
"nodeType": "YulIdentifier",
"src": "2689:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "2683:5:1",
"nodeType": "YulIdentifier",
"src": "2683:5:1"
},
"nativeSrc": "2683:12:1",
"nodeType": "YulFunctionCall",
"src": "2683:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "2673:6:1",
"nodeType": "YulIdentifier",
"src": "2673:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nativeSrc": "2604:98:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2645:5:1",
"nodeType": "YulTypedName",
"src": "2645:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "2655:6:1",
"nodeType": "YulTypedName",
"src": "2655:6:1",
"type": ""
}
],
"src": "2604:98:1"
},
{
"body": {
"nativeSrc": "2821:34:1",
"nodeType": "YulBlock",
"src": "2821:34:1",
"statements": [
{
"nativeSrc": "2831:18:1",
"nodeType": "YulAssignment",
"src": "2831:18:1",
"value": {
"name": "pos",
"nativeSrc": "2846:3:1",
"nodeType": "YulIdentifier",
"src": "2846:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "2831:11:1",
"nodeType": "YulIdentifier",
"src": "2831:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "2708:147:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2793:3:1",
"nodeType": "YulTypedName",
"src": "2793:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2798:6:1",
"nodeType": "YulTypedName",
"src": "2798:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "2809:11:1",
"nodeType": "YulTypedName",
"src": "2809:11:1",
"type": ""
}
],
"src": "2708:147:1"
},
{
"body": {
"nativeSrc": "2969:278:1",
"nodeType": "YulBlock",
"src": "2969:278:1",
"statements": [
{
"nativeSrc": "2979:52:1",
"nodeType": "YulVariableDeclaration",
"src": "2979:52:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "3025:5:1",
"nodeType": "YulIdentifier",
"src": "3025:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nativeSrc": "2993:31:1",
"nodeType": "YulIdentifier",
"src": "2993:31:1"
},
"nativeSrc": "2993:38:1",
"nodeType": "YulFunctionCall",
"src": "2993:38:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "2983:6:1",
"nodeType": "YulTypedName",
"src": "2983:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3040:95:1",
"nodeType": "YulAssignment",
"src": "3040:95:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3123:3:1",
"nodeType": "YulIdentifier",
"src": "3123:3:1"
},
{
"name": "length",
"nativeSrc": "3128:6:1",
"nodeType": "YulIdentifier",
"src": "3128:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "3047:75:1",
"nodeType": "YulIdentifier",
"src": "3047:75:1"
},
"nativeSrc": "3047:88:1",
"nodeType": "YulFunctionCall",
"src": "3047:88:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "3040:3:1",
"nodeType": "YulIdentifier",
"src": "3040:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3183:5:1",
"nodeType": "YulIdentifier",
"src": "3183:5:1"
},
{
"kind": "number",
"nativeSrc": "3190:4:1",
"nodeType": "YulLiteral",
"src": "3190:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3179:3:1",
"nodeType": "YulIdentifier",
"src": "3179:3:1"
},
"nativeSrc": "3179:16:1",
"nodeType": "YulFunctionCall",
"src": "3179:16:1"
},
{
"name": "pos",
"nativeSrc": "3197:3:1",
"nodeType": "YulIdentifier",
"src": "3197:3:1"
},
{
"name": "length",
"nativeSrc": "3202:6:1",
"nodeType": "YulIdentifier",
"src": "3202:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "3144:34:1",
"nodeType": "YulIdentifier",
"src": "3144:34:1"
},
"nativeSrc": "3144:65:1",
"nodeType": "YulFunctionCall",
"src": "3144:65:1"
},
"nativeSrc": "3144:65:1",
"nodeType": "YulExpressionStatement",
"src": "3144:65:1"
},
{
"nativeSrc": "3218:23:1",
"nodeType": "YulAssignment",
"src": "3218:23:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3229:3:1",
"nodeType": "YulIdentifier",
"src": "3229:3:1"
},
{
"name": "length",
"nativeSrc": "3234:6:1",
"nodeType": "YulIdentifier",
"src": "3234:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3225:3:1",
"nodeType": "YulIdentifier",
"src": "3225:3:1"
},
"nativeSrc": "3225:16:1",
"nodeType": "YulFunctionCall",
"src": "3225:16:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "3218:3:1",
"nodeType": "YulIdentifier",
"src": "3218:3:1"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "2861:386:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2950:5:1",
"nodeType": "YulTypedName",
"src": "2950:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "2957:3:1",
"nodeType": "YulTypedName",
"src": "2957:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "2965:3:1",
"nodeType": "YulTypedName",
"src": "2965:3:1",
"type": ""
}
],
"src": "2861:386:1"
},
{
"body": {
"nativeSrc": "3387:137:1",
"nodeType": "YulBlock",
"src": "3387:137:1",
"statements": [
{
"nativeSrc": "3398:100:1",
"nodeType": "YulAssignment",
"src": "3398:100:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "3485:6:1",
"nodeType": "YulIdentifier",
"src": "3485:6:1"
},
{
"name": "pos",
"nativeSrc": "3494:3:1",
"nodeType": "YulIdentifier",
"src": "3494:3:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "3405:79:1",
"nodeType": "YulIdentifier",
"src": "3405:79:1"
},
"nativeSrc": "3405:93:1",
"nodeType": "YulFunctionCall",
"src": "3405:93:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "3398:3:1",
"nodeType": "YulIdentifier",
"src": "3398:3:1"
}
]
},
{
"nativeSrc": "3508:10:1",
"nodeType": "YulAssignment",
"src": "3508:10:1",
"value": {
"name": "pos",
"nativeSrc": "3515:3:1",
"nodeType": "YulIdentifier",
"src": "3515:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "3508:3:1",
"nodeType": "YulIdentifier",
"src": "3508:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nativeSrc": "3253:271:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "3366:3:1",
"nodeType": "YulTypedName",
"src": "3366:3:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3372:6:1",
"nodeType": "YulTypedName",
"src": "3372:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "3383:3:1",
"nodeType": "YulTypedName",
"src": "3383:3:1",
"type": ""
}
],
"src": "3253:271:1"
},
{
"body": {
"nativeSrc": "3572:48:1",
"nodeType": "YulBlock",
"src": "3572:48:1",
"statements": [
{
"nativeSrc": "3582:32:1",
"nodeType": "YulAssignment",
"src": "3582:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3607:5:1",
"nodeType": "YulIdentifier",
"src": "3607:5:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3600:6:1",
"nodeType": "YulIdentifier",
"src": "3600:6:1"
},
"nativeSrc": "3600:13:1",
"nodeType": "YulFunctionCall",
"src": "3600:13:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3593:6:1",
"nodeType": "YulIdentifier",
"src": "3593:6:1"
},
"nativeSrc": "3593:21:1",
"nodeType": "YulFunctionCall",
"src": "3593:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3582:7:1",
"nodeType": "YulIdentifier",
"src": "3582:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nativeSrc": "3530:90:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3554:5:1",
"nodeType": "YulTypedName",
"src": "3554:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3564:7:1",
"nodeType": "YulTypedName",
"src": "3564:7:1",
"type": ""
}
],
"src": "3530:90:1"
},
{
"body": {
"nativeSrc": "3666:76:1",
"nodeType": "YulBlock",
"src": "3666:76:1",
"statements": [
{
"body": {
"nativeSrc": "3720:16:1",
"nodeType": "YulBlock",
"src": "3720:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "3729:1:1",
"nodeType": "YulLiteral",
"src": "3729:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "3732:1:1",
"nodeType": "YulLiteral",
"src": "3732:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "3722:6:1",
"nodeType": "YulIdentifier",
"src": "3722:6:1"
},
"nativeSrc": "3722:12:1",
"nodeType": "YulFunctionCall",
"src": "3722:12:1"
},
"nativeSrc": "3722:12:1",
"nodeType": "YulExpressionStatement",
"src": "3722:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3689:5:1",
"nodeType": "YulIdentifier",
"src": "3689:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3711:5:1",
"nodeType": "YulIdentifier",
"src": "3711:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "3696:14:1",
"nodeType": "YulIdentifier",
"src": "3696:14:1"
},
"nativeSrc": "3696:21:1",
"nodeType": "YulFunctionCall",
"src": "3696:21:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "3686:2:1",
"nodeType": "YulIdentifier",
"src": "3686:2:1"
},
"nativeSrc": "3686:32:1",
"nodeType": "YulFunctionCall",
"src": "3686:32:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3679:6:1",
"nodeType": "YulIdentifier",
"src": "3679:6:1"
},
"nativeSrc": "3679:40:1",
"nodeType": "YulFunctionCall",
"src": "3679:40:1"
},
"nativeSrc": "3676:60:1",
"nodeType": "YulIf",
"src": "3676:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nativeSrc": "3626:116:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3659:5:1",
"nodeType": "YulTypedName",
"src": "3659:5:1",
"type": ""
}
],
"src": "3626:116:1"
},
{
"body": {
"nativeSrc": "3808:77:1",
"nodeType": "YulBlock",
"src": "3808:77:1",
"statements": [
{
"nativeSrc": "3818:22:1",
"nodeType": "YulAssignment",
"src": "3818:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3833:6:1",
"nodeType": "YulIdentifier",
"src": "3833:6:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "3827:5:1",
"nodeType": "YulIdentifier",
"src": "3827:5:1"
},
"nativeSrc": "3827:13:1",
"nodeType": "YulFunctionCall",
"src": "3827:13:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "3818:5:1",
"nodeType": "YulIdentifier",
"src": "3818:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "3873:5:1",
"nodeType": "YulIdentifier",
"src": "3873:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nativeSrc": "3849:23:1",
"nodeType": "YulIdentifier",
"src": "3849:23:1"
},
"nativeSrc": "3849:30:1",
"nodeType": "YulFunctionCall",
"src": "3849:30:1"
},
"nativeSrc": "3849:30:1",
"nodeType": "YulExpressionStatement",
"src": "3849:30:1"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nativeSrc": "3748:137:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "3786:6:1",
"nodeType": "YulTypedName",
"src": "3786:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "3794:3:1",
"nodeType": "YulTypedName",
"src": "3794:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "3802:5:1",
"nodeType": "YulTypedName",
"src": "3802:5:1",
"type": ""
}
],
"src": "3748:137:1"
},
{
"body": {
"nativeSrc": "3965:271:1",
"nodeType": "YulBlock",
"src": "3965:271:1",
"statements": [
{
"body": {
"nativeSrc": "4011:83:1",
"nodeType": "YulBlock",
"src": "4011:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "4013:77:1",
"nodeType": "YulIdentifier",
"src": "4013:77:1"
},
"nativeSrc": "4013:79:1",
"nodeType": "YulFunctionCall",
"src": "4013:79:1"
},
"nativeSrc": "4013:79:1",
"nodeType": "YulExpressionStatement",
"src": "4013:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3986:7:1",
"nodeType": "YulIdentifier",
"src": "3986:7:1"
},
{
"name": "headStart",
"nativeSrc": "3995:9:1",
"nodeType": "YulIdentifier",
"src": "3995:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3982:3:1",
"nodeType": "YulIdentifier",
"src": "3982:3:1"
},
"nativeSrc": "3982:23:1",
"nodeType": "YulFunctionCall",
"src": "3982:23:1"
},
{
"kind": "number",
"nativeSrc": "4007:2:1",
"nodeType": "YulLiteral",
"src": "4007:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3978:3:1",
"nodeType": "YulIdentifier",
"src": "3978:3:1"
},
"nativeSrc": "3978:32:1",
"nodeType": "YulFunctionCall",
"src": "3978:32:1"
},
"nativeSrc": "3975:119:1",
"nodeType": "YulIf",
"src": "3975:119:1"
},
{
"nativeSrc": "4104:125:1",
"nodeType": "YulBlock",
"src": "4104:125:1",
"statements": [
{
"nativeSrc": "4119:15:1",
"nodeType": "YulVariableDeclaration",
"src": "4119:15:1",
"value": {
"kind": "number",
"nativeSrc": "4133:1:1",
"nodeType": "YulLiteral",
"src": "4133:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4123:6:1",
"nodeType": "YulTypedName",
"src": "4123:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4148:71:1",
"nodeType": "YulAssignment",
"src": "4148:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4191:9:1",
"nodeType": "YulIdentifier",
"src": "4191:9:1"
},
{
"name": "offset",
"nativeSrc": "4202:6:1",
"nodeType": "YulIdentifier",
"src": "4202:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4187:3:1",
"nodeType": "YulIdentifier",
"src": "4187:3:1"
},
"nativeSrc": "4187:22:1",
"nodeType": "YulFunctionCall",
"src": "4187:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4211:7:1",
"nodeType": "YulIdentifier",
"src": "4211:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nativeSrc": "4158:28:1",
"nodeType": "YulIdentifier",
"src": "4158:28:1"
},
"nativeSrc": "4158:61:1",
"nodeType": "YulFunctionCall",
"src": "4158:61:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "4148:6:1",
"nodeType": "YulIdentifier",
"src": "4148:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nativeSrc": "3891:345:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3935:9:1",
"nodeType": "YulTypedName",
"src": "3935:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3946:7:1",
"nodeType": "YulTypedName",
"src": "3946:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3958:6:1",
"nodeType": "YulTypedName",
"src": "3958:6:1",
"type": ""
}
],
"src": "3891:345:1"
},
{
"body": {
"nativeSrc": "4307:53:1",
"nodeType": "YulBlock",
"src": "4307:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4324:3:1",
"nodeType": "YulIdentifier",
"src": "4324:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4347:5:1",
"nodeType": "YulIdentifier",
"src": "4347:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "4329:17:1",
"nodeType": "YulIdentifier",
"src": "4329:17:1"
},
"nativeSrc": "4329:24:1",
"nodeType": "YulFunctionCall",
"src": "4329:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4317:6:1",
"nodeType": "YulIdentifier",
"src": "4317:6:1"
},
"nativeSrc": "4317:37:1",
"nodeType": "YulFunctionCall",
"src": "4317:37:1"
},
"nativeSrc": "4317:37:1",
"nodeType": "YulExpressionStatement",
"src": "4317:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "4242:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4295:5:1",
"nodeType": "YulTypedName",
"src": "4295:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4302:3:1",
"nodeType": "YulTypedName",
"src": "4302:3:1",
"type": ""
}
],
"src": "4242:118:1"
},
{
"body": {
"nativeSrc": "4462:73:1",
"nodeType": "YulBlock",
"src": "4462:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4479:3:1",
"nodeType": "YulIdentifier",
"src": "4479:3:1"
},
{
"name": "length",
"nativeSrc": "4484:6:1",
"nodeType": "YulIdentifier",
"src": "4484:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4472:6:1",
"nodeType": "YulIdentifier",
"src": "4472:6:1"
},
"nativeSrc": "4472:19:1",
"nodeType": "YulFunctionCall",
"src": "4472:19:1"
},
"nativeSrc": "4472:19:1",
"nodeType": "YulExpressionStatement",
"src": "4472:19:1"
},
{
"nativeSrc": "4500:29:1",
"nodeType": "YulAssignment",
"src": "4500:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4519:3:1",
"nodeType": "YulIdentifier",
"src": "4519:3:1"
},
{
"kind": "number",
"nativeSrc": "4524:4:1",
"nodeType": "YulLiteral",
"src": "4524:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4515:3:1",
"nodeType": "YulIdentifier",
"src": "4515:3:1"
},
"nativeSrc": "4515:14:1",
"nodeType": "YulFunctionCall",
"src": "4515:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "4500:11:1",
"nodeType": "YulIdentifier",
"src": "4500:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "4366:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4434:3:1",
"nodeType": "YulTypedName",
"src": "4434:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "4439:6:1",
"nodeType": "YulTypedName",
"src": "4439:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "4450:11:1",
"nodeType": "YulTypedName",
"src": "4450:11:1",
"type": ""
}
],
"src": "4366:169:1"
},
{
"body": {
"nativeSrc": "4589:54:1",
"nodeType": "YulBlock",
"src": "4589:54:1",
"statements": [
{
"nativeSrc": "4599:38:1",
"nodeType": "YulAssignment",
"src": "4599:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "4617:5:1",
"nodeType": "YulIdentifier",
"src": "4617:5:1"
},
{
"kind": "number",
"nativeSrc": "4624:2:1",
"nodeType": "YulLiteral",
"src": "4624:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4613:3:1",
"nodeType": "YulIdentifier",
"src": "4613:3:1"
},
"nativeSrc": "4613:14:1",
"nodeType": "YulFunctionCall",
"src": "4613:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "4633:2:1",
"nodeType": "YulLiteral",
"src": "4633:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "4629:3:1",
"nodeType": "YulIdentifier",
"src": "4629:3:1"
},
"nativeSrc": "4629:7:1",
"nodeType": "YulFunctionCall",
"src": "4629:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4609:3:1",
"nodeType": "YulIdentifier",
"src": "4609:3:1"
},
"nativeSrc": "4609:28:1",
"nodeType": "YulFunctionCall",
"src": "4609:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "4599:6:1",
"nodeType": "YulIdentifier",
"src": "4599:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "4541:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4572:5:1",
"nodeType": "YulTypedName",
"src": "4572:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "4582:6:1",
"nodeType": "YulTypedName",
"src": "4582:6:1",
"type": ""
}
],
"src": "4541:102:1"
},
{
"body": {
"nativeSrc": "4741:285:1",
"nodeType": "YulBlock",
"src": "4741:285:1",
"statements": [
{
"nativeSrc": "4751:53:1",
"nodeType": "YulVariableDeclaration",
"src": "4751:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4798:5:1",
"nodeType": "YulIdentifier",
"src": "4798:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "4765:32:1",
"nodeType": "YulIdentifier",
"src": "4765:32:1"
},
"nativeSrc": "4765:39:1",
"nodeType": "YulFunctionCall",
"src": "4765:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "4755:6:1",
"nodeType": "YulTypedName",
"src": "4755:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4813:78:1",
"nodeType": "YulAssignment",
"src": "4813:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4879:3:1",
"nodeType": "YulIdentifier",
"src": "4879:3:1"
},
{
"name": "length",
"nativeSrc": "4884:6:1",
"nodeType": "YulIdentifier",
"src": "4884:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "4820:58:1",
"nodeType": "YulIdentifier",
"src": "4820:58:1"
},
"nativeSrc": "4820:71:1",
"nodeType": "YulFunctionCall",
"src": "4820:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "4813:3:1",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "4939:5:1",
"nodeType": "YulIdentifier",
"src": "4939:5:1"
},
{
"kind": "number",
"nativeSrc": "4946:4:1",
"nodeType": "YulLiteral",
"src": "4946:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4935:3:1",
"nodeType": "YulIdentifier",
"src": "4935:3:1"
},
"nativeSrc": "4935:16:1",
"nodeType": "YulFunctionCall",
"src": "4935:16:1"
},
{
"name": "pos",
"nativeSrc": "4953:3:1",
"nodeType": "YulIdentifier",
"src": "4953:3:1"
},
{
"name": "length",
"nativeSrc": "4958:6:1",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "4900:34:1",
"nodeType": "YulIdentifier",
"src": "4900:34:1"
},
"nativeSrc": "4900:65:1",
"nodeType": "YulFunctionCall",
"src": "4900:65:1"
},
"nativeSrc": "4900:65:1",
"nodeType": "YulExpressionStatement",
"src": "4900:65:1"
},
{
"nativeSrc": "4974:46:1",
"nodeType": "YulAssignment",
"src": "4974:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4985:3:1",
"nodeType": "YulIdentifier",
"src": "4985:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "5012:6:1",
"nodeType": "YulIdentifier",
"src": "5012:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "4990:21:1",
"nodeType": "YulIdentifier",
"src": "4990:21:1"
},
"nativeSrc": "4990:29:1",
"nodeType": "YulFunctionCall",
"src": "4990:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4981:3:1",
"nodeType": "YulIdentifier",
"src": "4981:3:1"
},
"nativeSrc": "4981:39:1",
"nodeType": "YulFunctionCall",
"src": "4981:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "4974:3:1",
"nodeType": "YulIdentifier",
"src": "4974:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "4649:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4722:5:1",
"nodeType": "YulTypedName",
"src": "4722:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4729:3:1",
"nodeType": "YulTypedName",
"src": "4729:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "4737:3:1",
"nodeType": "YulTypedName",
"src": "4737:3:1",
"type": ""
}
],
"src": "4649:377:1"
},
{
"body": {
"nativeSrc": "5077:81:1",
"nodeType": "YulBlock",
"src": "5077:81:1",
"statements": [
{
"nativeSrc": "5087:65:1",
"nodeType": "YulAssignment",
"src": "5087:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "5102:5:1",
"nodeType": "YulIdentifier",
"src": "5102:5:1"
},
{
"kind": "number",
"nativeSrc": "5109:42:1",
"nodeType": "YulLiteral",
"src": "5109:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "5098:3:1",
"nodeType": "YulIdentifier",
"src": "5098:3:1"
},
"nativeSrc": "5098:54:1",
"nodeType": "YulFunctionCall",
"src": "5098:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "5087:7:1",
"nodeType": "YulIdentifier",
"src": "5087:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "5032:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5059:5:1",
"nodeType": "YulTypedName",
"src": "5059:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "5069:7:1",
"nodeType": "YulTypedName",
"src": "5069:7:1",
"type": ""
}
],
"src": "5032:126:1"
},
{
"body": {
"nativeSrc": "5209:51:1",
"nodeType": "YulBlock",
"src": "5209:51:1",
"statements": [
{
"nativeSrc": "5219:35:1",
"nodeType": "YulAssignment",
"src": "5219:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "5248:5:1",
"nodeType": "YulIdentifier",
"src": "5248:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "5230:17:1",
"nodeType": "YulIdentifier",
"src": "5230:17:1"
},
"nativeSrc": "5230:24:1",
"nodeType": "YulFunctionCall",
"src": "5230:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "5219:7:1",
"nodeType": "YulIdentifier",
"src": "5219:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "5164:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5191:5:1",
"nodeType": "YulTypedName",
"src": "5191:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "5201:7:1",
"nodeType": "YulTypedName",
"src": "5201:7:1",
"type": ""
}
],
"src": "5164:96:1"
},
{
"body": {
"nativeSrc": "5331:53:1",
"nodeType": "YulBlock",
"src": "5331:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5348:3:1",
"nodeType": "YulIdentifier",
"src": "5348:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5371:5:1",
"nodeType": "YulIdentifier",
"src": "5371:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "5353:17:1",
"nodeType": "YulIdentifier",
"src": "5353:17:1"
},
"nativeSrc": "5353:24:1",
"nodeType": "YulFunctionCall",
"src": "5353:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5341:6:1",
"nodeType": "YulIdentifier",
"src": "5341:6:1"
},
"nativeSrc": "5341:37:1",
"nodeType": "YulFunctionCall",
"src": "5341:37:1"
},
"nativeSrc": "5341:37:1",
"nodeType": "YulExpressionStatement",
"src": "5341:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "5266:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5319:5:1",
"nodeType": "YulTypedName",
"src": "5319:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "5326:3:1",
"nodeType": "YulTypedName",
"src": "5326:3:1",
"type": ""
}
],
"src": "5266:118:1"
},
{
"body": {
"nativeSrc": "5564:359:1",
"nodeType": "YulBlock",
"src": "5564:359:1",
"statements": [
{
"nativeSrc": "5574:26:1",
"nodeType": "YulAssignment",
"src": "5574:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "5586:9:1",
"nodeType": "YulIdentifier",
"src": "5586:9:1"
},
{
"kind": "number",
"nativeSrc": "5597:2:1",
"nodeType": "YulLiteral",
"src": "5597:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5582:3:1",
"nodeType": "YulIdentifier",
"src": "5582:3:1"
},
"nativeSrc": "5582:18:1",
"nodeType": "YulFunctionCall",
"src": "5582:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "5574:4:1",
"nodeType": "YulIdentifier",
"src": "5574:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "5654:6:1",
"nodeType": "YulIdentifier",
"src": "5654:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5667:9:1",
"nodeType": "YulIdentifier",
"src": "5667:9:1"
},
{
"kind": "number",
"nativeSrc": "5678:1:1",
"nodeType": "YulLiteral",
"src": "5678:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5663:3:1",
"nodeType": "YulIdentifier",
"src": "5663:3:1"
},
"nativeSrc": "5663:17:1",
"nodeType": "YulFunctionCall",
"src": "5663:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "5610:43:1",
"nodeType": "YulIdentifier",
"src": "5610:43:1"
},
"nativeSrc": "5610:71:1",
"nodeType": "YulFunctionCall",
"src": "5610:71:1"
},
"nativeSrc": "5610:71:1",
"nodeType": "YulExpressionStatement",
"src": "5610:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5702:9:1",
"nodeType": "YulIdentifier",
"src": "5702:9:1"
},
{
"kind": "number",
"nativeSrc": "5713:2:1",
"nodeType": "YulLiteral",
"src": "5713:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5698:3:1",
"nodeType": "YulIdentifier",
"src": "5698:3:1"
},
"nativeSrc": "5698:18:1",
"nodeType": "YulFunctionCall",
"src": "5698:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "5722:4:1",
"nodeType": "YulIdentifier",
"src": "5722:4:1"
},
{
"name": "headStart",
"nativeSrc": "5728:9:1",
"nodeType": "YulIdentifier",
"src": "5728:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5718:3:1",
"nodeType": "YulIdentifier",
"src": "5718:3:1"
},
"nativeSrc": "5718:20:1",
"nodeType": "YulFunctionCall",
"src": "5718:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5691:6:1",
"nodeType": "YulIdentifier",
"src": "5691:6:1"
},
"nativeSrc": "5691:48:1",
"nodeType": "YulFunctionCall",
"src": "5691:48:1"
},
"nativeSrc": "5691:48:1",
"nodeType": "YulExpressionStatement",
"src": "5691:48:1"
},
{
"nativeSrc": "5748:86:1",
"nodeType": "YulAssignment",
"src": "5748:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "5820:6:1",
"nodeType": "YulIdentifier",
"src": "5820:6:1"
},
{
"name": "tail",
"nativeSrc": "5829:4:1",
"nodeType": "YulIdentifier",
"src": "5829:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "5756:63:1",
"nodeType": "YulIdentifier",
"src": "5756:63:1"
},
"nativeSrc": "5756:78:1",
"nodeType": "YulFunctionCall",
"src": "5756:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "5748:4:1",
"nodeType": "YulIdentifier",
"src": "5748:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "5888:6:1",
"nodeType": "YulIdentifier",
"src": "5888:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5901:9:1",
"nodeType": "YulIdentifier",
"src": "5901:9:1"
},
{
"kind": "number",
"nativeSrc": "5912:2:1",
"nodeType": "YulLiteral",
"src": "5912:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5897:3:1",
"nodeType": "YulIdentifier",
"src": "5897:3:1"
},
"nativeSrc": "5897:18:1",
"nodeType": "YulFunctionCall",
"src": "5897:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "5844:43:1",
"nodeType": "YulIdentifier",
"src": "5844:43:1"
},
"nativeSrc": "5844:72:1",
"nodeType": "YulFunctionCall",
"src": "5844:72:1"
},
"nativeSrc": "5844:72:1",
"nodeType": "YulExpressionStatement",
"src": "5844:72:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32_t_string_memory_ptr_t_address__to_t_bytes32_t_string_memory_ptr_t_address__fromStack_reversed",
"nativeSrc": "5390:533:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5520:9:1",
"nodeType": "YulTypedName",
"src": "5520:9:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "5532:6:1",
"nodeType": "YulTypedName",
"src": "5532:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "5540:6:1",
"nodeType": "YulTypedName",
"src": "5540:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "5548:6:1",
"nodeType": "YulTypedName",
"src": "5548:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "5559:4:1",
"nodeType": "YulTypedName",
"src": "5559:4:1",
"type": ""
}
],
"src": "5390:533: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_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(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_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(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_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\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 mstore(add(dst, length), 0)\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr__to_t_bytes32_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(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_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_string_memory_ptr_t_address__to_t_bytes32_t_string_memory_ptr_t_address__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_bytes32_to_t_bytes32_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 abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c80639937232114610030575b600080fd5b61004a600480360381019061004591906101be565b61004c565b005b60006040518060400160405280600e81526020017f64612f726563656970742e62696e0000000000000000000000000000000000008152509050600080605173ffffffffffffffffffffffffffffffffffffffff1684846040516020016100b492919061027d565b6040516020818303038152906040526040516100d091906102ec565b600060405180830381855afa9150503d806000811461010b576040519150601f19603f3d011682016040523d82523d6000602084013e610110565b606091505b50915091508161011f57600080fd5b600081806020019051810190610135919061033b565b90508061014157600080fd5b7f0d259ac9f886cee146d0a36f95c760493c2e8c9124706127e82ffe6500e15e4b85853360405161017493929190610413565b60405180910390a15050505050565b600080fd5b6000819050919050565b61019b81610188565b81146101a657600080fd5b50565b6000813590506101b881610192565b92915050565b6000602082840312156101d4576101d3610183565b5b60006101e2848285016101a9565b91505092915050565b6000819050919050565b61020661020182610188565b6101eb565b82525050565b600081519050919050565b600081905092915050565b60005b83811015610240578082015181840152602081019050610225565b60008484015250505050565b60006102578261020c565b6102618185610217565b9350610271818560208601610222565b80840191505092915050565b600061028982856101f5565b602082019150610299828461024c565b91508190509392505050565b600081519050919050565b600081905092915050565b60006102c6826102a5565b6102d081856102b0565b93506102e0818560208601610222565b80840191505092915050565b60006102f882846102bb565b915081905092915050565b60008115159050919050565b61031881610303565b811461032357600080fd5b50565b6000815190506103358161030f565b92915050565b60006020828403121561035157610350610183565b5b600061035f84828501610326565b91505092915050565b61037181610188565b82525050565b600082825260208201905092915050565b6000601f19601f8301169050919050565b60006103a48261020c565b6103ae8185610377565b93506103be818560208601610222565b6103c781610388565b840191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103fd826103d2565b9050919050565b61040d816103f2565b82525050565b60006060820190506104286000830186610368565b818103602083015261043a8185610399565b90506104496040830184610404565b94935050505056fea2646970667358221220150fd44ffda083d526c85428e082177c9cdbf374705dfac6390806b155d1453e64736f6c63430008190033",
"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 0x99372321 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 0x1BE JUMP JUMPDEST PUSH2 0x4C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x64612F726563656970742E62696E000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x51 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB4 SWAP3 SWAP2 SWAP1 PUSH2 0x27D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x2EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x10B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x110 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x11F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x33B JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x141 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0xD259AC9F886CEE146D0A36F95C760493C2E8C9124706127E82FFE6500E15E4B DUP6 DUP6 CALLER PUSH1 0x40 MLOAD PUSH2 0x174 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x413 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x19B DUP2 PUSH2 0x188 JUMP JUMPDEST DUP2 EQ PUSH2 0x1A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1B8 DUP2 PUSH2 0x192 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D4 JUMPI PUSH2 0x1D3 PUSH2 0x183 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1E2 DUP5 DUP3 DUP6 ADD PUSH2 0x1A9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x206 PUSH2 0x201 DUP3 PUSH2 0x188 JUMP JUMPDEST PUSH2 0x1EB JUMP JUMPDEST DUP3 MSTORE POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x240 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x225 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x257 DUP3 PUSH2 0x20C JUMP JUMPDEST PUSH2 0x261 DUP2 DUP6 PUSH2 0x217 JUMP JUMPDEST SWAP4 POP PUSH2 0x271 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x222 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x289 DUP3 DUP6 PUSH2 0x1F5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x299 DUP3 DUP5 PUSH2 0x24C JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP 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 PUSH2 0x2C6 DUP3 PUSH2 0x2A5 JUMP JUMPDEST PUSH2 0x2D0 DUP2 DUP6 PUSH2 0x2B0 JUMP JUMPDEST SWAP4 POP PUSH2 0x2E0 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x222 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F8 DUP3 DUP5 PUSH2 0x2BB JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x318 DUP2 PUSH2 0x303 JUMP JUMPDEST DUP2 EQ PUSH2 0x323 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x335 DUP2 PUSH2 0x30F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x351 JUMPI PUSH2 0x350 PUSH2 0x183 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x35F DUP5 DUP3 DUP6 ADD PUSH2 0x326 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x371 DUP2 PUSH2 0x188 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A4 DUP3 PUSH2 0x20C JUMP JUMPDEST PUSH2 0x3AE DUP2 DUP6 PUSH2 0x377 JUMP JUMPDEST SWAP4 POP PUSH2 0x3BE DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x222 JUMP JUMPDEST PUSH2 0x3C7 DUP2 PUSH2 0x388 JUMP JUMPDEST DUP5 ADD 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 0x3FD DUP3 PUSH2 0x3D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x40D DUP2 PUSH2 0x3F2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x428 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x368 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x43A DUP2 DUP6 PUSH2 0x399 JUMP JUMPDEST SWAP1 POP PUSH2 0x449 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x404 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO 0xF 0xD4 0x4F REVERT LOG0 DUP4 0xD5 0x26 0xC8 SLOAD 0x28 0xE0 DUP3 OR PUSH29 0x9CDBF374705DFAC6390806B155D1453E64736F6C634300081900330000 ",
"sourceMap": "66:598:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;219:443;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;267:24;:43;;;;;;;;;;;;;;;;;;;321:7;330:16;134:4;350:25;;406:7;415:10;389:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;350:86;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;320:116;;;;454:2;446:11;;;;;;511:10;535:3;524:23;;;;;;;;;;;;:::i;:::-;511:36;;565:5;557:14;;;;;;614:41;623:7;632:10;644;614:41;;;;;;;;:::i;:::-;;;;;;;;257:405;;;;219:443;:::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:79::-;1064:7;1093:5;1082:16;;1025:79;;;:::o;1110:157::-;1215:45;1235:24;1253:5;1235:24;:::i;:::-;1215:45;:::i;:::-;1210:3;1203:58;1110:157;;:::o;1273:99::-;1325:6;1359:5;1353:12;1343:22;;1273:99;;;:::o;1378:148::-;1480:11;1517:3;1502:18;;1378:148;;;;:::o;1532:248::-;1614:1;1624:113;1638:6;1635:1;1632:13;1624:113;;;1723:1;1718:3;1714:11;1708:18;1704:1;1699:3;1695:11;1688:39;1660:2;1657:1;1653:10;1648:15;;1624:113;;;1771:1;1762:6;1757:3;1753:16;1746:27;1594:186;1532:248;;;:::o;1786:390::-;1892:3;1920:39;1953:5;1920:39;:::i;:::-;1975:89;2057:6;2052:3;1975:89;:::i;:::-;1968:96;;2073:65;2131:6;2126:3;2119:4;2112:5;2108:16;2073:65;:::i;:::-;2163:6;2158:3;2154:16;2147:23;;1896:280;1786:390;;;;:::o;2182:416::-;2342:3;2357:75;2428:3;2419:6;2357:75;:::i;:::-;2457:2;2452:3;2448:12;2441:19;;2477:95;2568:3;2559:6;2477:95;:::i;:::-;2470:102;;2589:3;2582:10;;2182:416;;;;;:::o;2604:98::-;2655:6;2689:5;2683:12;2673:22;;2604:98;;;:::o;2708:147::-;2809:11;2846:3;2831:18;;2708:147;;;;:::o;2861:386::-;2965:3;2993:38;3025:5;2993:38;:::i;:::-;3047:88;3128:6;3123:3;3047:88;:::i;:::-;3040:95;;3144:65;3202:6;3197:3;3190:4;3183:5;3179:16;3144:65;:::i;:::-;3234:6;3229:3;3225:16;3218:23;;2969:278;2861:386;;;;:::o;3253:271::-;3383:3;3405:93;3494:3;3485:6;3405:93;:::i;:::-;3398:100;;3515:3;3508:10;;3253:271;;;;:::o;3530:90::-;3564:7;3607:5;3600:13;3593:21;3582:32;;3530:90;;;:::o;3626:116::-;3696:21;3711:5;3696:21;:::i;:::-;3689:5;3686:32;3676:60;;3732:1;3729;3722:12;3676:60;3626:116;:::o;3748:137::-;3802:5;3833:6;3827:13;3818:22;;3849:30;3873:5;3849:30;:::i;:::-;3748:137;;;;:::o;3891:345::-;3958:6;4007:2;3995:9;3986:7;3982:23;3978:32;3975:119;;;4013:79;;:::i;:::-;3975:119;4133:1;4158:61;4211:7;4202:6;4191:9;4187:22;4158:61;:::i;:::-;4148:71;;4104:125;3891:345;;;;:::o;4242:118::-;4329:24;4347:5;4329:24;:::i;:::-;4324:3;4317:37;4242:118;;:::o;4366:169::-;4450:11;4484:6;4479:3;4472:19;4524:4;4519:3;4515:14;4500:29;;4366:169;;;;:::o;4541:102::-;4582:6;4633:2;4629:7;4624:2;4617:5;4613:14;4609:28;4599:38;;4541:102;;;:::o;4649:377::-;4737:3;4765:39;4798:5;4765:39;:::i;:::-;4820:71;4884:6;4879:3;4820:71;:::i;:::-;4813:78;;4900:65;4958:6;4953:3;4946:4;4939:5;4935:16;4900:65;:::i;:::-;4990:29;5012:6;4990:29;:::i;:::-;4985:3;4981:39;4974:46;;4741:285;4649:377;;;;:::o;5032:126::-;5069:7;5109:42;5102:5;5098:54;5087:65;;5032:126;;;:::o;5164:96::-;5201:7;5230:24;5248:5;5230:24;:::i;:::-;5219:35;;5164:96;;;:::o;5266:118::-;5353:24;5371:5;5353:24;:::i;:::-;5348:3;5341:37;5266:118;;:::o;5390:533::-;5559:4;5597:2;5586:9;5582:18;5574:26;;5610:71;5678:1;5667:9;5663:17;5654:6;5610:71;:::i;:::-;5728:9;5722:4;5718:20;5713:2;5702:9;5698:18;5691:48;5756:78;5829:4;5820:6;5756:78;:::i;:::-;5748:86;;5844:72;5912:2;5901:9;5897:18;5888:6;5844:72;:::i;:::-;5390:533;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "231800",
"executionCost": "275",
"totalCost": "232075"
},
"external": {
"test(bytes32)": "infinite"
}
},
"methodIdentifiers": {
"test(bytes32)": "99372321"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "imageID",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "receiptURI",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "verified",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "imageID",
"type": "bytes32"
}
],
"name": "test",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.25+commit.b61c2a91"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "imageID",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "receiptURI",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "verified",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "imageID",
"type": "bytes32"
}
],
"name": "test",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/TestVerify.sol": "TestVerify"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/TestVerify.sol": {
"keccak256": "0x8586af8f7fe18e1c966c745b9c8c008ca85e228f370859408ddcf6f94019b98f",
"license": "MIT",
"urls": [
"bzz-raw://b1b8338996c7d66594d023a9c6d10e21fc08a129754762fb990ad68b0b98c22c",
"dweb:/ipfs/QmQ8crjKW3FNHCcPaA1JVS3UH2jsEEk99j1D3X3EmKi8Sw"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.12 <0.9.0;
contract TestVerify {
address constant STARK_VERIFIER = address(0x51);
event verified(bytes32 imageID, string receiptURI, address sender);
function test(bytes32 imageID) public {
string memory receiptURI = "da/receipt.bin";
(bool ok, bytes memory out) = STARK_VERIFIER.staticcall(
abi.encodePacked(imageID, receiptURI)
);
require(ok);
// check that the receipt verified
bool valid = abi.decode(out, (bool));
require(valid);
// log the success
emit verified(imageID, receiptURI, msg.sender);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment