Skip to content

Instantly share code, notes, and snippets.

@eth-jashan
Created January 21, 2022 19:48
Show Gist options
  • Save eth-jashan/d4e42290c70b5654d12e1f2de63023da to your computer and use it in GitHub Desktop.
Save eth-jashan/d4e42290c70b5654d12e1f2de63023da 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.11+commit.d7f03943.js&optimize=false&runs=200&gist=
REMIX EXAMPLE PROJECT
Remix example project is present when Remix loads very first time or there are no files existing in the File Explorer.
It contains 3 directories:
1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name.
2. 'scripts': Holds two scripts to deploy a contract. It is explained below.
3. 'tests': Contains one test file for 'Ballot' contract with unit tests in Solidity.
SCRIPTS
The 'scripts' folder contains example async/await scripts for deploying the 'Storage' contract.
For the deployment of any other contract, 'contractName' and 'constructorArgs' should be updated (along with other code if required).
Scripts have full access to the web3.js and ethers.js libraries.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
{
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_14": {
"entryPoint": null,
"id": 14,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105f3806100606000396000f3fe60806040526004361061004a5760003560e01c80630adec93c1461004f5780638456cb59146100785780638da5cb5b146100a3578063cbedbf5a146100ce578063fc3fbcb5146100d8575b600080fd5b34801561005b57600080fd5b5061007660048036038101906100719190610370565b610101565b005b34801561008457600080fd5b5061008d610229565b60405161009a91906103b8565b60405180910390f35b3480156100af57600080fd5b506100b861023c565b6040516100c591906103f4565b60405180910390f35b6100d6610260565b005b3480156100e457600080fd5b506100ff60048036038101906100fa919061043b565b610262565b005b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461018f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610186906104c5565b60405180910390fd5b600060149054906101000a900460ff16156101df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d690610531565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610225573d6000803e3d6000fd5b5050565b600060149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146102f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e79061059d565b60405180910390fd5b80600060146101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061033d82610312565b9050919050565b61034d81610332565b811461035857600080fd5b50565b60008135905061036a81610344565b92915050565b6000602082840312156103865761038561030d565b5b60006103948482850161035b565b91505092915050565b60008115159050919050565b6103b28161039d565b82525050565b60006020820190506103cd60008301846103a9565b92915050565b60006103de82610312565b9050919050565b6103ee816103d3565b82525050565b600060208201905061040960008301846103e5565b92915050565b6104188161039d565b811461042357600080fd5b50565b6000813590506104358161040f565b92915050565b6000602082840312156104515761045061030d565b5b600061045f84828501610426565b91505092915050565b600082825260208201905092915050565b7f536f72727920796f75206172656e2774206f776e65722e200000000000000000600082015250565b60006104af601883610468565b91506104ba82610479565b602082019050919050565b600060208201905081810360008301526104de816104a2565b9050919050565b7f536f727279204163636f756e742069732044697361626c65642e000000000000600082015250565b600061051b601a83610468565b9150610526826104e5565b602082019050919050565b6000602082019050818103600083015261054a8161050e565b9050919050565b7f536f72727920796f75206172656e2774206f776e657200000000000000000000600082015250565b6000610587601683610468565b915061059282610551565b602082019050919050565b600060208201905081810360008301526105b68161057a565b905091905056fea264697066735822122041483d7512e5cd66ea0a8749e62f518456f93f94dff6e043e3d9003c8a2578b764736f6c634300080b0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x5F3 DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xADEC93C EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0xCBEDBF5A EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0xFC3FBCB5 EQ PUSH2 0xD8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x370 JUMP JUMPDEST PUSH2 0x101 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D PUSH2 0x229 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x3B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB8 PUSH2 0x23C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC5 SWAP2 SWAP1 PUSH2 0x3F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD6 PUSH2 0x260 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x43B JUMP JUMPDEST PUSH2 0x262 JUMP JUMPDEST STOP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x18F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x186 SWAP1 PUSH2 0x4C5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1D6 SWAP1 PUSH2 0x531 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x225 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2F0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2E7 SWAP1 PUSH2 0x59D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D DUP3 PUSH2 0x312 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x34D DUP2 PUSH2 0x332 JUMP JUMPDEST DUP2 EQ PUSH2 0x358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x36A DUP2 PUSH2 0x344 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x386 JUMPI PUSH2 0x385 PUSH2 0x30D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x394 DUP5 DUP3 DUP6 ADD PUSH2 0x35B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3B2 DUP2 PUSH2 0x39D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3CD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DE DUP3 PUSH2 0x312 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3EE DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x409 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3E5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x418 DUP2 PUSH2 0x39D JUMP JUMPDEST DUP2 EQ PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x435 DUP2 PUSH2 0x40F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x451 JUMPI PUSH2 0x450 PUSH2 0x30D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x45F DUP5 DUP3 DUP6 ADD PUSH2 0x426 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x536F72727920796F75206172656E2774206F776E65722E200000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4AF PUSH1 0x18 DUP4 PUSH2 0x468 JUMP JUMPDEST SWAP2 POP PUSH2 0x4BA DUP3 PUSH2 0x479 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4DE DUP2 PUSH2 0x4A2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x536F727279204163636F756E742069732044697361626C65642E000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x51B PUSH1 0x1A DUP4 PUSH2 0x468 JUMP JUMPDEST SWAP2 POP PUSH2 0x526 DUP3 PUSH2 0x4E5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x54A DUP2 PUSH2 0x50E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x536F72727920796F75206172656E2774206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x587 PUSH1 0x16 DUP4 PUSH2 0x468 JUMP JUMPDEST SWAP2 POP PUSH2 0x592 DUP3 PUSH2 0x551 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x5B6 DUP2 PUSH2 0x57A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE BASEFEE RETURNDATASIZE PUSH22 0x12E5CD66EA0A8749E62F518456F93F94DFF6E043E3D9 STOP EXTCODECOPY DUP11 0x25 PUSH25 0xB764736F6C634300080B003300000000000000000000000000 ",
"sourceMap": "61:562:0:-:0;;;149:48;;;;;;;;;;180:10;172:5;;:18;;;;;;;;;;;;;;;;;;61:562;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@owner_3": {
"entryPoint": 572,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@pauseTranx_32": {
"entryPoint": 610,
"id": 32,
"parameterSlots": 1,
"returnSlots": 0
},
"@pause_5": {
"entryPoint": 553,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@sendMoney_36": {
"entryPoint": 608,
"id": 36,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdrawAllMoney_66": {
"entryPoint": 257,
"id": 66,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_payable": {
"entryPoint": 859,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool": {
"entryPoint": 1062,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payable": {
"entryPoint": 880,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool": {
"entryPoint": 1083,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 997,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 937,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1186,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1402,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1294,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1012,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 952,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1221,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1437,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1329,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1128,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 979,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 818,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 925,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 786,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 781,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7": {
"entryPoint": 1145,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b": {
"entryPoint": 1361,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6": {
"entryPoint": 1253,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 836,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1039,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5806:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "519:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "529:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "558:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "540:17:1"
},
"nodeType": "YulFunctionCall",
"src": "540:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "529:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "501:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "511:7:1",
"type": ""
}
],
"src": "466:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "627:87:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "692:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "701:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "704:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "694:6:1"
},
"nodeType": "YulFunctionCall",
"src": "694:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "694:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "650:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "683:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "657:25:1"
},
"nodeType": "YulFunctionCall",
"src": "657:32:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "647:2:1"
},
"nodeType": "YulFunctionCall",
"src": "647:43:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "640:6:1"
},
"nodeType": "YulFunctionCall",
"src": "640:51:1"
},
"nodeType": "YulIf",
"src": "637:71:1"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "620:5:1",
"type": ""
}
],
"src": "576:138:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "780:95:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "790:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "812:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "799:12:1"
},
"nodeType": "YulFunctionCall",
"src": "799:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "790:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "863:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "828:34:1"
},
"nodeType": "YulFunctionCall",
"src": "828:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "828:41:1"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "758:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "766:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "774:5:1",
"type": ""
}
],
"src": "720:155:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "955:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1001:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1003:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1003:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1003:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "976:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "985:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "972:3:1"
},
"nodeType": "YulFunctionCall",
"src": "972:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "997:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "968:3:1"
},
"nodeType": "YulFunctionCall",
"src": "968:32:1"
},
"nodeType": "YulIf",
"src": "965:119:1"
},
{
"nodeType": "YulBlock",
"src": "1094:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1109:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1123:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1113:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1138:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1181:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1192:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1177:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1177:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1201:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1148:28:1"
},
"nodeType": "YulFunctionCall",
"src": "1148:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1138:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "925:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "936:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "948:6:1",
"type": ""
}
],
"src": "881:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1274:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1284:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1309:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1302:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1302:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1295:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1295:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1284:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1256:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1266:7:1",
"type": ""
}
],
"src": "1232:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1387:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1404:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1424:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1409:14:1"
},
"nodeType": "YulFunctionCall",
"src": "1409:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1397:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1397:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1397:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1375:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1382:3:1",
"type": ""
}
],
"src": "1328:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1535:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1545:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1557:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1568:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1553:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1553:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1545:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1619:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1632:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1643:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1628:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1628:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1581:37:1"
},
"nodeType": "YulFunctionCall",
"src": "1581:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "1581:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1507:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1519:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1530:4:1",
"type": ""
}
],
"src": "1443:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1704:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1714:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1743:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1725:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1725:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1714:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1686:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1696:7:1",
"type": ""
}
],
"src": "1659:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1826:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1843:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1866:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1848:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1848:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1836:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1836:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1836:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1814:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1821:3:1",
"type": ""
}
],
"src": "1761:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1983:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1993:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2005:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2016:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2001:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2001:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1993:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2073:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2086:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2097:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2082:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2082:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2029:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2029:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2029:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1955:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1967:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1978:4:1",
"type": ""
}
],
"src": "1885:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2153:76:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2207:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2216:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2219:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2209:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2209:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2209:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2176:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2198:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "2183:14:1"
},
"nodeType": "YulFunctionCall",
"src": "2183:21:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2173:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2173:32:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2166:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:40:1"
},
"nodeType": "YulIf",
"src": "2163:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2146:5:1",
"type": ""
}
],
"src": "2113:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2284:84:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2294:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2316:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2303:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2303:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2294:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2356:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "2332:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2332:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "2332:30:1"
}
]
},
"name": "abi_decode_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2262:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2270:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2278:5:1",
"type": ""
}
],
"src": "2235:133:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2437:260:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2483:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2485:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2485:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2485:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2458:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2467:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2454:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2479:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2450:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2450:32:1"
},
"nodeType": "YulIf",
"src": "2447:119:1"
},
{
"nodeType": "YulBlock",
"src": "2576:114:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2591:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2605:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2595:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2620:60:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2652:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2663:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2648:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2648:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2672:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool",
"nodeType": "YulIdentifier",
"src": "2630:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2630:50:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2620:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2407:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2418:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2430:6:1",
"type": ""
}
],
"src": "2374:323:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2799:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2816:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2821:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2809:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2809:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2809:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2837:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2856:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2861:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2852:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2852:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2837:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2771:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2776:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2787:11:1",
"type": ""
}
],
"src": "2703:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2984:68:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3006:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3014:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3002:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3002:14:1"
},
{
"hexValue": "536f72727920796f75206172656e2774206f776e65722e20",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3018:26:1",
"type": "",
"value": "Sorry you aren't owner. "
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2995:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2995:50:1"
},
"nodeType": "YulExpressionStatement",
"src": "2995:50:1"
}
]
},
"name": "store_literal_in_memory_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2976:6:1",
"type": ""
}
],
"src": "2878:174:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3204:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3214:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3280:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3285:2:1",
"type": "",
"value": "24"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3221:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3221:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3214:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3386:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7",
"nodeType": "YulIdentifier",
"src": "3297:88:1"
},
"nodeType": "YulFunctionCall",
"src": "3297:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "3297:93:1"
},
{
"nodeType": "YulAssignment",
"src": "3399:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3410:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3415:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3406:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3406:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3399:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3192:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3200:3:1",
"type": ""
}
],
"src": "3058:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3601:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3611:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3623:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3634:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3619:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3619:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3611:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3658:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3669:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3654:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3654:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3677:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3683:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3673:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3673:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3647:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3647:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3647:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3703:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3837:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3711:124:1"
},
"nodeType": "YulFunctionCall",
"src": "3711:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3703:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3581:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3596:4:1",
"type": ""
}
],
"src": "3430:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3961:70:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3983:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3991:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3979:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3979:14:1"
},
{
"hexValue": "536f727279204163636f756e742069732044697361626c65642e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3995:28:1",
"type": "",
"value": "Sorry Account is Disabled."
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3972:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3972:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "3972:52:1"
}
]
},
"name": "store_literal_in_memory_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3953:6:1",
"type": ""
}
],
"src": "3855:176:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4183:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4193:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4259:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4264:2:1",
"type": "",
"value": "26"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4200:58:1"
},
"nodeType": "YulFunctionCall",
"src": "4200:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4193:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4365:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6",
"nodeType": "YulIdentifier",
"src": "4276:88:1"
},
"nodeType": "YulFunctionCall",
"src": "4276:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "4276:93:1"
},
{
"nodeType": "YulAssignment",
"src": "4378:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4389:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4394:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4385:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4385:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4378:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4171:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4179:3:1",
"type": ""
}
],
"src": "4037:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4580:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4590:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4602:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4613:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4598:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4598:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4590:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4637:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4648:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4633:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4633:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4656:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4662:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4652:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4652:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4626:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4626:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4682:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4816:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4690:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4690:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4682:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4560:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4575:4:1",
"type": ""
}
],
"src": "4409:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4940:66:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4962:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4958:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4958:14:1"
},
{
"hexValue": "536f72727920796f75206172656e2774206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4974:24:1",
"type": "",
"value": "Sorry you aren't owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4951:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4951:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "4951:48:1"
}
]
},
"name": "store_literal_in_memory_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4932:6:1",
"type": ""
}
],
"src": "4834:172:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5158:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5168:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5234:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5239:2:1",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5175:58:1"
},
"nodeType": "YulFunctionCall",
"src": "5175:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5168:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5340:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b",
"nodeType": "YulIdentifier",
"src": "5251:88:1"
},
"nodeType": "YulFunctionCall",
"src": "5251:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "5251:93:1"
},
{
"nodeType": "YulAssignment",
"src": "5353:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5364:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5369:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5360:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5360:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5353:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5146:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5154:3:1",
"type": ""
}
],
"src": "5012:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5555:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5565:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5577:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5588:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5573:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5573:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5565:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5612:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5623:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5608:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5631:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5637:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5627:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5627:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5601:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5601:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "5601:47:1"
},
{
"nodeType": "YulAssignment",
"src": "5657:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5791:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5665:124:1"
},
"nodeType": "YulFunctionCall",
"src": "5665:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5657:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5535:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5550:4:1",
"type": ""
}
],
"src": "5384:419: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_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\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_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool(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(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7(memPtr) {\n\n mstore(add(memPtr, 0), \"Sorry you aren't owner. \")\n\n }\n\n function abi_encode_t_stringliteral_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4e4ff8c4eea33f2c0de6a922d1eff777160238f01743399795445cba2cfc74e7_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6(memPtr) {\n\n mstore(add(memPtr, 0), \"Sorry Account is Disabled.\")\n\n }\n\n function abi_encode_t_stringliteral_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f4a55099b7dcfd865004e7bc8d8fbaf9618a426cff4f89ef42cf211b8e5961b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b(memPtr) {\n\n mstore(add(memPtr, 0), \"Sorry you aren't owner\")\n\n }\n\n function abi_encode_t_stringliteral_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_eebe99acbc05ac50e6c32ed76fdc529a3fbd090ce9d96a19ac2b02ddc4c7728b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "60806040526004361061004a5760003560e01c80630adec93c1461004f5780638456cb59146100785780638da5cb5b146100a3578063cbedbf5a146100ce578063fc3fbcb5146100d8575b600080fd5b34801561005b57600080fd5b5061007660048036038101906100719190610370565b610101565b005b34801561008457600080fd5b5061008d610229565b60405161009a91906103b8565b60405180910390f35b3480156100af57600080fd5b506100b861023c565b6040516100c591906103f4565b60405180910390f35b6100d6610260565b005b3480156100e457600080fd5b506100ff60048036038101906100fa919061043b565b610262565b005b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461018f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610186906104c5565b60405180910390fd5b600060149054906101000a900460ff16156101df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d690610531565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610225573d6000803e3d6000fd5b5050565b600060149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146102f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e79061059d565b60405180910390fd5b80600060146101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061033d82610312565b9050919050565b61034d81610332565b811461035857600080fd5b50565b60008135905061036a81610344565b92915050565b6000602082840312156103865761038561030d565b5b60006103948482850161035b565b91505092915050565b60008115159050919050565b6103b28161039d565b82525050565b60006020820190506103cd60008301846103a9565b92915050565b60006103de82610312565b9050919050565b6103ee816103d3565b82525050565b600060208201905061040960008301846103e5565b92915050565b6104188161039d565b811461042357600080fd5b50565b6000813590506104358161040f565b92915050565b6000602082840312156104515761045061030d565b5b600061045f84828501610426565b91505092915050565b600082825260208201905092915050565b7f536f72727920796f75206172656e2774206f776e65722e200000000000000000600082015250565b60006104af601883610468565b91506104ba82610479565b602082019050919050565b600060208201905081810360008301526104de816104a2565b9050919050565b7f536f727279204163636f756e742069732044697361626c65642e000000000000600082015250565b600061051b601a83610468565b9150610526826104e5565b602082019050919050565b6000602082019050818103600083015261054a8161050e565b9050919050565b7f536f72727920796f75206172656e2774206f776e657200000000000000000000600082015250565b6000610587601683610468565b915061059282610551565b602082019050919050565b600060208201905081810360008301526105b68161057a565b905091905056fea264697066735822122041483d7512e5cd66ea0a8749e62f518456f93f94dff6e043e3d9003c8a2578b764736f6c634300080b0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xADEC93C EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0xCBEDBF5A EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0xFC3FBCB5 EQ PUSH2 0xD8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x370 JUMP JUMPDEST PUSH2 0x101 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D PUSH2 0x229 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x3B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB8 PUSH2 0x23C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC5 SWAP2 SWAP1 PUSH2 0x3F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD6 PUSH2 0x260 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xFA SWAP2 SWAP1 PUSH2 0x43B JUMP JUMPDEST PUSH2 0x262 JUMP JUMPDEST STOP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x18F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x186 SWAP1 PUSH2 0x4C5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1D6 SWAP1 PUSH2 0x531 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x225 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2F0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2E7 SWAP1 PUSH2 0x59D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D DUP3 PUSH2 0x312 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x34D DUP2 PUSH2 0x332 JUMP JUMPDEST DUP2 EQ PUSH2 0x358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x36A DUP2 PUSH2 0x344 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x386 JUMPI PUSH2 0x385 PUSH2 0x30D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x394 DUP5 DUP3 DUP6 ADD PUSH2 0x35B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3B2 DUP2 PUSH2 0x39D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3CD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DE DUP3 PUSH2 0x312 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3EE DUP2 PUSH2 0x3D3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x409 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3E5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x418 DUP2 PUSH2 0x39D JUMP JUMPDEST DUP2 EQ PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x435 DUP2 PUSH2 0x40F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x451 JUMPI PUSH2 0x450 PUSH2 0x30D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x45F DUP5 DUP3 DUP6 ADD PUSH2 0x426 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x536F72727920796F75206172656E2774206F776E65722E200000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4AF PUSH1 0x18 DUP4 PUSH2 0x468 JUMP JUMPDEST SWAP2 POP PUSH2 0x4BA DUP3 PUSH2 0x479 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4DE DUP2 PUSH2 0x4A2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x536F727279204163636F756E742069732044697361626C65642E000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x51B PUSH1 0x1A DUP4 PUSH2 0x468 JUMP JUMPDEST SWAP2 POP PUSH2 0x526 DUP3 PUSH2 0x4E5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x54A DUP2 PUSH2 0x50E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x536F72727920796F75206172656E2774206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x587 PUSH1 0x16 DUP4 PUSH2 0x468 JUMP JUMPDEST SWAP2 POP PUSH2 0x592 DUP3 PUSH2 0x551 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x5B6 DUP2 PUSH2 0x57A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE BASEFEE RETURNDATASIZE PUSH22 0x12E5CD66EA0A8749E62F518456F93F94DFF6E043E3D9 STOP EXTCODECOPY DUP11 0x25 PUSH25 0xB764736F6C634300080B003300000000000000000000000000 ",
"sourceMap": "61:562:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;394:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;125:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;99:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;344:44;;;:::i;:::-;;202:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;394:227;475:10;466:19;;:5;;;;;;;;;;:19;;;458:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;533:5;;;;;;;;;;;532:6;524:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;579:3;:12;;:35;592:21;579:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;394:227;:::o;125:17::-;;;;;;;;;;;;;:::o;99:20::-;;;;;;;;;;;;:::o;344:44::-;:::o;202:137::-;270:10;261:19;;:5;;;;;;;;;;:19;;;253:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;325:7;317:5;;:15;;;;;;;;;;;;;;;;;;202:137;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:104::-;511:7;540:24;558:5;540:24;:::i;:::-;529:35;;466:104;;;:::o;576:138::-;657:32;683:5;657:32;:::i;:::-;650:5;647:43;637:71;;704:1;701;694:12;637:71;576:138;:::o;720:155::-;774:5;812:6;799:20;790:29;;828:41;863:5;828:41;:::i;:::-;720:155;;;;:::o;881:345::-;948:6;997:2;985:9;976:7;972:23;968:32;965:119;;;1003:79;;:::i;:::-;965:119;1123:1;1148:61;1201:7;1192:6;1181:9;1177:22;1148:61;:::i;:::-;1138:71;;1094:125;881:345;;;;:::o;1232:90::-;1266:7;1309:5;1302:13;1295:21;1284:32;;1232:90;;;:::o;1328:109::-;1409:21;1424:5;1409:21;:::i;:::-;1404:3;1397:34;1328:109;;:::o;1443:210::-;1530:4;1568:2;1557:9;1553:18;1545:26;;1581:65;1643:1;1632:9;1628:17;1619:6;1581:65;:::i;:::-;1443:210;;;;:::o;1659:96::-;1696:7;1725:24;1743:5;1725:24;:::i;:::-;1714:35;;1659:96;;;:::o;1761:118::-;1848:24;1866:5;1848:24;:::i;:::-;1843:3;1836:37;1761:118;;:::o;1885:222::-;1978:4;2016:2;2005:9;2001:18;1993:26;;2029:71;2097:1;2086:9;2082:17;2073:6;2029:71;:::i;:::-;1885:222;;;;:::o;2113:116::-;2183:21;2198:5;2183:21;:::i;:::-;2176:5;2173:32;2163:60;;2219:1;2216;2209:12;2163:60;2113:116;:::o;2235:133::-;2278:5;2316:6;2303:20;2294:29;;2332:30;2356:5;2332:30;:::i;:::-;2235:133;;;;:::o;2374:323::-;2430:6;2479:2;2467:9;2458:7;2454:23;2450:32;2447:119;;;2485:79;;:::i;:::-;2447:119;2605:1;2630:50;2672:7;2663:6;2652:9;2648:22;2630:50;:::i;:::-;2620:60;;2576:114;2374:323;;;;:::o;2703:169::-;2787:11;2821:6;2816:3;2809:19;2861:4;2856:3;2852:14;2837:29;;2703:169;;;;:::o;2878:174::-;3018:26;3014:1;3006:6;3002:14;2995:50;2878:174;:::o;3058:366::-;3200:3;3221:67;3285:2;3280:3;3221:67;:::i;:::-;3214:74;;3297:93;3386:3;3297:93;:::i;:::-;3415:2;3410:3;3406:12;3399:19;;3058:366;;;:::o;3430:419::-;3596:4;3634:2;3623:9;3619:18;3611:26;;3683:9;3677:4;3673:20;3669:1;3658:9;3654:17;3647:47;3711:131;3837:4;3711:131;:::i;:::-;3703:139;;3430:419;;;:::o;3855:176::-;3995:28;3991:1;3983:6;3979:14;3972:52;3855:176;:::o;4037:366::-;4179:3;4200:67;4264:2;4259:3;4200:67;:::i;:::-;4193:74;;4276:93;4365:3;4276:93;:::i;:::-;4394:2;4389:3;4385:12;4378:19;;4037:366;;;:::o;4409:419::-;4575:4;4613:2;4602:9;4598:18;4590:26;;4662:9;4656:4;4652:20;4648:1;4637:9;4633:17;4626:47;4690:131;4816:4;4690:131;:::i;:::-;4682:139;;4409:419;;;:::o;4834:172::-;4974:24;4970:1;4962:6;4958:14;4951:48;4834:172;:::o;5012:366::-;5154:3;5175:67;5239:2;5234:3;5175:67;:::i;:::-;5168:74;;5251:93;5340:3;5251:93;:::i;:::-;5369:2;5364:3;5360:12;5353:19;;5012:366;;;:::o;5384:419::-;5550:4;5588:2;5577:9;5573:18;5565:26;;5637:9;5631:4;5627:20;5623:1;5612:9;5608:17;5601:47;5665:131;5791:4;5665:131;:::i;:::-;5657:139;;5384:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "304600",
"executionCost": "24609",
"totalCost": "329209"
},
"external": {
"owner()": "2533",
"pause()": "2521",
"pauseTranx(bool)": "26962",
"sendMoney()": "164",
"withdrawAllMoney(address)": "infinite"
}
},
"methodIdentifiers": {
"owner()": "8da5cb5b",
"pause()": "8456cb59",
"pauseTranx(bool)": "fc3fbcb5",
"sendMoney()": "cbedbf5a",
"withdrawAllMoney(address)": "0adec93c"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "_paused",
"type": "bool"
}
],
"name": "pauseTranx",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "sendMoney",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
}
],
"name": "withdrawAllMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.11+commit.d7f03943"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "_paused",
"type": "bool"
}
],
"name": "pauseTranx",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "sendMoney",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
}
],
"name": "withdrawAllMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/SecuringSmartContract.sol": "StartStopUpdateExample"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/SecuringSmartContract.sol": {
"keccak256": "0xd0c8366e24a6a865f3967f09ac7612902040226ca1960599383160616afbc0ba",
"license": "GPL-3.0",
"urls": [
"bzz-raw://c9f083f4db8dd0a7a0051fefc05cf6bb974f09e939de24943890d76b2122cea9",
"dweb:/ipfs/QmaHgC3fuNaRk4VkoCFjMA1KVis7SfWkSEQLXhSiE3WrjM"
]
}
},
"version": 1
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.1;
contract StartStopUpdateExample {
address public owner;
bool public pause;
constructor(){
owner = msg.sender;
}
function pauseTranx(bool _paused) public {
require(owner == msg.sender, "Sorry you aren't owner");
pause = _paused;
}
function sendMoney() public payable {
}
function withdrawAllMoney(address payable _to) public {
require(owner == msg.sender, "Sorry you aren't owner. ");
require(!pause, "Sorry Account is Disabled.");
_to.transfer(address(this).balance);
}
}
pragma solidity ^0.8.1;
contract SendMoneyExample {
uint public balanceReceived;
function receiveMoney() public payable {
balanceReceived += msg.value;
}
function getBalance() public view returns(uint) {
return address(this).balance;
}
// function withdrawMoney() public {
// address payable to = payable(msg.sender);
// to.transfer(getBalance());
// }
function withdrawMoney(address payable _to) public {
// address payable to = payable(msg.sender);
_to.transfer(getBalance());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment