diff --git a/build/contracts/BEChip.json b/build/contracts/BEChip.json index 078b66d..48cb8eb 100644 --- a/build/contracts/BEChip.json +++ b/build/contracts/BEChip.json @@ -30119,12 +30119,12 @@ } }, "links": {}, - "address": "0xBCF4C381a0053236ea3DA79BeCe00F2dF3cB404D", - "transactionHash": "0x768704273f471789083d4b7816d67d6e3d22b3cc6371c9a07c4f26c5eb5893e8" + "address": "0x85A780d8A7AB5fcc4412f053c887B4a6A41ce885", + "transactionHash": "0x9b70700a5a89ba90cf8e30afa08a5d98cd866d706bdd9f2e0e11d266dd734ba4" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-12T03:12:23.405Z", + "updatedAt": "2022-01-12T06:14:06.672Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BECoin.json b/build/contracts/BECoin.json index 8e217b4..c92bad0 100644 --- a/build/contracts/BECoin.json +++ b/build/contracts/BECoin.json @@ -18080,12 +18080,12 @@ } }, "links": {}, - "address": "0xD733FB8412c09aab9a4b24d06B607bEEA79c5810", - "transactionHash": "0xc2e3a40e56b93c879395a606f0cdf4926e0e210624199433f16011624c5cc095" + "address": "0x23ea63535771da07F0dbc5169c9515ffCe8C908a", + "transactionHash": "0xba84707e1943a789a05b3b27febfef0cefa3d2a2b6637da34910489571e9d8e9" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-12T03:12:23.441Z", + "updatedAt": "2022-01-12T06:14:06.725Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BEEquipment.json b/build/contracts/BEEquipment.json index 95b2a11..5310c19 100644 --- a/build/contracts/BEEquipment.json +++ b/build/contracts/BEEquipment.json @@ -30119,12 +30119,12 @@ } }, "links": {}, - "address": "0xC7c9a1b210F2048a3e2c016811BC401F625E4287", - "transactionHash": "0xec634e5ea358b540ec7189b39d5ca09e2263778dbaad86d126f2d56edb3f32cc" + "address": "0x0e436299A0275De90c63684514621E5288c4E583", + "transactionHash": "0x13ef22d65ab890aa84adef31cdafb3bff18f32e9b230da361470b7df5785c78f" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-12T03:12:23.391Z", + "updatedAt": "2022-01-12T06:14:06.646Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/BEHero.json b/build/contracts/BEHero.json index 32940d2..31055a2 100644 --- a/build/contracts/BEHero.json +++ b/build/contracts/BEHero.json @@ -30125,12 +30125,12 @@ } }, "links": {}, - "address": "0xe4282f12C6Da2d2A27bBb192C1AA58e3Ad589EFB", - "transactionHash": "0x717703990a50a36cfce6ef00a4a997728fde7040ae00b8ff378c71d6f9cbcfe1" + "address": "0x51fE79AA2DDB1C5e6D5D00Bd442B032605771F15", + "transactionHash": "0x86fd04bb5575e1be623bdf74c0b4af4cb044ae12f87898f57562148ef0a79680" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-12T03:12:23.375Z", + "updatedAt": "2022-01-12T06:14:06.626Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/HasSignature.json b/build/contracts/HasSignature.json index 3bb5577..387cae7 100644 --- a/build/contracts/HasSignature.json +++ b/build/contracts/HasSignature.json @@ -3,121 +3,38 @@ "abi": [ { "inputs": [ - { - "internalType": "bytes32", - "name": "_messageHash", - "type": "bytes32" - } - ], - "name": "getEthSignedMessageHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_ethSignedMessageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - } - ], - "name": "recoverSigner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "h", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "checkSignature", - "outputs": [ { "internalType": "address", "name": "signer", "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, { "internalType": "bytes", - "name": "sig", + "name": "signature", "type": "bytes" } ], - "name": "splitSignature", - "outputs": [ - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - } - ], + "name": "checkSigner", + "outputs": [], "stateMutability": "pure", "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"h\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"checkSignature\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageHash\",\"type\":\"bytes32\"}],\"name\":\"getEthSignedMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_ethSignedMessageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"recoverSigner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"sig\",\"type\":\"bytes\"}],\"name\":\"splitSignature\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/HasSignature.sol\":\"HasSignature\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/HasSignature.sol\":{\"keccak256\":\"0x0e1c1708e341d231937f5116367cbac5ff5ca0d7ffa25710a486e19ecce6900f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfc1d1211acfd4e96cc948ffc3e99d98cc3df6dc0aa04eea55c4023e81be522d\",\"dweb:/ipfs/QmQKpeETunHzuRwnazAAa6ayAyDg9fbHcichZbvGdNooQV\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506108e3806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806397aba7f914610051578063a7bb580314610081578063eedaa500146100b3578063fa540801146100e3575b600080fd5b61006b6004803603810190610066919061046d565b610113565b604051610078919061050a565b60405180910390f35b61009b60048036038101906100969190610525565b610182565b6040516100aa93929190610599565b60405180910390f35b6100cd60048036038101906100c891906105fc565b6101ea565b6040516100da919061050a565b60405180910390f35b6100fd60048036038101906100f89190610663565b6102ad565b60405161010a9190610690565b60405180910390f35b60008060008061012285610182565b9250925092506001868285856040516000815260200160405260405161014b94939291906106ab565b6020604051602081039080840390855afa15801561016d573d6000803e3d6000fd5b50505060206040510351935050505092915050565b600080600060418451146101cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c29061074d565b60405180910390fd5b6020840151925060408401519150606084015160001a90509193909250565b6000806040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a33320000000081525090506000818760405160200161023a929190610808565b6040516020818303038152906040528051906020012090506001818787876040516000815260200160405260405161027594939291906106ab565b6020604051602081039080840390855afa158015610297573d6000803e3d6000fd5b5050506020604051035192505050949350505050565b6000816040516020016102c09190610887565b604051602081830303815290604052805190602001209050919050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610304816102f1565b811461030f57600080fd5b50565b600081359050610321816102fb565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61037a82610331565b810181811067ffffffffffffffff8211171561039957610398610342565b5b80604052505050565b60006103ac6102dd565b90506103b88282610371565b919050565b600067ffffffffffffffff8211156103d8576103d7610342565b5b6103e182610331565b9050602081019050919050565b82818337600083830152505050565b600061041061040b846103bd565b6103a2565b90508281526020810184848401111561042c5761042b61032c565b5b6104378482856103ee565b509392505050565b600082601f83011261045457610453610327565b5b81356104648482602086016103fd565b91505092915050565b60008060408385031215610484576104836102e7565b5b600061049285828601610312565b925050602083013567ffffffffffffffff8111156104b3576104b26102ec565b5b6104bf8582860161043f565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104f4826104c9565b9050919050565b610504816104e9565b82525050565b600060208201905061051f60008301846104fb565b92915050565b60006020828403121561053b5761053a6102e7565b5b600082013567ffffffffffffffff811115610559576105586102ec565b5b6105658482850161043f565b91505092915050565b610577816102f1565b82525050565b600060ff82169050919050565b6105938161057d565b82525050565b60006060820190506105ae600083018661056e565b6105bb602083018561056e565b6105c8604083018461058a565b949350505050565b6105d98161057d565b81146105e457600080fd5b50565b6000813590506105f6816105d0565b92915050565b60008060008060808587031215610616576106156102e7565b5b600061062487828801610312565b9450506020610635878288016105e7565b935050604061064687828801610312565b925050606061065787828801610312565b91505092959194509250565b600060208284031215610679576106786102e7565b5b600061068784828501610312565b91505092915050565b60006020820190506106a5600083018461056e565b92915050565b60006080820190506106c0600083018761056e565b6106cd602083018661058a565b6106da604083018561056e565b6106e7606083018461056e565b95945050505050565b600082825260208201905092915050565b7f696e76616c6964207369676e6174757265206c656e6774680000000000000000600082015250565b60006107376018836106f0565b915061074282610701565b602082019050919050565b600060208201905081810360008301526107668161072a565b9050919050565b600081519050919050565b600081905092915050565b60005b838110156107a1578082015181840152602081019050610786565b838111156107b0576000848401525b50505050565b60006107c18261076d565b6107cb8185610778565b93506107db818560208601610783565b80840191505092915050565b6000819050919050565b6108026107fd826102f1565b6107e7565b82525050565b600061081482856107b6565b915061082082846107f1565b6020820191508190509392505050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000610871601c83610830565b915061087c8261083b565b601c82019050919050565b600061089282610864565b915061089e82846107f1565b6020820191508190509291505056fea2646970667358221220f3ae7c1c5c011943c7c4c3b247537e32d38942a6cb3e0b6512553863153a0db864736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806397aba7f914610051578063a7bb580314610081578063eedaa500146100b3578063fa540801146100e3575b600080fd5b61006b6004803603810190610066919061046d565b610113565b604051610078919061050a565b60405180910390f35b61009b60048036038101906100969190610525565b610182565b6040516100aa93929190610599565b60405180910390f35b6100cd60048036038101906100c891906105fc565b6101ea565b6040516100da919061050a565b60405180910390f35b6100fd60048036038101906100f89190610663565b6102ad565b60405161010a9190610690565b60405180910390f35b60008060008061012285610182565b9250925092506001868285856040516000815260200160405260405161014b94939291906106ab565b6020604051602081039080840390855afa15801561016d573d6000803e3d6000fd5b50505060206040510351935050505092915050565b600080600060418451146101cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c29061074d565b60405180910390fd5b6020840151925060408401519150606084015160001a90509193909250565b6000806040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a33320000000081525090506000818760405160200161023a929190610808565b6040516020818303038152906040528051906020012090506001818787876040516000815260200160405260405161027594939291906106ab565b6020604051602081039080840390855afa158015610297573d6000803e3d6000fd5b5050506020604051035192505050949350505050565b6000816040516020016102c09190610887565b604051602081830303815290604052805190602001209050919050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610304816102f1565b811461030f57600080fd5b50565b600081359050610321816102fb565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61037a82610331565b810181811067ffffffffffffffff8211171561039957610398610342565b5b80604052505050565b60006103ac6102dd565b90506103b88282610371565b919050565b600067ffffffffffffffff8211156103d8576103d7610342565b5b6103e182610331565b9050602081019050919050565b82818337600083830152505050565b600061041061040b846103bd565b6103a2565b90508281526020810184848401111561042c5761042b61032c565b5b6104378482856103ee565b509392505050565b600082601f83011261045457610453610327565b5b81356104648482602086016103fd565b91505092915050565b60008060408385031215610484576104836102e7565b5b600061049285828601610312565b925050602083013567ffffffffffffffff8111156104b3576104b26102ec565b5b6104bf8582860161043f565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104f4826104c9565b9050919050565b610504816104e9565b82525050565b600060208201905061051f60008301846104fb565b92915050565b60006020828403121561053b5761053a6102e7565b5b600082013567ffffffffffffffff811115610559576105586102ec565b5b6105658482850161043f565b91505092915050565b610577816102f1565b82525050565b600060ff82169050919050565b6105938161057d565b82525050565b60006060820190506105ae600083018661056e565b6105bb602083018561056e565b6105c8604083018461058a565b949350505050565b6105d98161057d565b81146105e457600080fd5b50565b6000813590506105f6816105d0565b92915050565b60008060008060808587031215610616576106156102e7565b5b600061062487828801610312565b9450506020610635878288016105e7565b935050604061064687828801610312565b925050606061065787828801610312565b91505092959194509250565b600060208284031215610679576106786102e7565b5b600061068784828501610312565b91505092915050565b60006020820190506106a5600083018461056e565b92915050565b60006080820190506106c0600083018761056e565b6106cd602083018661058a565b6106da604083018561056e565b6106e7606083018461056e565b95945050505050565b600082825260208201905092915050565b7f696e76616c6964207369676e6174757265206c656e6774680000000000000000600082015250565b60006107376018836106f0565b915061074282610701565b602082019050919050565b600060208201905081810360008301526107668161072a565b9050919050565b600081519050919050565b600081905092915050565b60005b838110156107a1578082015181840152602081019050610786565b838111156107b0576000848401525b50505050565b60006107c18261076d565b6107cb8185610778565b93506107db818560208601610783565b80840191505092915050565b6000819050919050565b6108026107fd826102f1565b6107e7565b82525050565b600061081482856107b6565b915061082082846107f1565b6020820191508190509392505050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000610871601c83610830565b915061087c8261083b565b601c82019050919050565b600061089282610864565b915061089e82846107f1565b6020820191508190509291505056fea2646970667358221220f3ae7c1c5c011943c7c4c3b247537e32d38942a6cb3e0b6512553863153a0db864736f6c634300080a0033", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"checkSigner\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/HasSignature.sol\":\"HasSignature\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xe9e291de7ffe06e66503c6700b1bb84ff6e0989cbb974653628d8994e7c97f03\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c1e25b64dd48a67832ea99b2f5b3cb18ed8ada44e0391ed896d7a293200df3b\",\"dweb:/ipfs/Qmd4nwBHmB7An2MmebcagkTx2m5mRGZPR32u1xCHqEKerh\"]},\"project:/contracts/HasSignature.sol\":{\"keccak256\":\"0x6b7961618de8b0d0c8a80c31a5a4916b60c57e895c5a06d7d33e872119590734\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94861085229ada1f347598c4d14188a19bcf0d83cf1fd5c84f4337b539ba0222\",\"dweb:/ipfs/Qmf3og8c4UP8ENCsQutWpQDE3zYppzHCWQbrcMuhQzwJWr\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50610bdf806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636d04319414610030575b600080fd5b61004a60048036038101906100459190610718565b61004c565b005b6041815114610090576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610087906107e4565b60405180910390fd5b600061009b83610120565b905060006100a98284610150565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011090610850565b60405180910390fd5b5050505050565b60008160405160200161013391906108e8565b604051602081830303815290604052805190602001209050919050565b600080600061015f8585610177565b9150915061016c816101fa565b819250505092915050565b6000806041835114156101b95760008060006020860151925060408601519150606086015160001a90506101ad878285856103cf565b945094505050506101f3565b6040835114156101ea5760008060208501519150604085015190506101df8683836104dc565b9350935050506101f3565b60006002915091505b9250929050565b6000600481111561020e5761020d61090e565b5b8160048111156102215761022061090e565b5b141561022c576103cc565b600160048111156102405761023f61090e565b5b8160048111156102535761025261090e565b5b1415610294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028b90610989565b60405180910390fd5b600260048111156102a8576102a761090e565b5b8160048111156102bb576102ba61090e565b5b14156102fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f3906109f5565b60405180910390fd5b600360048111156103105761030f61090e565b5b8160048111156103235761032261090e565b5b1415610364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035b90610a87565b60405180910390fd5b6004808111156103775761037661090e565b5b81600481111561038a5761038961090e565b5b14156103cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c290610b19565b60405180910390fd5b5b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561040a5760006003915091506104d3565b601b8560ff16141580156104225750601c8560ff1614155b156104345760006004915091506104d3565b6000600187878787604051600081526020016040526040516104599493929190610b64565b6020604051602081039080840390855afa15801561047b573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104ca576000600192509250506104d3565b80600092509250505b94509492505050565b6000806000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c01905061051c878288856103cf565b935093505050935093915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105698261053e565b9050919050565b6105798161055e565b811461058457600080fd5b50565b60008135905061059681610570565b92915050565b6000819050919050565b6105af8161059c565b81146105ba57600080fd5b50565b6000813590506105cc816105a6565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610625826105dc565b810181811067ffffffffffffffff82111715610644576106436105ed565b5b80604052505050565b600061065761052a565b9050610663828261061c565b919050565b600067ffffffffffffffff821115610683576106826105ed565b5b61068c826105dc565b9050602081019050919050565b82818337600083830152505050565b60006106bb6106b684610668565b61064d565b9050828152602081018484840111156106d7576106d66105d7565b5b6106e2848285610699565b509392505050565b600082601f8301126106ff576106fe6105d2565b5b813561070f8482602086016106a8565b91505092915050565b60008060006060848603121561073157610730610534565b5b600061073f86828701610587565b9350506020610750868287016105bd565b925050604084013567ffffffffffffffff81111561077157610770610539565b5b61077d868287016106ea565b9150509250925092565b600082825260208201905092915050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b60006107ce601d83610787565b91506107d982610798565b602082019050919050565b600060208201905081810360008301526107fd816107c1565b9050919050565b7f5b42455d20696e76616c69642073656c6c6572207369676e6174757265000000600082015250565b600061083a601d83610787565b915061084582610804565b602082019050919050565b600060208201905081810360008301526108698161082d565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b60006108b1601c83610870565b91506108bc8261087b565b601c82019050919050565b6000819050919050565b6108e26108dd8261059c565b6108c7565b82525050565b60006108f3826108a4565b91506108ff82846108d1565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000610973601883610787565b915061097e8261093d565b602082019050919050565b600060208201905081810360008301526109a281610966565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006109df601f83610787565b91506109ea826109a9565b602082019050919050565b60006020820190508181036000830152610a0e816109d2565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000610a71602283610787565b9150610a7c82610a15565b604082019050919050565b60006020820190508181036000830152610aa081610a64565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000610b03602283610787565b9150610b0e82610aa7565b604082019050919050565b60006020820190508181036000830152610b3281610af6565b9050919050565b610b428161059c565b82525050565b600060ff82169050919050565b610b5e81610b48565b82525050565b6000608082019050610b796000830187610b39565b610b866020830186610b55565b610b936040830185610b39565b610ba06060830184610b39565b9594505050505056fea2646970667358221220d0f8c02ddfa96b7de913c8ab895880d456515ed56f16cc8552a161479b01fc9264736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80636d04319414610030575b600080fd5b61004a60048036038101906100459190610718565b61004c565b005b6041815114610090576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610087906107e4565b60405180910390fd5b600061009b83610120565b905060006100a98284610150565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011090610850565b60405180910390fd5b5050505050565b60008160405160200161013391906108e8565b604051602081830303815290604052805190602001209050919050565b600080600061015f8585610177565b9150915061016c816101fa565b819250505092915050565b6000806041835114156101b95760008060006020860151925060408601519150606086015160001a90506101ad878285856103cf565b945094505050506101f3565b6040835114156101ea5760008060208501519150604085015190506101df8683836104dc565b9350935050506101f3565b60006002915091505b9250929050565b6000600481111561020e5761020d61090e565b5b8160048111156102215761022061090e565b5b141561022c576103cc565b600160048111156102405761023f61090e565b5b8160048111156102535761025261090e565b5b1415610294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028b90610989565b60405180910390fd5b600260048111156102a8576102a761090e565b5b8160048111156102bb576102ba61090e565b5b14156102fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f3906109f5565b60405180910390fd5b600360048111156103105761030f61090e565b5b8160048111156103235761032261090e565b5b1415610364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035b90610a87565b60405180910390fd5b6004808111156103775761037661090e565b5b81600481111561038a5761038961090e565b5b14156103cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c290610b19565b60405180910390fd5b5b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561040a5760006003915091506104d3565b601b8560ff16141580156104225750601c8560ff1614155b156104345760006004915091506104d3565b6000600187878787604051600081526020016040526040516104599493929190610b64565b6020604051602081039080840390855afa15801561047b573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104ca576000600192509250506104d3565b80600092509250505b94509492505050565b6000806000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c01905061051c878288856103cf565b935093505050935093915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105698261053e565b9050919050565b6105798161055e565b811461058457600080fd5b50565b60008135905061059681610570565b92915050565b6000819050919050565b6105af8161059c565b81146105ba57600080fd5b50565b6000813590506105cc816105a6565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610625826105dc565b810181811067ffffffffffffffff82111715610644576106436105ed565b5b80604052505050565b600061065761052a565b9050610663828261061c565b919050565b600067ffffffffffffffff821115610683576106826105ed565b5b61068c826105dc565b9050602081019050919050565b82818337600083830152505050565b60006106bb6106b684610668565b61064d565b9050828152602081018484840111156106d7576106d66105d7565b5b6106e2848285610699565b509392505050565b600082601f8301126106ff576106fe6105d2565b5b813561070f8482602086016106a8565b91505092915050565b60008060006060848603121561073157610730610534565b5b600061073f86828701610587565b9350506020610750868287016105bd565b925050604084013567ffffffffffffffff81111561077157610770610539565b5b61077d868287016106ea565b9150509250925092565b600082825260208201905092915050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b60006107ce601d83610787565b91506107d982610798565b602082019050919050565b600060208201905081810360008301526107fd816107c1565b9050919050565b7f5b42455d20696e76616c69642073656c6c6572207369676e6174757265000000600082015250565b600061083a601d83610787565b915061084582610804565b602082019050919050565b600060208201905081810360008301526108698161082d565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b60006108b1601c83610870565b91506108bc8261087b565b601c82019050919050565b6000819050919050565b6108e26108dd8261059c565b6108c7565b82525050565b60006108f3826108a4565b91506108ff82846108d1565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000610973601883610787565b915061097e8261093d565b602082019050919050565b600060208201905081810360008301526109a281610966565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006109df601f83610787565b91506109ea826109a9565b602082019050919050565b60006020820190508181036000830152610a0e816109d2565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000610a71602283610787565b9150610a7c82610a15565b604082019050919050565b60006020820190508181036000830152610aa081610a64565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000610b03602283610787565b9150610b0e82610aa7565b604082019050919050565b60006020820190508181036000830152610b3281610af6565b9050919050565b610b428161059c565b82525050565b600060ff82169050919050565b610b5e81610b48565b82525050565b6000608082019050610b796000830187610b39565b610b866020830186610b55565b610b936040830185610b39565b610ba06060830184610b39565b9594505050505056fea2646970667358221220d0f8c02ddfa96b7de913c8ab895880d456515ed56f16cc8552a161479b01fc9264736f6c634300080a0033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [ { "ast": { "nodeType": "YulBlock", - "src": "0:11649:13", + "src": "0:12982:13", "statements": [ { "body": { @@ -250,15 +167,33 @@ { "body": { "nodeType": "YulBlock", - "src": "379:32:13", + "src": "379:81:13", "statements": [ { "nodeType": "YulAssignment", - "src": "389:16:13", + "src": "389:65:13", "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "400:5:13" + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "404:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "411:42:13", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "400:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "400:54:13" }, "variableNames": [ { @@ -270,7 +205,7 @@ } ] }, - "name": "cleanup_t_bytes32", + "name": "cleanup_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { @@ -288,1774 +223,37 @@ "type": "" } ], - "src": "334:77:13" + "src": "334:126:13" }, { "body": { "nodeType": "YulBlock", - "src": "460:79:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "517:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "526:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "529:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "519:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "519:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "519:12:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "483:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "508:5:13" - } - ], - "functionName": { - "name": "cleanup_t_bytes32", - "nodeType": "YulIdentifier", - "src": "490:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "490:24:13" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "480:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "480:35:13" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "473:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "473:43:13" - }, - "nodeType": "YulIf", - "src": "470:63:13" - } - ] - }, - "name": "validator_revert_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "453:5:13", - "type": "" - } - ], - "src": "417:122:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "597:87:13", + "src": "511:51:13", "statements": [ { "nodeType": "YulAssignment", - "src": "607:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "629:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "616:12:13" - }, - "nodeType": "YulFunctionCall", - "src": "616:20:13" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "607:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "672:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_bytes32", - "nodeType": "YulIdentifier", - "src": "645:26:13" - }, - "nodeType": "YulFunctionCall", - "src": "645:33:13" - }, - "nodeType": "YulExpressionStatement", - "src": "645:33:13" - } - ] - }, - "name": "abi_decode_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "575:6:13", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "583:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "591:5:13", - "type": "" - } - ], - "src": "545:139:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "779:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "796:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "799:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "789:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "789:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "789:12:13" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulFunctionDefinition", - "src": "690:117:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "902:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "919:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "922:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "912:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "912:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "912:12:13" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulFunctionDefinition", - "src": "813:117:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "984:54:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "994:38:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1012:5:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1019:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1008:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "1008:14:13" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1028:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1024:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "1024:7:13" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1004:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "1004:28:13" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "994:6:13" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "967:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "977:6:13", - "type": "" - } - ], - "src": "936:102:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1072:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1089:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1092:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1082:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "1082:88:13" - }, - "nodeType": "YulExpressionStatement", - "src": "1082:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1186:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1189:4:13", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1179:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "1179:15:13" - }, - "nodeType": "YulExpressionStatement", - "src": "1179:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1210:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1213:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1203:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "1203:15:13" - }, - "nodeType": "YulExpressionStatement", - "src": "1203:15:13" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "1044:180:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1273:238:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1283:58:13", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1305:6:13" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1335:4:13" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "1313:21:13" - }, - "nodeType": "YulFunctionCall", - "src": "1313:27:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1301:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "1301:40:13" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "1287:10:13", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1452:22:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1454:16:13" - }, - "nodeType": "YulFunctionCall", - "src": "1454:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "1454:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1395:10:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1407:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1392:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "1392:34:13" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1431:10:13" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1443:6:13" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1428:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "1428:22:13" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1389:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "1389:62:13" - }, - "nodeType": "YulIf", - "src": "1386:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1490:2:13", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1494:10:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1483:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "1483:22:13" - }, - "nodeType": "YulExpressionStatement", - "src": "1483:22:13" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "1259:6:13", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "1267:4:13", - "type": "" - } - ], - "src": "1230:281:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1558:88:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1568:30:13", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "1578:18:13" - }, - "nodeType": "YulFunctionCall", - "src": "1578:20:13" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1568:6:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1627:6:13" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1635:4:13" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "1607:19:13" - }, - "nodeType": "YulFunctionCall", - "src": "1607:33:13" - }, - "nodeType": "YulExpressionStatement", - "src": "1607:33:13" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "1542:4:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "1551:6:13", - "type": "" - } - ], - "src": "1517:129:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1718:241:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1823:22:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1825:16:13" - }, - "nodeType": "YulFunctionCall", - "src": "1825:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "1825:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1795:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1803:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1792:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "1792:30:13" - }, - "nodeType": "YulIf", - "src": "1789:56:13" - }, - { - "nodeType": "YulAssignment", - "src": "1855:37:13", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1885:6:13" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "1863:21:13" - }, - "nodeType": "YulFunctionCall", - "src": "1863:29:13" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1855:4:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1929:23:13", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1941:4:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1947:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1937:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "1937:15:13" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1929:4:13" - } - ] - } - ] - }, - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1702:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "1713:4:13", - "type": "" - } - ], - "src": "1652:307:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2016:103:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2039:3:13" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2044:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2049:6:13" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "2026:12:13" - }, - "nodeType": "YulFunctionCall", - "src": "2026:30:13" - }, - "nodeType": "YulExpressionStatement", - "src": "2026:30:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2097:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2102:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2093:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "2093:16:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2111:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2086:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "2086:27:13" - }, - "nodeType": "YulExpressionStatement", - "src": "2086:27:13" - } - ] - }, - "name": "copy_calldata_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1998:3:13", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "2003:3:13", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2008:6:13", - "type": "" - } - ], - "src": "1965:154:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2208:327:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2218:74:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2284:6:13" - } - ], - "functionName": { - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "2243:40:13" - }, - "nodeType": "YulFunctionCall", - "src": "2243:48:13" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "2227:15:13" - }, - "nodeType": "YulFunctionCall", - "src": "2227:65:13" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2218:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2308:5:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2315:6:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2301:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "2301:21:13" - }, - "nodeType": "YulExpressionStatement", - "src": "2301:21:13" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2331:27:13", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2346:5:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2353:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2342:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "2342:16:13" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "2335:3:13", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2396:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "2398:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "2398:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "2398:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2377:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2382:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2373:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "2373:16:13" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2391:3:13" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2370:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "2370:25:13" - }, - "nodeType": "YulIf", - "src": "2367:112:13" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2512:3:13" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2517:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2522:6:13" - } - ], - "functionName": { - "name": "copy_calldata_to_memory", - "nodeType": "YulIdentifier", - "src": "2488:23:13" - }, - "nodeType": "YulFunctionCall", - "src": "2488:41:13" - }, - "nodeType": "YulExpressionStatement", - "src": "2488:41:13" - } - ] - }, - "name": "abi_decode_available_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "2181:3:13", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2186:6:13", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2194:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2202:5:13", - "type": "" - } - ], - "src": "2125:410:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2615:277:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2664:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "2666:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "2666:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "2666:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2643:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2651:4:13", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2639:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "2639:17:13" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2658:3:13" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2635:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "2635:27:13" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2628:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "2628:35:13" - }, - "nodeType": "YulIf", - "src": "2625:122:13" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2756:34:13", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2783:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2770:12:13" - }, - "nodeType": "YulFunctionCall", - "src": "2770:20:13" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2760:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2799:87:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2859:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2867:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2855:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "2855:17:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2874:6:13" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2882:3:13" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "2808:46:13" - }, - "nodeType": "YulFunctionCall", - "src": "2808:78:13" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2799:5:13" - } - ] - } - ] - }, - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2593:6:13", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2601:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2609:5:13", - "type": "" - } - ], - "src": "2554:338:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2990:560:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3036:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "3038:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "3038:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "3038:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3011:7:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3020:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3007:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "3007:23:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3032:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3003:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "3003:32:13" - }, - "nodeType": "YulIf", - "src": "3000:119:13" - }, - { - "nodeType": "YulBlock", - "src": "3129:117:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3144:15:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3158:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3148:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3173:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3208:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3219:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3204:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "3204:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3228:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "3183:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "3183:53:13" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3173:6:13" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "3256:287:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3271:46:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3302:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3313:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3298:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "3298:18:13" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3285:12:13" - }, - "nodeType": "YulFunctionCall", - "src": "3285:32:13" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3275:6:13", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3364:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "3366:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "3366:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "3366:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3336:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3344:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3333:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "3333:30:13" - }, - "nodeType": "YulIf", - "src": "3330:117:13" - }, - { - "nodeType": "YulAssignment", - "src": "3461:72:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3505:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3516:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3501:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "3501:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3525:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "3471:29:13" - }, - "nodeType": "YulFunctionCall", - "src": "3471:62:13" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3461:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2952:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2963:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2975:6:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2983:6:13", - "type": "" - } - ], - "src": "2898:652:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3601:81:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3611:65:13", + "src": "521:35:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3626:5:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3633:42:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3622:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "3622:54:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "3611:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3583:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "3593:7:13", - "type": "" - } - ], - "src": "3556:126:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3733:51:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3743:35:13", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3772:5:13" + "src": "550:5:13" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "3754:17:13" + "src": "532:17:13" }, "nodeType": "YulFunctionCall", - "src": "3754:24:13" + "src": "532:24:13" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "3743:7:13" + "src": "521:7:13" } ] } @@ -2067,7 +265,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3715:5:13", + "src": "493:5:13", "type": "" } ], @@ -2075,109 +273,142 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "3725:7:13", + "src": "503:7:13", "type": "" } ], - "src": "3688:96:13" + "src": "466:96:13" }, { "body": { "nodeType": "YulBlock", - "src": "3855:53:13", + "src": "611:79:13", "statements": [ { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "668:16:13", + "statements": [ { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3872:3:13" - }, + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "677:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "680:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "670:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "670:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "670:12:13" + } + ] + }, + "condition": { + "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3895:5:13" + "src": "634:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "659:5:13" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "641:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "641:24:13" } ], "functionName": { - "name": "cleanup_t_address", + "name": "eq", "nodeType": "YulIdentifier", - "src": "3877:17:13" + "src": "631:2:13" }, "nodeType": "YulFunctionCall", - "src": "3877:24:13" + "src": "631:35:13" } ], "functionName": { - "name": "mstore", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "3865:6:13" + "src": "624:6:13" }, "nodeType": "YulFunctionCall", - "src": "3865:37:13" + "src": "624:43:13" }, - "nodeType": "YulExpressionStatement", - "src": "3865:37:13" + "nodeType": "YulIf", + "src": "621:63:13" } ] }, - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "validator_revert_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "3843:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3850:3:13", + "src": "604:5:13", "type": "" } ], - "src": "3790:118:13" + "src": "568:122:13" }, { "body": { "nodeType": "YulBlock", - "src": "4012:124:13", + "src": "748:87:13", "statements": [ { "nodeType": "YulAssignment", - "src": "4022:26:13", + "src": "758:29:13", "value": { "arguments": [ { - "name": "headStart", + "name": "offset", "nodeType": "YulIdentifier", - "src": "4034:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4045:2:13", - "type": "", - "value": "32" + "src": "780:6:13" } ], "functionName": { - "name": "add", + "name": "calldataload", "nodeType": "YulIdentifier", - "src": "4030:3:13" + "src": "767:12:13" }, "nodeType": "YulFunctionCall", - "src": "4030:18:13" + "src": "767:20:13" }, "variableNames": [ { - "name": "tail", + "name": "value", "nodeType": "YulIdentifier", - "src": "4022:4:13" + "src": "758:5:13" } ] }, @@ -2185,82 +416,1456 @@ "expression": { "arguments": [ { - "name": "value0", + "name": "value", "nodeType": "YulIdentifier", - "src": "4102:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4115:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4126:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4111:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "4111:17:13" + "src": "823:5:13" } ], "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "4058:43:13" + "src": "796:26:13" }, "nodeType": "YulFunctionCall", - "src": "4058:71:13" + "src": "796:33:13" }, "nodeType": "YulExpressionStatement", - "src": "4058:71:13" + "src": "796:33:13" } ] }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "name": "abi_decode_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "offset", "nodeType": "YulTypedName", - "src": "3984:9:13", + "src": "726:6:13", "type": "" }, { - "name": "value0", + "name": "end", "nodeType": "YulTypedName", - "src": "3996:6:13", + "src": "734:3:13", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "value", "nodeType": "YulTypedName", - "src": "4007:4:13", + "src": "742:5:13", "type": "" } ], - "src": "3914:222:13" + "src": "696:139:13" }, { "body": { "nodeType": "YulBlock", - "src": "4217:432:13", + "src": "886:32:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "896:16:13", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "907:5:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "896:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "868:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "878:7:13", + "type": "" + } + ], + "src": "841:77:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "967:79:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4263:83:13", + "src": "1024:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1033:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1036:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1026:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1026:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1026:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "990:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1015:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "997:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "997:24:13" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "987:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "987:35:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "980:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "980:43:13" + }, + "nodeType": "YulIf", + "src": "977:63:13" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "960:5:13", + "type": "" + } + ], + "src": "924:122:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1104:87:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1114:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1136:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1123:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "1123:20:13" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1114:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1179:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "1152:26:13" + }, + "nodeType": "YulFunctionCall", + "src": "1152:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1152:33:13" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1082:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1090:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1098:5:13", + "type": "" + } + ], + "src": "1052:139:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1286:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1303:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1306:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1296:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1296:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1296:12:13" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "1197:117:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1409:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1426:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1429:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1419:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1419:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1419:12:13" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "1320:117:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1491:54:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1501:38:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1519:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1526:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1515:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "1515:14:13" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1535:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1531:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "1531:7:13" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1511:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "1511:28:13" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1501:6:13" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1474:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "1484:6:13", + "type": "" + } + ], + "src": "1443:102:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1579:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1596:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1599:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1589:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1589:88:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1589:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1693:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1696:4:13", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1686:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1686:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1686:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1717:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1720:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1710:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1710:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1710:15:13" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "1551:180:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1780:238:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1790:58:13", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1812:6:13" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1842:4:13" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1820:21:13" + }, + "nodeType": "YulFunctionCall", + "src": "1820:27:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1808:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "1808:40:13" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1794:10:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1959:22:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1961:16:13" + }, + "nodeType": "YulFunctionCall", + "src": "1961:18:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1961:18:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1902:10:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1914:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1899:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "1899:34:13" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1938:10:13" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1950:6:13" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1935:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "1935:22:13" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1896:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "1896:62:13" + }, + "nodeType": "YulIf", + "src": "1893:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1997:2:13", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2001:10:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1990:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1990:22:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1990:22:13" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1766:6:13", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1774:4:13", + "type": "" + } + ], + "src": "1737:281:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2065:88:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2075:30:13", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "2085:18:13" + }, + "nodeType": "YulFunctionCall", + "src": "2085:20:13" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2075:6:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2134:6:13" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2142:4:13" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "2114:19:13" + }, + "nodeType": "YulFunctionCall", + "src": "2114:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2114:33:13" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2049:4:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "2058:6:13", + "type": "" + } + ], + "src": "2024:129:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2225:241:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2330:22:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2332:16:13" + }, + "nodeType": "YulFunctionCall", + "src": "2332:18:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2332:18:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2302:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2310:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2299:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "2299:30:13" + }, + "nodeType": "YulIf", + "src": "2296:56:13" + }, + { + "nodeType": "YulAssignment", + "src": "2362:37:13", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2392:6:13" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2370:21:13" + }, + "nodeType": "YulFunctionCall", + "src": "2370:29:13" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2362:4:13" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2436:23:13", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2448:4:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2454:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2444:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "2444:15:13" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2436:4:13" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2209:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2220:4:13", + "type": "" + } + ], + "src": "2159:307:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2523:103:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2546:3:13" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2551:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2556:6:13" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "2533:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "2533:30:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2533:30:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2604:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2609:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2600:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "2600:16:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2618:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2593:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2593:27:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2593:27:13" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2505:3:13", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2510:3:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2515:6:13", + "type": "" + } + ], + "src": "2472:154:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2715:327:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2725:74:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2791:6:13" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2750:40:13" + }, + "nodeType": "YulFunctionCall", + "src": "2750:48:13" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2734:15:13" + }, + "nodeType": "YulFunctionCall", + "src": "2734:65:13" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2725:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2815:5:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2822:6:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2808:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2808:21:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2808:21:13" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2838:27:13", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2853:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2860:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2849:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "2849:16:13" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2842:3:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2903:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "2905:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "2905:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2905:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2884:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2889:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2880:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "2880:16:13" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2898:3:13" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2877:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "2877:25:13" + }, + "nodeType": "YulIf", + "src": "2874:112:13" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3019:3:13" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3024:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3029:6:13" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "2995:23:13" + }, + "nodeType": "YulFunctionCall", + "src": "2995:41:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2995:41:13" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2688:3:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2693:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2701:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2709:5:13", + "type": "" + } + ], + "src": "2632:410:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3122:277:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3171:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "3173:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "3173:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "3173:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3150:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3158:4:13", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3146:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "3146:17:13" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3165:3:13" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3142:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "3142:27:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3135:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "3135:35:13" + }, + "nodeType": "YulIf", + "src": "3132:122:13" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3263:34:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3290:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3277:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "3277:20:13" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3267:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3306:87:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3366:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3374:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3362:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "3362:17:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3381:6:13" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3389:3:13" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3315:46:13" + }, + "nodeType": "YulFunctionCall", + "src": "3315:78:13" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3306:5:13" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3100:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3108:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "3116:5:13", + "type": "" + } + ], + "src": "3061:338:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3514:688:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3560:83:13", "statements": [ { "expression": { @@ -2268,13 +1873,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "4265:77:13" + "src": "3562:77:13" }, "nodeType": "YulFunctionCall", - "src": "4265:79:13" + "src": "3562:79:13" }, "nodeType": "YulExpressionStatement", - "src": "4265:79:13" + "src": "3562:79:13" } ] }, @@ -2285,48 +1890,67 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4238:7:13" + "src": "3535:7:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4247:9:13" + "src": "3544:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4234:3:13" + "src": "3531:3:13" }, "nodeType": "YulFunctionCall", - "src": "4234:23:13" + "src": "3531:23:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4259:2:13", + "src": "3556:2:13", "type": "", - "value": "32" + "value": "96" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4230:3:13" + "src": "3527:3:13" }, "nodeType": "YulFunctionCall", - "src": "4230:32:13" + "src": "3527:32:13" }, "nodeType": "YulIf", - "src": "4227:119:13" + "src": "3524:119:13" }, { "nodeType": "YulBlock", - "src": "4356:286:13", + "src": "3653:117:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4371:45:13", + "src": "3668:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3682:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3672:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3697:63:13", "value": { "arguments": [ { @@ -2334,38 +1958,165 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4402:9:13" + "src": "3732:9:13" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4413:1:13", - "type": "", - "value": "0" + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3743:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4398:3:13" + "src": "3728:3:13" }, "nodeType": "YulFunctionCall", - "src": "4398:17:13" + "src": "3728:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3752:7:13" } ], "functionName": { - "name": "calldataload", + "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "4385:12:13" + "src": "3707:20:13" }, "nodeType": "YulFunctionCall", - "src": "4385:31:13" + "src": "3707:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3697:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3780:118:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3795:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3809:2:13", + "type": "", + "value": "32" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "4375:6:13", + "src": "3799:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3825:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3860:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3871:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3856:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "3856:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3880:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "3835:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "3835:53:13" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3825:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3908:287:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3923:46:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3954:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3965:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3950:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "3950:18:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3937:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "3937:32:13" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3927:6:13", "type": "" } ] @@ -2373,7 +2124,7 @@ { "body": { "nodeType": "YulBlock", - "src": "4463:83:13", + "src": "4016:83:13", "statements": [ { "expression": { @@ -2381,13 +2132,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "4465:77:13" + "src": "4018:77:13" }, "nodeType": "YulFunctionCall", - "src": "4465:79:13" + "src": "4018:79:13" }, "nodeType": "YulExpressionStatement", - "src": "4465:79:13" + "src": "4018:79:13" } ] }, @@ -2396,12 +2147,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "4435:6:13" + "src": "3988:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4443:18:13", + "src": "3996:18:13", "type": "", "value": "0xffffffffffffffff" } @@ -2409,17 +2160,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "4432:2:13" + "src": "3985:2:13" }, "nodeType": "YulFunctionCall", - "src": "4432:30:13" + "src": "3985:30:13" }, "nodeType": "YulIf", - "src": "4429:117:13" + "src": "3982:117:13" }, { "nodeType": "YulAssignment", - "src": "4560:72:13", + "src": "4113:72:13", "value": { "arguments": [ { @@ -2427,1001 +2178,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4604:9:13" + "src": "4157:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4615:6:13" + "src": "4168:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4600:3:13" + "src": "4153:3:13" }, "nodeType": "YulFunctionCall", - "src": "4600:22:13" + "src": "4153:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4624:7:13" + "src": "4177:7:13" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "4570:29:13" + "src": "4123:29:13" }, "nodeType": "YulFunctionCall", - "src": "4570:62:13" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4560:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4187:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4198:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4210:6:13", - "type": "" - } - ], - "src": "4142:507:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4720:53:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4737:3:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4760:5:13" - } - ], - "functionName": { - "name": "cleanup_t_bytes32", - "nodeType": "YulIdentifier", - "src": "4742:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "4742:24:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4730:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "4730:37:13" - }, - "nodeType": "YulExpressionStatement", - "src": "4730:37:13" - } - ] - }, - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4708:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4715:3:13", - "type": "" - } - ], - "src": "4655:118:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4822:43:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4832:27:13", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4847:5:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4854:4:13", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4843:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "4843:16:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "4832:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4804:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "4814:7:13", - "type": "" - } - ], - "src": "4779:86:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4932:51:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4949:3:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4970:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "4954:15:13" - }, - "nodeType": "YulFunctionCall", - "src": "4954:22:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4942:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "4942:35:13" - }, - "nodeType": "YulExpressionStatement", - "src": "4942:35:13" - } - ] - }, - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4920:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4927:3:13", - "type": "" - } - ], - "src": "4871:112:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5139:284:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5149:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5161:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5172:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5157:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "5157:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5149:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5229:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5242:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5253:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5238:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "5238:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "5185:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "5185:71:13" - }, - "nodeType": "YulExpressionStatement", - "src": "5185:71:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5310:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5323:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5334:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5319:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "5319:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "5266:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "5266:72:13" - }, - "nodeType": "YulExpressionStatement", - "src": "5266:72:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5388:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5401:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5412:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5397:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "5397:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulIdentifier", - "src": "5348:39:13" - }, - "nodeType": "YulFunctionCall", - "src": "5348:68:13" - }, - "nodeType": "YulExpressionStatement", - "src": "5348:68:13" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_uint8__to_t_bytes32_t_bytes32_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5095:9:13", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5107:6:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5115:6:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5123:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5134:4:13", - "type": "" - } - ], - "src": "4989:434:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5470:77:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5525:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5534:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5537:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5527:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "5527:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "5527:12:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5493:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5516:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "5500:15:13" - }, - "nodeType": "YulFunctionCall", - "src": "5500:22:13" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5490:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "5490:33:13" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5483:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "5483:41:13" - }, - "nodeType": "YulIf", - "src": "5480:61:13" - } - ] - }, - "name": "validator_revert_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5463:5:13", - "type": "" - } - ], - "src": "5429:118:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5603:85:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5613:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5635:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5622:12:13" - }, - "nodeType": "YulFunctionCall", - "src": "5622:20:13" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5613:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5676:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_uint8", - "nodeType": "YulIdentifier", - "src": "5651:24:13" - }, - "nodeType": "YulFunctionCall", - "src": "5651:31:13" - }, - "nodeType": "YulExpressionStatement", - "src": "5651:31:13" - } - ] - }, - "name": "abi_decode_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5581:6:13", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "5589:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5597:5:13", - "type": "" - } - ], - "src": "5553:135:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5809:646:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5856:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "5858:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "5858:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "5858:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5830:7:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5839:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5826:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "5826:23:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5851:3:13", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5822:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "5822:33:13" - }, - "nodeType": "YulIf", - "src": "5819:120:13" - }, - { - "nodeType": "YulBlock", - "src": "5949:117:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5964:15:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5978:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5968:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5993:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6028:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6039:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6024:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6024:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6048:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "6003:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "6003:53:13" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5993:6:13" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6076:116:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6091:16:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6105:2:13", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6095:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6121:61:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6154:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6165:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6150:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6150:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6174:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "6131:18:13" - }, - "nodeType": "YulFunctionCall", - "src": "6131:51:13" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6121:6:13" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6202:118:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6217:16:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6231:2:13", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6221:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6247:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6282:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6293:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6278:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6278:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6302:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "6257:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "6257:53:13" + "src": "4123:62:13" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "6247:6:13" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6330:118:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6345:16:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6359:2:13", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6349:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6375:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6410:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6421:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6406:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6406:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6430:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "6385:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "6385:53:13" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6375:6:13" + "src": "4113:6:13" } ] } @@ -3429,19 +2220,19 @@ } ] }, - "name": "abi_decode_tuple_t_bytes32t_uint8t_bytes32t_bytes32", + "name": "abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5755:9:13", + "src": "3468:9:13", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5766:7:13", + "src": "3479:7:13", "type": "" } ], @@ -3449,570 +2240,28 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5778:6:13", + "src": "3491:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5786:6:13", + "src": "3499:6:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "5794:6:13", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "5802:6:13", + "src": "3507:6:13", "type": "" } ], - "src": "5694:761:13" + "src": "3405:797:13" }, { "body": { "nodeType": "YulBlock", - "src": "6527:263:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6573:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "6575:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "6575:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "6575:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6548:7:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6557:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6544:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6544:23:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6569:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6540:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6540:32:13" - }, - "nodeType": "YulIf", - "src": "6537:119:13" - }, - { - "nodeType": "YulBlock", - "src": "6666:117:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6681:15:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6695:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6685:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6710:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6745:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6756:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6741:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6741:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6765:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "6720:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "6720:53:13" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6710:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6497:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6508:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6520:6:13", - "type": "" - } - ], - "src": "6461:329:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6894:124:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6904:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6916:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6927:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6912:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6912:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6904:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6984:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6997:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7008:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6993:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "6993:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "6940:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "6940:71:13" - }, - "nodeType": "YulExpressionStatement", - "src": "6940:71:13" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6866:9:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6878:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6889:4:13", - "type": "" - } - ], - "src": "6796:222:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7202:367:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7212:27:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7224:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7235:3:13", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7220:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7220:19:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7212:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7293:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7306:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7317:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7302:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7302:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "7249:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "7249:71:13" - }, - "nodeType": "YulExpressionStatement", - "src": "7249:71:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7370:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7383:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7394:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7379:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7379:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulIdentifier", - "src": "7330:39:13" - }, - "nodeType": "YulFunctionCall", - "src": "7330:68:13" - }, - "nodeType": "YulExpressionStatement", - "src": "7330:68:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7452:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7465:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7476:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7461:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7461:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "7408:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "7408:72:13" - }, - "nodeType": "YulExpressionStatement", - "src": "7408:72:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "7534:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7547:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7558:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7543:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7543:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "7490:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "7490:72:13" - }, - "nodeType": "YulExpressionStatement", - "src": "7490:72:13" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7150:9:13", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "7162:6:13", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "7170:6:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7178:6:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7186:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7197:4:13", - "type": "" - } - ], - "src": "7024:545:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7671:73:13", + "src": "4304:73:13", "statements": [ { "expression": { @@ -4020,39 +2269,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7688:3:13" + "src": "4321:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "7693:6:13" + "src": "4326:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7681:6:13" + "src": "4314:6:13" }, "nodeType": "YulFunctionCall", - "src": "7681:19:13" + "src": "4314:19:13" }, "nodeType": "YulExpressionStatement", - "src": "7681:19:13" + "src": "4314:19:13" }, { "nodeType": "YulAssignment", - "src": "7709:29:13", + "src": "4342:29:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7728:3:13" + "src": "4361:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7733:4:13", + "src": "4366:4:13", "type": "", "value": "0x20" } @@ -4060,16 +2309,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7724:3:13" + "src": "4357:3:13" }, "nodeType": "YulFunctionCall", - "src": "7724:14:13" + "src": "4357:14:13" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "7709:11:13" + "src": "4342:11:13" } ] } @@ -4081,13 +2330,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "7643:3:13", + "src": "4276:3:13", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "7648:6:13", + "src": "4281:6:13", "type": "" } ], @@ -4095,16 +2344,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "7659:11:13", + "src": "4292:11:13", "type": "" } ], - "src": "7575:169:13" + "src": "4208:169:13" }, { "body": { "nodeType": "YulBlock", - "src": "7856:68:13", + "src": "4489:73:13", "statements": [ { "expression": { @@ -4114,12 +2363,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7878:6:13" + "src": "4511:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7886:1:13", + "src": "4519:1:13", "type": "", "value": "0" } @@ -4127,81 +2376,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7874:3:13" + "src": "4507:3:13" }, "nodeType": "YulFunctionCall", - "src": "7874:14:13" + "src": "4507:14:13" }, { - "hexValue": "696e76616c6964207369676e6174757265206c656e677468", + "hexValue": "5b42455d20696e76616c6964207369676e6174757265206c656e677468", "kind": "string", "nodeType": "YulLiteral", - "src": "7890:26:13", + "src": "4523:31:13", "type": "", - "value": "invalid signature length" + "value": "[BE] invalid signature length" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7867:6:13" + "src": "4500:6:13" }, "nodeType": "YulFunctionCall", - "src": "7867:50:13" + "src": "4500:55:13" }, "nodeType": "YulExpressionStatement", - "src": "7867:50:13" + "src": "4500:55:13" } ] }, - "name": "store_literal_in_memory_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87", + "name": "store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "7848:6:13", + "src": "4481:6:13", "type": "" } ], - "src": "7750:174:13" + "src": "4383:179:13" }, { "body": { "nodeType": "YulBlock", - "src": "8076:220:13", + "src": "4714:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "8086:74:13", + "src": "4724:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8152:3:13" + "src": "4790:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8157:2:13", + "src": "4795:2:13", "type": "", - "value": "24" + "value": "29" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "8093:58:13" + "src": "4731:58:13" }, "nodeType": "YulFunctionCall", - "src": "8093:67:13" + "src": "4731:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8086:3:13" + "src": "4724:3:13" } ] }, @@ -4211,34 +2460,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8258:3:13" + "src": "4896:3:13" } ], "functionName": { - "name": "store_literal_in_memory_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87", + "name": "store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", "nodeType": "YulIdentifier", - "src": "8169:88:13" + "src": "4807:88:13" }, "nodeType": "YulFunctionCall", - "src": "8169:93:13" + "src": "4807:93:13" }, "nodeType": "YulExpressionStatement", - "src": "8169:93:13" + "src": "4807:93:13" }, { "nodeType": "YulAssignment", - "src": "8271:19:13", + "src": "4909:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8282:3:13" + "src": "4920:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8287:2:13", + "src": "4925:2:13", "type": "", "value": "32" } @@ -4246,28 +2495,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8278:3:13" + "src": "4916:3:13" }, "nodeType": "YulFunctionCall", - "src": "8278:12:13" + "src": "4916:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "8271:3:13" + "src": "4909:3:13" } ] } ] }, - "name": "abi_encode_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "8064:3:13", + "src": "4702:3:13", "type": "" } ], @@ -4275,31 +2524,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "8072:3:13", + "src": "4710:3:13", "type": "" } ], - "src": "7930:366:13" + "src": "4568:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "8473:248:13", + "src": "5111:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "8483:26:13", + "src": "5121:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8495:9:13" + "src": "5133:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8506:2:13", + "src": "5144:2:13", "type": "", "value": "32" } @@ -4307,16 +2556,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8491:3:13" + "src": "5129:3:13" }, "nodeType": "YulFunctionCall", - "src": "8491:18:13" + "src": "5129:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8483:4:13" + "src": "5121:4:13" } ] }, @@ -4328,12 +2577,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8530:9:13" + "src": "5168:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8541:1:13", + "src": "5179:1:13", "type": "", "value": "0" } @@ -4341,80 +2590,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8526:3:13" + "src": "5164:3:13" }, "nodeType": "YulFunctionCall", - "src": "8526:17:13" + "src": "5164:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8549:4:13" + "src": "5187:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8555:9:13" + "src": "5193:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "8545:3:13" + "src": "5183:3:13" }, "nodeType": "YulFunctionCall", - "src": "8545:20:13" + "src": "5183:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8519:6:13" + "src": "5157:6:13" }, "nodeType": "YulFunctionCall", - "src": "8519:47:13" + "src": "5157:47:13" }, "nodeType": "YulExpressionStatement", - "src": "8519:47:13" + "src": "5157:47:13" }, { "nodeType": "YulAssignment", - "src": "8575:139:13", + "src": "5213:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8709:4:13" + "src": "5347:4:13" } ], "functionName": { - "name": "abi_encode_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "8583:124:13" + "src": "5221:124:13" }, "nodeType": "YulFunctionCall", - "src": "8583:131:13" + "src": "5221:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8575:4:13" + "src": "5213:4:13" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8453:9:13", + "src": "5091:9:13", "type": "" } ], @@ -4422,747 +2671,150 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "8468:4:13", + "src": "5106:4:13", "type": "" } ], - "src": "8302:419:13" + "src": "4940:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "8785:40:13", + "src": "5471:73:13", "statements": [ - { - "nodeType": "YulAssignment", - "src": "8796:22:13", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8812:5:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8806:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "8806:12:13" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8796:6:13" - } - ] - } - ] - }, - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8768:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8778:6:13", - "type": "" - } - ], - "src": "8727:98:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8944:34:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8954:18:13", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8969:3:13" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "8954:11:13" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8916:3:13", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8921:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "8932:11:13", - "type": "" - } - ], - "src": "8831:147:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9033:258:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9043:10:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9052:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "9047:1:13", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9112:63:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "9137:3:13" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "9142:1:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9133:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9133:11:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "9156:3:13" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "9161:1:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9152:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9152:11:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9146:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "9146:18:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9126:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "9126:39:13" - }, - "nodeType": "YulExpressionStatement", - "src": "9126:39:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "9073:1:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9076:6:13" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9070:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "9070:13:13" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "9084:19:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9086:15:13", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "9095:1:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9098:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9091:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9091:10:13" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "9086:1:13" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "9066:3:13", - "statements": [] - }, - "src": "9062:113:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9209:76:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "9259:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9264:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9255:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9255:16:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9273:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9248:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "9248:27:13" - }, - "nodeType": "YulExpressionStatement", - "src": "9248:27:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "9190:1:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9193:6:13" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9187:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "9187:13:13" - }, - "nodeType": "YulIf", - "src": "9184:101:13" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "9015:3:13", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "9020:3:13", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "9025:6:13", - "type": "" - } - ], - "src": "8984:307:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9405:265:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9415:52:13", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9461:5:13" - } - ], - "functionName": { - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "9429:31:13" - }, - "nodeType": "YulFunctionCall", - "src": "9429:38:13" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "9419:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9476:95:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9559:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9564:6:13" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "9483:75:13" - }, - "nodeType": "YulFunctionCall", - "src": "9483:88:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9476:3:13" - } - ] - }, { "expression": { "arguments": [ { "arguments": [ { - "name": "value", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "9606:5:13" + "src": "5493:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9613:4:13", + "src": "5501:1:13", "type": "", - "value": "0x20" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9602:3:13" + "src": "5489:3:13" }, "nodeType": "YulFunctionCall", - "src": "9602:16:13" + "src": "5489:14:13" }, { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9620:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9625:6:13" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "9580:21:13" - }, - "nodeType": "YulFunctionCall", - "src": "9580:52:13" - }, - "nodeType": "YulExpressionStatement", - "src": "9580:52:13" - }, - { - "nodeType": "YulAssignment", - "src": "9641:23:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9652:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9657:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9648:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9648:16:13" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9641:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9386:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9393:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9401:3:13", - "type": "" - } - ], - "src": "9297:373:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9723:32:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9733:16:13", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9744:5:13" - }, - "variableNames": [ - { - "name": "aligned", - "nodeType": "YulIdentifier", - "src": "9733:7:13" - } - ] - } - ] - }, - "name": "leftAlign_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9705:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "aligned", - "nodeType": "YulTypedName", - "src": "9715:7:13", - "type": "" - } - ], - "src": "9676:79:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9844:74:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9861:3:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9904:5:13" - } - ], - "functionName": { - "name": "cleanup_t_bytes32", - "nodeType": "YulIdentifier", - "src": "9886:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "9886:24:13" - } - ], - "functionName": { - "name": "leftAlign_t_bytes32", - "nodeType": "YulIdentifier", - "src": "9866:19:13" - }, - "nodeType": "YulFunctionCall", - "src": "9866:45:13" + "hexValue": "5b42455d20696e76616c69642073656c6c6572207369676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "5505:31:13", + "type": "", + "value": "[BE] invalid seller signature" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9854:6:13" + "src": "5482:6:13" }, "nodeType": "YulFunctionCall", - "src": "9854:58:13" + "src": "5482:55:13" }, "nodeType": "YulExpressionStatement", - "src": "9854:58:13" + "src": "5482:55:13" } ] }, - "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "name": "store_literal_in_memory_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "9832:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9839:3:13", + "src": "5463:6:13", "type": "" } ], - "src": "9761:157:13" + "src": "5365:179:13" }, { "body": { "nodeType": "YulBlock", - "src": "10086:250:13", + "src": "5696:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "10097:100:13", + "src": "5706:74:13", "value": { "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10184:6:13" - }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "10193:3:13" + "src": "5772:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5777:2:13", + "type": "", + "value": "29" } ], "functionName": { - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "10104:79:13" + "src": "5713:58:13" }, "nodeType": "YulFunctionCall", - "src": "10104:93:13" + "src": "5713:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10097:3:13" + "src": "5706:3:13" } ] }, { "expression": { "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10269:6:13" - }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "10278:3:13" + "src": "5878:3:13" } ], "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "name": "store_literal_in_memory_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a", "nodeType": "YulIdentifier", - "src": "10207:61:13" + "src": "5789:88:13" }, "nodeType": "YulFunctionCall", - "src": "10207:75:13" + "src": "5789:93:13" }, "nodeType": "YulExpressionStatement", - "src": "10207:75:13" + "src": "5789:93:13" }, { "nodeType": "YulAssignment", - "src": "10291:19:13", + "src": "5891:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10302:3:13" + "src": "5902:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10307:2:13", + "src": "5907:2:13", "type": "", "value": "32" } @@ -5170,56 +2822,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10298:3:13" + "src": "5898:3:13" }, "nodeType": "YulFunctionCall", - "src": "10298:12:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10291:3:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10320:10:13", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10327:3:13" + "src": "5898:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "10320:3:13" + "src": "5891:3:13" } ] } ] }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed", + "name": "abi_encode_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "10057:3:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10063:6:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10071:6:13", + "src": "5684:3:13", "type": "" } ], @@ -5227,30 +2851,177 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "10082:3:13", + "src": "5692:3:13", "type": "" } ], - "src": "9924:412:13" + "src": "5550:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "10456:34:13", + "src": "6093:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "10466:18:13", + "src": "6103:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6115:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6126:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6111:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "6111:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6103:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6150:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6161:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6146:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "6146:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6169:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6175:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6165:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "6165:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6139:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "6139:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "6139:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "6195:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6329:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6203:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "6203:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6195:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6073:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6088:4:13", + "type": "" + } + ], + "src": "5922:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6461:34:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6471:18:13", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "10481:3:13" + "src": "6486:3:13" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "10466:11:13" + "src": "6471:11:13" } ] } @@ -5262,13 +3033,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "10428:3:13", + "src": "6433:3:13", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "10433:6:13", + "src": "6438:6:13", "type": "" } ], @@ -5276,16 +3047,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "10444:11:13", + "src": "6449:11:13", "type": "" } ], - "src": "10342:148:13" + "src": "6347:148:13" }, { "body": { "nodeType": "YulBlock", - "src": "10602:108:13", + "src": "6607:108:13", "statements": [ { "expression": { @@ -5295,12 +3066,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "10624:6:13" + "src": "6629:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10632:1:13", + "src": "6637:1:13", "type": "", "value": "0" } @@ -5308,15 +3079,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10620:3:13" + "src": "6625:3:13" }, "nodeType": "YulFunctionCall", - "src": "10620:14:13" + "src": "6625:14:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10636:66:13", + "src": "6641:66:13", "type": "", "value": "0x19457468657265756d205369676e6564204d6573736167653a0a333200000000" } @@ -5324,13 +3095,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10613:6:13" + "src": "6618:6:13" }, "nodeType": "YulFunctionCall", - "src": "10613:90:13" + "src": "6618:90:13" }, "nodeType": "YulExpressionStatement", - "src": "10613:90:13" + "src": "6618:90:13" } ] }, @@ -5340,31 +3111,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "10594:6:13", + "src": "6599:6:13", "type": "" } ], - "src": "10496:214:13" + "src": "6501:214:13" }, { "body": { "nodeType": "YulBlock", - "src": "10880:238:13", + "src": "6885:238:13", "statements": [ { "nodeType": "YulAssignment", - "src": "10890:92:13", + "src": "6895:92:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10974:3:13" + "src": "6979:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10979:2:13", + "src": "6984:2:13", "type": "", "value": "28" } @@ -5372,16 +3143,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "10897:76:13" + "src": "6902:76:13" }, "nodeType": "YulFunctionCall", - "src": "10897:85:13" + "src": "6902:85:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "10890:3:13" + "src": "6895:3:13" } ] }, @@ -5391,34 +3162,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11080:3:13" + "src": "7085:3:13" } ], "functionName": { "name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", "nodeType": "YulIdentifier", - "src": "10991:88:13" + "src": "6996:88:13" }, "nodeType": "YulFunctionCall", - "src": "10991:93:13" + "src": "6996:93:13" }, "nodeType": "YulExpressionStatement", - "src": "10991:93:13" + "src": "6996:93:13" }, { "nodeType": "YulAssignment", - "src": "11093:19:13", + "src": "7098:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11104:3:13" + "src": "7109:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11109:2:13", + "src": "7114:2:13", "type": "", "value": "28" } @@ -5426,16 +3197,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11100:3:13" + "src": "7105:3:13" }, "nodeType": "YulFunctionCall", - "src": "11100:12:13" + "src": "7105:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "11093:3:13" + "src": "7098:3:13" } ] } @@ -5447,7 +3218,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "10868:3:13", + "src": "6873:3:13", "type": "" } ], @@ -5455,41 +3226,156 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "10876:3:13", + "src": "6881:3:13", "type": "" } ], - "src": "10716:402:13" + "src": "6721:402:13" }, { "body": { "nodeType": "YulBlock", - "src": "11341:305:13", + "src": "7176:32:13", "statements": [ { "nodeType": "YulAssignment", - "src": "11352:155:13", + "src": "7186:16:13", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7197:5:13" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "7186:7:13" + } + ] + } + ] + }, + "name": "leftAlign_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7158:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "7168:7:13", + "type": "" + } + ], + "src": "7129:79:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7297:74:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7314:3:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7357:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7339:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "7339:24:13" + } + ], + "functionName": { + "name": "leftAlign_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7319:19:13" + }, + "nodeType": "YulFunctionCall", + "src": "7319:45:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7307:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "7307:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "7307:58:13" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7285:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7292:3:13", + "type": "" + } + ], + "src": "7214:157:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7594:305:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7605:155:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11503:3:13" + "src": "7756:3:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "11359:142:13" + "src": "7612:142:13" }, "nodeType": "YulFunctionCall", - "src": "11359:148:13" + "src": "7612:148:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11352:3:13" + "src": "7605:3:13" } ] }, @@ -5499,39 +3385,39 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "11579:6:13" + "src": "7832:6:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "11588:3:13" + "src": "7841:3:13" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "11517:61:13" + "src": "7770:61:13" }, "nodeType": "YulFunctionCall", - "src": "11517:75:13" + "src": "7770:75:13" }, "nodeType": "YulExpressionStatement", - "src": "11517:75:13" + "src": "7770:75:13" }, { "nodeType": "YulAssignment", - "src": "11601:19:13", + "src": "7854:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11612:3:13" + "src": "7865:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11617:2:13", + "src": "7870:2:13", "type": "", "value": "32" } @@ -5539,32 +3425,32 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11608:3:13" + "src": "7861:3:13" }, "nodeType": "YulFunctionCall", - "src": "11608:12:13" + "src": "7861:12:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11601:3:13" + "src": "7854:3:13" } ] }, { "nodeType": "YulAssignment", - "src": "11630:10:13", + "src": "7883:10:13", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "11637:3:13" + "src": "7890:3:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "11630:3:13" + "src": "7883:3:13" } ] } @@ -5576,13 +3462,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "11320:3:13", + "src": "7573:3:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "11326:6:13", + "src": "7579:6:13", "type": "" } ], @@ -5590,37 +3476,1981 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "11337:3:13", + "src": "7590:3:13", "type": "" } ], - "src": "11124:522:13" + "src": "7377:522:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7933:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7950:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7953:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7943:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "7943:88:13" + }, + "nodeType": "YulExpressionStatement", + "src": "7943:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8047:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8050:4:13", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8040:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "8040:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8040:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8071:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8074:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8064:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "8064:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8064:15:13" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "7905:180:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8197:68:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8219:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8227:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8215:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8215:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8231:26:13", + "type": "", + "value": "ECDSA: invalid signature" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8208:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "8208:50:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8208:50:13" + } + ] + }, + "name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8189:6:13", + "type": "" + } + ], + "src": "8091:174:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8417:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8427:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8493:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8498:2:13", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8434:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "8434:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8427:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8599:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", + "nodeType": "YulIdentifier", + "src": "8510:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "8510:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8510:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "8612:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8623:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8628:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8619:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8619:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8612:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8405:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8413:3:13", + "type": "" + } + ], + "src": "8271:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8814:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8824:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8836:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8847:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8832:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8832:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8824:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8871:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8882:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8867:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8867:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8890:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8896:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8886:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8886:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8860:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "8860:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8860:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "8916:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9050:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8924:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "8924:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8916:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8794:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8809:4:13", + "type": "" + } + ], + "src": "8643:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9174:75:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "9196:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9204:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9192:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9192:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "9208:33:13", + "type": "", + "value": "ECDSA: invalid signature length" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9185:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "9185:57:13" + }, + "nodeType": "YulExpressionStatement", + "src": "9185:57:13" + } + ] + }, + "name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "9166:6:13", + "type": "" + } + ], + "src": "9068:181:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9401:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9411:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9477:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9482:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9418:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "9418:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9411:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9583:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", + "nodeType": "YulIdentifier", + "src": "9494:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "9494:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "9494:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "9596:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9607:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9612:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9603:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9603:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9596:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9389:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9397:3:13", + "type": "" + } + ], + "src": "9255:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9798:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9808:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9820:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9831:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9816:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9816:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9808:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9855:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9866:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9851:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9851:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9874:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9880:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9870:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9870:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9844:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "9844:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "9844:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "9900:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10034:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9908:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "9908:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9900:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9778:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9793:4:13", + "type": "" + } + ], + "src": "9627:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10158:115:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10180:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10188:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10176:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10176:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10192:34:13", + "type": "", + "value": "ECDSA: invalid signature 's' val" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10169:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "10169:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "10169:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10248:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10256:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10244:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10244:15:13" + }, + { + "hexValue": "7565", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10261:4:13", + "type": "", + "value": "ue" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10237:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "10237:29:13" + }, + "nodeType": "YulExpressionStatement", + "src": "10237:29:13" + } + ] + }, + "name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10150:6:13", + "type": "" + } + ], + "src": "10052:221:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10425:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10435:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10501:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10506:2:13", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10442:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "10442:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10435:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10607:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", + "nodeType": "YulIdentifier", + "src": "10518:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "10518:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "10518:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "10620:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10631:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10636:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10627:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10627:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10620:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10413:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10421:3:13", + "type": "" + } + ], + "src": "10279:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10822:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10832:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10844:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10855:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10840:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10840:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10832:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10879:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10890:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10875:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10875:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10898:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10904:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10894:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10894:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10868:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "10868:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "10868:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "10924:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11058:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10932:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "10932:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10924:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10802:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10817:4:13", + "type": "" + } + ], + "src": "10651:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11182:115:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11204:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11212:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11200:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11200:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265202776272076616c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11216:34:13", + "type": "", + "value": "ECDSA: invalid signature 'v' val" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11193:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "11193:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "11193:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11272:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11280:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11268:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11268:15:13" + }, + { + "hexValue": "7565", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11285:4:13", + "type": "", + "value": "ue" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11261:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "11261:29:13" + }, + "nodeType": "YulExpressionStatement", + "src": "11261:29:13" + } + ] + }, + "name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11174:6:13", + "type": "" + } + ], + "src": "11076:221:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11449:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11459:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11525:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11530:2:13", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11466:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "11466:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11459:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11631:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", + "nodeType": "YulIdentifier", + "src": "11542:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "11542:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "11542:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "11644:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11655:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11660:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11651:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11651:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11644:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11437:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11445:3:13", + "type": "" + } + ], + "src": "11303:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11846:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11856:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11868:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11879:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11864:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11864:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11856:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11903:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11914:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11899:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11899:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11922:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11928:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11918:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11918:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11892:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "11892:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "11892:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "11948:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12082:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11956:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "11956:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11948:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11826:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11841:4:13", + "type": "" + } + ], + "src": "11675:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12165:53:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12182:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12205:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "12187:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "12187:24:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12175:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "12175:37:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12175:37:13" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12153:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12160:3:13", + "type": "" + } + ], + "src": "12100:118:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12267:43:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12277:27:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12292:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12299:4:13", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12288:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12288:16:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "12277:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12249:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "12259:7:13", + "type": "" + } + ], + "src": "12224:86:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12377:51:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12394:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12415:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "12399:15:13" + }, + "nodeType": "YulFunctionCall", + "src": "12399:22:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12387:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "12387:35:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12387:35:13" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12365:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12372:3:13", + "type": "" + } + ], + "src": "12316:112:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12612:367:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12622:27:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12634:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12645:3:13", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12630:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12630:19:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12622:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12703:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12716:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12727:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12712:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12712:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "12659:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "12659:71:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12659:71:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12780:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12793:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12804:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12789:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12789:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "12740:39:13" + }, + "nodeType": "YulFunctionCall", + "src": "12740:68:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12740:68:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12862:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12875:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12886:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12871:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12871:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "12818:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "12818:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12818:72:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12944:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12957:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12968:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12953:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12953:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "12900:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "12900:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12900:72:13" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12560:9:13", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12572:6:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12580:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12588:6:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12596:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12607:4:13", + "type": "" + } + ], + "src": "12434:545:13" } ] }, - "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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { 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 let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\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_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(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 cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_bytes32_t_uint8__to_t_bytes32_t_bytes32_t_uint8__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 abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value2, add(headStart, 64))\n\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint8t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { 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 let offset := 32\n\n value1 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\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 abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\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_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87(memPtr) {\n\n mstore(add(memPtr, 0), \"invalid signature length\")\n\n }\n\n function abi_encode_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87__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_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87_to_t_string_memory_ptr_fromStack( tail)\n\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 copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_encode_t_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(add(value, 0x20), pos, length)\n end := add(pos, length)\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 abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n end := pos\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 store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(memPtr) {\n\n mstore(add(memPtr, 0), 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n\n }\n\n function abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(pos)\n end := add(pos, 28)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n}\n", + "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(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_bytes_memory_ptr(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_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2(memPtr) {\n\n mstore(add(memPtr, 0), \"[BE] invalid signature length\")\n\n }\n\n function abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2__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_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a(memPtr) {\n\n mstore(add(memPtr, 0), \"[BE] invalid seller signature\")\n\n }\n\n function abi_encode_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a__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_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a_to_t_string_memory_ptr_fromStack( tail)\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 store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(memPtr) {\n\n mstore(add(memPtr, 0), 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n\n }\n\n function abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(pos)\n end := add(pos, 28)\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 abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature\")\n\n }\n\n function abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__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_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature length\")\n\n }\n\n function abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__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_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 's' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__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_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 'v' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__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_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack( tail)\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 cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n}\n", "id": 13, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "57:1958:10:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "57:1958:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;569:267;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1152:861;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;842:304;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;85:478;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;569:267;691:7;711:9;722;733:7;744:26;759:10;744:14;:26::i;:::-;710:60;;;;;;788:41;798:21;821:1;824;827;788:41;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;781:48;;;;;569:267;;;;:::o;1152:861::-;1252:9;1275;1298:7;1352:2;1338:3;:10;:16;1330:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;1779:2;1774:3;1770:12;1764:19;1759:24;;1847:2;1842:3;1838:12;1832:19;1827:24;;1952:2;1947:3;1943:12;1937:19;1934:1;1929:28;1924:33;;1152:861;;;;;:::o;842:304::-;929:14;955:19;:56;;;;;;;;;;;;;;;;;;;1025:20;1075:6;1082:1;1058:26;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1048:37;;;;;;1025:60;;1106:32;1116:12;1130:1;1133;1136;1106:32;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1097:41;;945:201;;842:304;;;;;;:::o;85:478::-;185:7;512:12;418:124;;;;;;;;:::i;:::-;;;;;;;;;;;;;391:165;;;;;;372:184;;85:478;;;:::o;7:75:13:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334: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:117::-;799:1;796;789:12;813:117;922:1;919;912:12;936:102;977:6;1028:2;1024:7;1019:2;1012:5;1008:14;1004:28;994:38;;936:102;;;:::o;1044:180::-;1092:77;1089:1;1082:88;1189:4;1186:1;1179:15;1213:4;1210:1;1203:15;1230:281;1313:27;1335:4;1313:27;:::i;:::-;1305:6;1301:40;1443:6;1431:10;1428:22;1407:18;1395:10;1392:34;1389:62;1386:88;;;1454:18;;:::i;:::-;1386:88;1494:10;1490:2;1483:22;1273:238;1230:281;;:::o;1517:129::-;1551:6;1578:20;;:::i;:::-;1568:30;;1607:33;1635:4;1627:6;1607:33;:::i;:::-;1517:129;;;:::o;1652:307::-;1713:4;1803:18;1795:6;1792:30;1789:56;;;1825:18;;:::i;:::-;1789:56;1863:29;1885:6;1863:29;:::i;:::-;1855:37;;1947:4;1941;1937:15;1929:23;;1652:307;;;:::o;1965:154::-;2049:6;2044:3;2039;2026:30;2111:1;2102:6;2097:3;2093:16;2086:27;1965:154;;;:::o;2125:410::-;2202:5;2227:65;2243:48;2284:6;2243:48;:::i;:::-;2227:65;:::i;:::-;2218:74;;2315:6;2308:5;2301:21;2353:4;2346:5;2342:16;2391:3;2382:6;2377:3;2373:16;2370:25;2367:112;;;2398:79;;:::i;:::-;2367:112;2488:41;2522:6;2517:3;2512;2488:41;:::i;:::-;2208:327;2125:410;;;;;:::o;2554:338::-;2609:5;2658:3;2651:4;2643:6;2639:17;2635:27;2625:122;;2666:79;;:::i;:::-;2625:122;2783:6;2770:20;2808:78;2882:3;2874:6;2867:4;2859:6;2855:17;2808:78;:::i;:::-;2799:87;;2615:277;2554:338;;;;:::o;2898:652::-;2975:6;2983;3032:2;3020:9;3011:7;3007:23;3003:32;3000:119;;;3038:79;;:::i;:::-;3000:119;3158:1;3183:53;3228:7;3219:6;3208:9;3204:22;3183:53;:::i;:::-;3173:63;;3129:117;3313:2;3302:9;3298:18;3285:32;3344:18;3336:6;3333:30;3330:117;;;3366:79;;:::i;:::-;3330:117;3471:62;3525:7;3516:6;3505:9;3501:22;3471:62;:::i;:::-;3461:72;;3256:287;2898:652;;;;;:::o;3556:126::-;3593:7;3633:42;3626:5;3622:54;3611:65;;3556:126;;;:::o;3688:96::-;3725:7;3754:24;3772:5;3754:24;:::i;:::-;3743:35;;3688:96;;;:::o;3790:118::-;3877:24;3895:5;3877:24;:::i;:::-;3872:3;3865:37;3790:118;;:::o;3914:222::-;4007:4;4045:2;4034:9;4030:18;4022:26;;4058:71;4126:1;4115:9;4111:17;4102:6;4058:71;:::i;:::-;3914:222;;;;:::o;4142:507::-;4210:6;4259:2;4247:9;4238:7;4234:23;4230:32;4227:119;;;4265:79;;:::i;:::-;4227:119;4413:1;4402:9;4398:17;4385:31;4443:18;4435:6;4432:30;4429:117;;;4465:79;;:::i;:::-;4429:117;4570:62;4624:7;4615:6;4604:9;4600:22;4570:62;:::i;:::-;4560:72;;4356:286;4142:507;;;;:::o;4655:118::-;4742:24;4760:5;4742:24;:::i;:::-;4737:3;4730:37;4655:118;;:::o;4779:86::-;4814:7;4854:4;4847:5;4843:16;4832:27;;4779:86;;;:::o;4871:112::-;4954:22;4970:5;4954:22;:::i;:::-;4949:3;4942:35;4871:112;;:::o;4989:434::-;5134:4;5172:2;5161:9;5157:18;5149:26;;5185:71;5253:1;5242:9;5238:17;5229:6;5185:71;:::i;:::-;5266:72;5334:2;5323:9;5319:18;5310:6;5266:72;:::i;:::-;5348:68;5412:2;5401:9;5397:18;5388:6;5348:68;:::i;:::-;4989:434;;;;;;:::o;5429:118::-;5500:22;5516:5;5500:22;:::i;:::-;5493:5;5490:33;5480:61;;5537:1;5534;5527:12;5480:61;5429:118;:::o;5553:135::-;5597:5;5635:6;5622:20;5613:29;;5651:31;5676:5;5651:31;:::i;:::-;5553:135;;;;:::o;5694:761::-;5778:6;5786;5794;5802;5851:3;5839:9;5830:7;5826:23;5822:33;5819:120;;;5858:79;;:::i;:::-;5819:120;5978:1;6003:53;6048:7;6039:6;6028:9;6024:22;6003:53;:::i;:::-;5993:63;;5949:117;6105:2;6131:51;6174:7;6165:6;6154:9;6150:22;6131:51;:::i;:::-;6121:61;;6076:116;6231:2;6257:53;6302:7;6293:6;6282:9;6278:22;6257:53;:::i;:::-;6247:63;;6202:118;6359:2;6385:53;6430:7;6421:6;6410:9;6406:22;6385:53;:::i;:::-;6375:63;;6330:118;5694:761;;;;;;;:::o;6461:329::-;6520:6;6569:2;6557:9;6548:7;6544:23;6540:32;6537:119;;;6575:79;;:::i;:::-;6537:119;6695:1;6720:53;6765:7;6756:6;6745:9;6741:22;6720:53;:::i;:::-;6710:63;;6666:117;6461:329;;;;:::o;6796:222::-;6889:4;6927:2;6916:9;6912:18;6904:26;;6940:71;7008:1;6997:9;6993:17;6984:6;6940:71;:::i;:::-;6796:222;;;;:::o;7024:545::-;7197:4;7235:3;7224:9;7220:19;7212:27;;7249:71;7317:1;7306:9;7302:17;7293:6;7249:71;:::i;:::-;7330:68;7394:2;7383:9;7379:18;7370:6;7330:68;:::i;:::-;7408:72;7476:2;7465:9;7461:18;7452:6;7408:72;:::i;:::-;7490;7558:2;7547:9;7543:18;7534:6;7490:72;:::i;:::-;7024:545;;;;;;;:::o;7575:169::-;7659:11;7693:6;7688:3;7681:19;7733:4;7728:3;7724:14;7709:29;;7575:169;;;;:::o;7750:174::-;7890:26;7886:1;7878:6;7874:14;7867:50;7750:174;:::o;7930:366::-;8072:3;8093:67;8157:2;8152:3;8093:67;:::i;:::-;8086:74;;8169:93;8258:3;8169:93;:::i;:::-;8287:2;8282:3;8278:12;8271:19;;7930:366;;;:::o;8302:419::-;8468:4;8506:2;8495:9;8491:18;8483:26;;8555:9;8549:4;8545:20;8541:1;8530:9;8526:17;8519:47;8583:131;8709:4;8583:131;:::i;:::-;8575:139;;8302:419;;;:::o;8727:98::-;8778:6;8812:5;8806:12;8796:22;;8727:98;;;:::o;8831:147::-;8932:11;8969:3;8954:18;;8831:147;;;;:::o;8984:307::-;9052:1;9062:113;9076:6;9073:1;9070:13;9062:113;;;9161:1;9156:3;9152:11;9146:18;9142:1;9137:3;9133:11;9126:39;9098:2;9095:1;9091:10;9086:15;;9062:113;;;9193:6;9190:1;9187:13;9184:101;;;9273:1;9264:6;9259:3;9255:16;9248:27;9184:101;9033:258;8984:307;;;:::o;9297:373::-;9401:3;9429:38;9461:5;9429:38;:::i;:::-;9483:88;9564:6;9559:3;9483:88;:::i;:::-;9476:95;;9580:52;9625:6;9620:3;9613:4;9606:5;9602:16;9580:52;:::i;:::-;9657:6;9652:3;9648:16;9641:23;;9405:265;9297:373;;;;:::o;9676:79::-;9715:7;9744:5;9733:16;;9676:79;;;:::o;9761:157::-;9866:45;9886:24;9904:5;9886:24;:::i;:::-;9866:45;:::i;:::-;9861:3;9854:58;9761:157;;:::o;9924:412::-;10082:3;10104:93;10193:3;10184:6;10104:93;:::i;:::-;10097:100;;10207:75;10278:3;10269:6;10207:75;:::i;:::-;10307:2;10302:3;10298:12;10291:19;;10327:3;10320:10;;9924:412;;;;;:::o;10342:148::-;10444:11;10481:3;10466:18;;10342:148;;;;:::o;10496:214::-;10636:66;10632:1;10624:6;10620:14;10613:90;10496:214;:::o;10716:402::-;10876:3;10897:85;10979:2;10974:3;10897:85;:::i;:::-;10890:92;;10991:93;11080:3;10991:93;:::i;:::-;11109:2;11104:3;11100:12;11093:19;;10716:402;;;:::o;11124:522::-;11337:3;11359:148;11503:3;11359:148;:::i;:::-;11352:155;;11517:75;11588:3;11579:6;11517:75;:::i;:::-;11617:2;11612:3;11608:12;11601:19;;11637:3;11630:10;;11124:522;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract HasSignature {\n function getEthSignedMessageHash(bytes32 _messageHash)\n public\n pure\n returns (bytes32)\n {\n /*\n Signature is produced by signing a keccak256 hash with the following format:\n \"\\x19Ethereum Signed Message\\n\" + len(msg) + msg\n */\n return\n keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n _messageHash\n )\n );\n }\n\n function recoverSigner(\n bytes32 _ethSignedMessageHash,\n bytes memory _signature\n ) public pure returns (address) {\n (bytes32 r, bytes32 s, uint8 v) = splitSignature(_signature);\n\n return ecrecover(_ethSignedMessageHash, v, r, s);\n }\n\n function checkSignature(bytes32 h, uint8 v, bytes32 r, bytes32 s) public pure returns (address signer) {\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\"; \n bytes32 prefixedHash = keccak256(abi.encodePacked(prefix,h)); \n signer = ecrecover(prefixedHash, v, r, s); \n }\n\n function splitSignature(bytes memory sig)\n public\n pure\n returns (\n bytes32 r,\n bytes32 s,\n uint8 v\n )\n {\n require(sig.length == 65, \"invalid signature length\");\n\n assembly {\n /*\n First 32 bytes stores the length of the signature\n\n add(sig, 32) = pointer of sig + 32\n effectively, skips first 32 bytes of signature\n\n mload(p) loads next 32 bytes starting at the memory address p into memory\n */\n\n // first 32 bytes, after the length prefix\n r := mload(add(sig, 32))\n // second 32 bytes\n s := mload(add(sig, 64))\n // final byte (first byte of the next 32 bytes)\n v := byte(0, mload(add(sig, 96)))\n }\n\n // implicitly return (r, s, v)\n }\n}", + "sourceMap": "120:483:11:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "120:483:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;149:452;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;305:2;285:9;:16;:22;277:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;351:28;382:56;424:4;382:28;:56::i;:::-;351:87;;457:17;477:46;491:20;513:9;477:13;:46::i;:::-;457:66;;554:6;541:19;;:9;:19;;;533:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;267:334;;149:452;;;:::o;8040:265:7:-;8109:7;8292:4;8239:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;8229:69;;;;;;8222:76;;8040:265;;;:::o;4293:227::-;4371:7;4391:17;4410:18;4432:27;4443:4;4449:9;4432:10;:27::i;:::-;4390:69;;;;4469:18;4481:5;4469:11;:18::i;:::-;4504:9;4497:16;;;;4293:227;;;;:::o;2228:1279::-;2309:7;2318:12;2559:2;2539:9;:16;:22;2535:966;;;2577:9;2600;2623:7;2828:4;2817:9;2813:20;2807:27;2802:32;;2877:4;2866:9;2862:20;2856:27;2851:32;;2934:4;2923:9;2919:20;2913:27;2910:1;2905:36;2900:41;;2975:25;2986:4;2992:1;2995;2998;2975:10;:25::i;:::-;2968:32;;;;;;;;;2535:966;3041:2;3021:9;:16;:22;3017:484;;;3059:9;3082:10;3290:4;3279:9;3275:20;3269:27;3264:32;;3340:4;3329:9;3325:20;3319:27;3313:33;;3380:23;3391:4;3397:1;3400:2;3380:10;:23::i;:::-;3373:30;;;;;;;;3017:484;3450:1;3454:35;3434:56;;;;2228:1279;;;;;;:::o;533:631::-;610:20;601:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;597:561;;;646:7;;597:561;706:29;697:38;;;;;;;;:::i;:::-;;:5;:38;;;;;;;;:::i;:::-;;;693:465;;;751:34;;;;;;;;;;:::i;:::-;;;;;;;;693:465;815:35;806:44;;;;;;;;:::i;:::-;;:5;:44;;;;;;;;:::i;:::-;;;802:356;;;866:41;;;;;;;;;;:::i;:::-;;;;;;;;802:356;937:30;928:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;924:234;;;983:44;;;;;;;;;;:::i;:::-;;;;;;;;924:234;1057:30;1048:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;1044:114;;;1103:44;;;;;;;;;;:::i;:::-;;;;;;;;1044:114;533:631;;:::o;5744:1603::-;5870:7;5879:12;6794:66;6789:1;6781:10;;:79;6777:161;;;6892:1;6896:30;6876:51;;;;;;6777:161;6956:2;6951:1;:7;;;;:18;;;;;6967:2;6962:1;:7;;;;6951:18;6947:100;;;7001:1;7005:30;6985:51;;;;;;6947:100;7141:14;7158:24;7168:4;7174:1;7177;7180;7158:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7141:41;;7214:1;7196:20;;:6;:20;;;7192:101;;;7248:1;7252:29;7232:50;;;;;;;7192:101;7311:6;7319:20;7303:37;;;;;5744:1603;;;;;;;;:::o;4774:379::-;4884:7;4893:12;4917:9;4936:7;4989:66;4985:2;4981:75;4976:80;;5092:2;5087;5082:3;5078:12;5074:21;5069:26;;5121:25;5132:4;5138:1;5141;5144;5121:10;:25::i;:::-;5114:32;;;;;;4774:379;;;;;;:::o;7:75:13:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:117::-;1306:1;1303;1296:12;1320:117;1429:1;1426;1419:12;1443:102;1484:6;1535:2;1531:7;1526:2;1519:5;1515:14;1511:28;1501:38;;1443:102;;;:::o;1551:180::-;1599:77;1596:1;1589:88;1696:4;1693:1;1686:15;1720:4;1717:1;1710:15;1737:281;1820:27;1842:4;1820:27;:::i;:::-;1812:6;1808:40;1950:6;1938:10;1935:22;1914:18;1902:10;1899:34;1896:62;1893:88;;;1961:18;;:::i;:::-;1893:88;2001:10;1997:2;1990:22;1780:238;1737:281;;:::o;2024:129::-;2058:6;2085:20;;:::i;:::-;2075:30;;2114:33;2142:4;2134:6;2114:33;:::i;:::-;2024:129;;;:::o;2159:307::-;2220:4;2310:18;2302:6;2299:30;2296:56;;;2332:18;;:::i;:::-;2296:56;2370:29;2392:6;2370:29;:::i;:::-;2362:37;;2454:4;2448;2444:15;2436:23;;2159:307;;;:::o;2472:154::-;2556:6;2551:3;2546;2533:30;2618:1;2609:6;2604:3;2600:16;2593:27;2472:154;;;:::o;2632:410::-;2709:5;2734:65;2750:48;2791:6;2750:48;:::i;:::-;2734:65;:::i;:::-;2725:74;;2822:6;2815:5;2808:21;2860:4;2853:5;2849:16;2898:3;2889:6;2884:3;2880:16;2877:25;2874:112;;;2905:79;;:::i;:::-;2874:112;2995:41;3029:6;3024:3;3019;2995:41;:::i;:::-;2715:327;2632:410;;;;;:::o;3061:338::-;3116:5;3165:3;3158:4;3150:6;3146:17;3142:27;3132:122;;3173:79;;:::i;:::-;3132:122;3290:6;3277:20;3315:78;3389:3;3381:6;3374:4;3366:6;3362:17;3315:78;:::i;:::-;3306:87;;3122:277;3061:338;;;;:::o;3405:797::-;3491:6;3499;3507;3556:2;3544:9;3535:7;3531:23;3527:32;3524:119;;;3562:79;;:::i;:::-;3524:119;3682:1;3707:53;3752:7;3743:6;3732:9;3728:22;3707:53;:::i;:::-;3697:63;;3653:117;3809:2;3835:53;3880:7;3871:6;3860:9;3856:22;3835:53;:::i;:::-;3825:63;;3780:118;3965:2;3954:9;3950:18;3937:32;3996:18;3988:6;3985:30;3982:117;;;4018:79;;:::i;:::-;3982:117;4123:62;4177:7;4168:6;4157:9;4153:22;4123:62;:::i;:::-;4113:72;;3908:287;3405:797;;;;;:::o;4208:169::-;4292:11;4326:6;4321:3;4314:19;4366:4;4361:3;4357:14;4342:29;;4208:169;;;;:::o;4383:179::-;4523:31;4519:1;4511:6;4507:14;4500:55;4383:179;:::o;4568:366::-;4710:3;4731:67;4795:2;4790:3;4731:67;:::i;:::-;4724:74;;4807:93;4896:3;4807:93;:::i;:::-;4925:2;4920:3;4916:12;4909:19;;4568:366;;;:::o;4940:419::-;5106:4;5144:2;5133:9;5129:18;5121:26;;5193:9;5187:4;5183:20;5179:1;5168:9;5164:17;5157:47;5221:131;5347:4;5221:131;:::i;:::-;5213:139;;4940:419;;;:::o;5365:179::-;5505:31;5501:1;5493:6;5489:14;5482:55;5365:179;:::o;5550:366::-;5692:3;5713:67;5777:2;5772:3;5713:67;:::i;:::-;5706:74;;5789:93;5878:3;5789:93;:::i;:::-;5907:2;5902:3;5898:12;5891:19;;5550:366;;;:::o;5922:419::-;6088:4;6126:2;6115:9;6111:18;6103:26;;6175:9;6169:4;6165:20;6161:1;6150:9;6146:17;6139:47;6203:131;6329:4;6203:131;:::i;:::-;6195:139;;5922:419;;;:::o;6347:148::-;6449:11;6486:3;6471:18;;6347:148;;;;:::o;6501:214::-;6641:66;6637:1;6629:6;6625:14;6618:90;6501:214;:::o;6721:402::-;6881:3;6902:85;6984:2;6979:3;6902:85;:::i;:::-;6895:92;;6996:93;7085:3;6996:93;:::i;:::-;7114:2;7109:3;7105:12;7098:19;;6721:402;;;:::o;7129:79::-;7168:7;7197:5;7186:16;;7129:79;;;:::o;7214:157::-;7319:45;7339:24;7357:5;7339:24;:::i;:::-;7319:45;:::i;:::-;7314:3;7307:58;7214:157;;:::o;7377:522::-;7590:3;7612:148;7756:3;7612:148;:::i;:::-;7605:155;;7770:75;7841:3;7832:6;7770:75;:::i;:::-;7870:2;7865:3;7861:12;7854:19;;7890:3;7883:10;;7377:522;;;;:::o;7905:180::-;7953:77;7950:1;7943:88;8050:4;8047:1;8040:15;8074:4;8071:1;8064:15;8091:174;8231:26;8227:1;8219:6;8215:14;8208:50;8091:174;:::o;8271:366::-;8413:3;8434:67;8498:2;8493:3;8434:67;:::i;:::-;8427:74;;8510:93;8599:3;8510:93;:::i;:::-;8628:2;8623:3;8619:12;8612:19;;8271:366;;;:::o;8643:419::-;8809:4;8847:2;8836:9;8832:18;8824:26;;8896:9;8890:4;8886:20;8882:1;8871:9;8867:17;8860:47;8924:131;9050:4;8924:131;:::i;:::-;8916:139;;8643:419;;;:::o;9068:181::-;9208:33;9204:1;9196:6;9192:14;9185:57;9068:181;:::o;9255:366::-;9397:3;9418:67;9482:2;9477:3;9418:67;:::i;:::-;9411:74;;9494:93;9583:3;9494:93;:::i;:::-;9612:2;9607:3;9603:12;9596:19;;9255:366;;;:::o;9627:419::-;9793:4;9831:2;9820:9;9816:18;9808:26;;9880:9;9874:4;9870:20;9866:1;9855:9;9851:17;9844:47;9908:131;10034:4;9908:131;:::i;:::-;9900:139;;9627:419;;;:::o;10052:221::-;10192:34;10188:1;10180:6;10176:14;10169:58;10261:4;10256:2;10248:6;10244:15;10237:29;10052:221;:::o;10279:366::-;10421:3;10442:67;10506:2;10501:3;10442:67;:::i;:::-;10435:74;;10518:93;10607:3;10518:93;:::i;:::-;10636:2;10631:3;10627:12;10620:19;;10279:366;;;:::o;10651:419::-;10817:4;10855:2;10844:9;10840:18;10832:26;;10904:9;10898:4;10894:20;10890:1;10879:9;10875:17;10868:47;10932:131;11058:4;10932:131;:::i;:::-;10924:139;;10651:419;;;:::o;11076:221::-;11216:34;11212:1;11204:6;11200:14;11193:58;11285:4;11280:2;11272:6;11268:15;11261:29;11076:221;:::o;11303:366::-;11445:3;11466:67;11530:2;11525:3;11466:67;:::i;:::-;11459:74;;11542:93;11631:3;11542:93;:::i;:::-;11660:2;11655:3;11651:12;11644:19;;11303:366;;;:::o;11675:419::-;11841:4;11879:2;11868:9;11864:18;11856:26;;11928:9;11922:4;11918:20;11914:1;11903:9;11899:17;11892:47;11956:131;12082:4;11956:131;:::i;:::-;11948:139;;11675:419;;;:::o;12100:118::-;12187:24;12205:5;12187:24;:::i;:::-;12182:3;12175:37;12100:118;;:::o;12224:86::-;12259:7;12299:4;12292:5;12288:16;12277:27;;12224:86;;;:::o;12316:112::-;12399:22;12415:5;12399:22;:::i;:::-;12394:3;12387:35;12316:112;;:::o;12434:545::-;12607:4;12645:3;12634:9;12630:19;12622:27;;12659:71;12727:1;12716:9;12712:17;12703:6;12659:71;:::i;:::-;12740:68;12804:2;12793:9;12789:18;12780:6;12740:68;:::i;:::-;12818:72;12886:2;12875:9;12871:18;12862:6;12818:72;:::i;:::-;12900;12968:2;12957:9;12953:18;12944:6;12900:72;:::i;:::-;12434:545;;;;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\nimport \"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\";\n\ncontract HasSignature {\n\n function checkSigner(\n address signer,\n bytes32 hash,\n bytes memory signature \n ) public pure {\n require(signature.length == 65, \"[BE] invalid signature length\");\n bytes32 ethSignedMessageHash = ECDSA.toEthSignedMessageHash(\n hash\n );\n \n address recovered = ECDSA.recover(ethSignedMessageHash, signature);\n require(recovered == signer, \"[BE] invalid seller signature\");\n }\n}", "sourcePath": "/Users/zhl/Documents/workspace/game/becrypto/contracts/HasSignature.sol", "ast": { "absolutePath": "project:/contracts/HasSignature.sol", "exportedSymbols": { + "ECDSA": [ + 1434 + ], "HasSignature": [ - 1431 + 1890 + ], + "Strings": [ + 1044 ] }, - "id": 1432, + "id": 1891, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1329, + "id": 1848, "literals": [ "solidity", "^", @@ -5628,7 +5458,19 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "32:23:10" + "src": "32:23:11" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "file": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "id": 1849, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1891, + "sourceUnit": 1435, + "src": "56:62:11", + "symbolAliases": [], + "unitAlias": "" }, { "abstract": false, @@ -5637,1097 +5479,19 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1431, + "id": 1890, "linearizedBaseContracts": [ - 1431 + 1890 ], "name": "HasSignature", - "nameLocation": "66:12:10", + "nameLocation": "129:12:11", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1344, + "id": 1888, "nodeType": "Block", - "src": "198:365:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 1339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "456:34:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "id": 1340, - "name": "_messageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1331, - "src": "512:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1337, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "418:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "418:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "418:124:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1336, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "391:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "391:165:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 1335, - "id": 1343, - "nodeType": "Return", - "src": "372:184:10" - } - ] - }, - "functionSelector": "fa540801", - "id": 1345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEthSignedMessageHash", - "nameLocation": "94:23:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1332, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1331, - "mutability": "mutable", - "name": "_messageHash", - "nameLocation": "126:12:10", - "nodeType": "VariableDeclaration", - "scope": 1345, - "src": "118:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1330, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "118:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "117:22:10" - }, - "returnParameters": { - "id": 1335, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1334, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1345, - "src": "185:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1333, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "185:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "184:9:10" - }, - "scope": 1431, - "src": "85:478:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1371, - "nodeType": "Block", - "src": "700:136:10", - "statements": [ - { - "assignments": [ - 1355, - 1357, - 1359 - ], - "declarations": [ - { - "constant": false, - "id": 1355, - "mutability": "mutable", - "name": "r", - "nameLocation": "719:1:10", - "nodeType": "VariableDeclaration", - "scope": 1371, - "src": "711:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1354, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "711:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1357, - "mutability": "mutable", - "name": "s", - "nameLocation": "730:1:10", - "nodeType": "VariableDeclaration", - "scope": 1371, - "src": "722:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1356, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "722:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1359, - "mutability": "mutable", - "name": "v", - "nameLocation": "739:1:10", - "nodeType": "VariableDeclaration", - "scope": 1371, - "src": "733:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1358, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "733:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 1363, - "initialValue": { - "arguments": [ - { - "id": 1361, - "name": "_signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "759:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1360, - "name": "splitSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1430, - "src": "744:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_bytes32_$_t_uint8_$", - "typeString": "function (bytes memory) pure returns (bytes32,bytes32,uint8)" - } - }, - "id": 1362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "744:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$_t_uint8_$", - "typeString": "tuple(bytes32,bytes32,uint8)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "710:60:10" - }, - { - "expression": { - "arguments": [ - { - "id": 1365, - "name": "_ethSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1347, - "src": "798:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1366, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1359, - "src": "821:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1367, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1355, - "src": "824:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1368, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1357, - "src": "827:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1364, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967290, - "src": "788:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "788:41:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1353, - "id": 1370, - "nodeType": "Return", - "src": "781:48:10" - } - ] - }, - "functionSelector": "97aba7f9", - "id": 1372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recoverSigner", - "nameLocation": "578:13:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1347, - "mutability": "mutable", - "name": "_ethSignedMessageHash", - "nameLocation": "609:21:10", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "601:29:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1346, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "601:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1349, - "mutability": "mutable", - "name": "_signature", - "nameLocation": "653:10:10", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "640:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1348, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "640:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "591:78:10" - }, - "returnParameters": { - "id": 1353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1352, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "691:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "691:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "690:9:10" - }, - "scope": 1431, - "src": "569:267:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1408, - "nodeType": "Block", - "src": "945:201:10", - "statements": [ - { - "assignments": [ - 1386 - ], - "declarations": [ - { - "constant": false, - "id": 1386, - "mutability": "mutable", - "name": "prefix", - "nameLocation": "968:6:10", - "nodeType": "VariableDeclaration", - "scope": 1408, - "src": "955:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1385, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "955:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1388, - "initialValue": { - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 1387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "977:34:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - "nodeType": "VariableDeclarationStatement", - "src": "955:56:10" - }, - { - "assignments": [ - 1390 - ], - "declarations": [ - { - "constant": false, - "id": 1390, - "mutability": "mutable", - "name": "prefixedHash", - "nameLocation": "1033:12:10", - "nodeType": "VariableDeclaration", - "scope": 1408, - "src": "1025:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1389, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1025:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1398, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 1394, - "name": "prefix", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "1075:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1395, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "1082:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1392, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "1058:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1058:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1058:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1391, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "1048:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1048:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1025:60:10" - }, - { - "expression": { - "id": 1406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1399, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "1097:6:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1401, - "name": "prefixedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "1116:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1402, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "1130:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1403, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "1133:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1404, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "1136:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1400, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967290, - "src": "1106:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 1405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1106:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1097:41:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1407, - "nodeType": "ExpressionStatement", - "src": "1097:41:10" - } - ] - }, - "functionSelector": "eedaa500", - "id": 1409, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "checkSignature", - "nameLocation": "851:14:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1374, - "mutability": "mutable", - "name": "h", - "nameLocation": "874:1:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "866:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1373, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "866:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1376, - "mutability": "mutable", - "name": "v", - "nameLocation": "883:1:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "877:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1375, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "877:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1378, - "mutability": "mutable", - "name": "r", - "nameLocation": "894:1:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "886:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1377, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "886:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1380, - "mutability": "mutable", - "name": "s", - "nameLocation": "905:1:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "897:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1379, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "897:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "865:42:10" - }, - "returnParameters": { - "id": 1384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1383, - "mutability": "mutable", - "name": "signer", - "nameLocation": "937:6:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "929:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1382, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "929:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "928:16:10" - }, - "scope": 1431, - "src": "842:304:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1429, - "nodeType": "Block", - "src": "1320:693:10", + "src": "267:334:11", "statements": [ { "expression": { @@ -6737,32 +5501,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1424, + "id": 1862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1421, - "name": "sig", + "id": 1859, + "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1411, - "src": "1338:3:10", + "referencedDeclaration": 1855, + "src": "285:9:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1422, + "id": 1860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1338:10:10", + "src": "285:16:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6772,41 +5536,41 @@ "operator": "==", "rightExpression": { "hexValue": "3635", - "id": 1423, + "id": 1861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1352:2:10", + "src": "305:2:11", "typeDescriptions": { "typeIdentifier": "t_rational_65_by_1", "typeString": "int_const 65" }, "value": "65" }, - "src": "1338:16:10", + "src": "285:22:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "696e76616c6964207369676e6174757265206c656e677468", - "id": 1425, + "hexValue": "5b42455d20696e76616c6964207369676e6174757265206c656e677468", + "id": 1863, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1356:26:10", + "src": "309:31:11", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87", - "typeString": "literal_string \"invalid signature length\"" + "typeIdentifier": "t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", + "typeString": "literal_string \"[BE] invalid signature length\"" }, - "value": "invalid signature length" + "value": "[BE] invalid signature length" } ], "expression": { @@ -6816,11 +5580,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87", - "typeString": "literal_string \"invalid signature length\"" + "typeIdentifier": "t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", + "typeString": "literal_string \"[BE] invalid signature length\"" } ], - "id": 1420, + "id": 1858, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6828,13 +5592,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1330:7:10", + "src": "277:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1426, + "id": 1864, "isConstant": false, "isLValue": false, "isPure": false, @@ -6842,249 +5606,418 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1330:53:10", + "src": "277:64:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1427, + "id": 1865, "nodeType": "ExpressionStatement", - "src": "1330:53:10" + "src": "277:64:11" }, { - "AST": { - "nodeType": "YulBlock", - "src": "1403:564:10", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1759:24:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "sig", - "nodeType": "YulIdentifier", - "src": "1774:3:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1779:2:10", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1770:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "1770:12:10" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1764:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "1764:19:10" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "1759:1:10" - } - ] + "assignments": [ + 1867 + ], + "declarations": [ + { + "constant": false, + "id": 1867, + "mutability": "mutable", + "name": "ethSignedMessageHash", + "nameLocation": "359:20:11", + "nodeType": "VariableDeclaration", + "scope": 1888, + "src": "351:28:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - { - "nodeType": "YulAssignment", - "src": "1827:24:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "sig", - "nodeType": "YulIdentifier", - "src": "1842:3:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1847:2:10", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1838:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "1838:12:10" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1832:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "1832:19:10" - }, - "variableNames": [ - { - "name": "s", - "nodeType": "YulIdentifier", - "src": "1827:1:10" - } - ] + "typeName": { + "id": 1866, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "351:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - { - "nodeType": "YulAssignment", - "src": "1924:33:10", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1934:1:10", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "sig", - "nodeType": "YulIdentifier", - "src": "1947:3:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1952:2:10", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1943:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "1943:12:10" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1937:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "1937:19:10" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "1929:4:10" - }, - "nodeType": "YulFunctionCall", - "src": "1929:28:10" - }, - "variableNames": [ - { - "name": "v", - "nodeType": "YulIdentifier", - "src": "1924:1:10" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 1414, - "isOffset": false, - "isSlot": false, - "src": "1759:1:10", - "valueSize": 1 - }, - { - "declaration": 1416, - "isOffset": false, - "isSlot": false, - "src": "1827:1:10", - "valueSize": 1 - }, - { - "declaration": 1411, - "isOffset": false, - "isSlot": false, - "src": "1774:3:10", - "valueSize": 1 - }, - { - "declaration": 1411, - "isOffset": false, - "isSlot": false, - "src": "1842:3:10", - "valueSize": 1 - }, - { - "declaration": 1411, - "isOffset": false, - "isSlot": false, - "src": "1947:3:10", - "valueSize": 1 - }, - { - "declaration": 1418, - "isOffset": false, - "isSlot": false, - "src": "1924:1:10", - "valueSize": 1 + "visibility": "internal" } ], - "id": 1428, - "nodeType": "InlineAssembly", - "src": "1394:573:10" + "id": 1872, + "initialValue": { + "arguments": [ + { + "id": 1870, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "424:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1868, + "name": "ECDSA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1434, + "src": "382:5:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ECDSA_$1434_$", + "typeString": "type(library ECDSA)" + } + }, + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toEthSignedMessageHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 1391, + "src": "382:28:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) pure returns (bytes32)" + } + }, + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "382:56:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "351:87:11" + }, + { + "assignments": [ + 1874 + ], + "declarations": [ + { + "constant": false, + "id": 1874, + "mutability": "mutable", + "name": "recovered", + "nameLocation": "465:9:11", + "nodeType": "VariableDeclaration", + "scope": 1888, + "src": "457:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1873, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "457:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1880, + "initialValue": { + "arguments": [ + { + "id": 1877, + "name": "ethSignedMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "491:20:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1878, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "513:9:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1875, + "name": "ECDSA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1434, + "src": "477:5:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ECDSA_$1434_$", + "typeString": "type(library ECDSA)" + } + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "recover", + "nodeType": "MemberAccess", + "referencedDeclaration": 1200, + "src": "477:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) pure returns (address)" + } + }, + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "477:46:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "457:66:11" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1882, + "name": "recovered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1874, + "src": "541:9:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1883, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "554:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "541:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5b42455d20696e76616c69642073656c6c6572207369676e6174757265", + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "562:31:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a", + "typeString": "literal_string \"[BE] invalid seller signature\"" + }, + "value": "[BE] invalid seller signature" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a", + "typeString": "literal_string \"[BE] invalid seller signature\"" + } + ], + "id": 1881, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "533:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "533:61:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1887, + "nodeType": "ExpressionStatement", + "src": "533:61:11" } ] }, - "functionSelector": "a7bb5803", - "id": 1430, + "functionSelector": "6d043194", + "id": 1889, "implemented": true, "kind": "function", "modifiers": [], - "name": "splitSignature", - "nameLocation": "1161:14:10", + "name": "checkSigner", + "nameLocation": "158:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1412, + "id": 1856, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1411, + "id": 1851, "mutability": "mutable", - "name": "sig", - "nameLocation": "1189:3:10", + "name": "signer", + "nameLocation": "187:6:11", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "1176:16:10", + "scope": 1889, + "src": "179:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "179:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1853, + "mutability": "mutable", + "name": "hash", + "nameLocation": "211:4:11", + "nodeType": "VariableDeclaration", + "scope": 1889, + "src": "203:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1852, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "203:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1855, + "mutability": "mutable", + "name": "signature", + "nameLocation": "238:9:11", + "nodeType": "VariableDeclaration", + "scope": 1889, + "src": "225:22:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7092,10 +6025,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1410, + "id": 1854, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1176:5:10", + "src": "225:5:11", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7104,123 +6037,47 @@ "visibility": "internal" } ], - "src": "1175:18:10" + "src": "169:85:11" }, "returnParameters": { - "id": 1419, + "id": 1857, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1414, - "mutability": "mutable", - "name": "r", - "nameLocation": "1260:1:10", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "1252:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1252:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1416, - "mutability": "mutable", - "name": "s", - "nameLocation": "1283:1:10", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "1275:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1415, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1275:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1418, - "mutability": "mutable", - "name": "v", - "nameLocation": "1304:1:10", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "1298:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1417, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1298:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "1238:77:10" + "parameters": [], + "src": "267:0:11" }, - "scope": 1431, - "src": "1152:861:10", + "scope": 1890, + "src": "149:452:11", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], - "scope": 1432, - "src": "57:1958:10", + "scope": 1891, + "src": "120:483:11", "usedErrors": [] } ], - "src": "32:1983:10" + "src": "32:571:11" }, "legacyAST": { "absolutePath": "project:/contracts/HasSignature.sol", "exportedSymbols": { + "ECDSA": [ + 1434 + ], "HasSignature": [ - 1431 + 1890 + ], + "Strings": [ + 1044 ] }, - "id": 1432, + "id": 1891, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1329, + "id": 1848, "literals": [ "solidity", "^", @@ -7228,7 +6085,19 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "32:23:10" + "src": "32:23:11" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "file": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "id": 1849, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1891, + "sourceUnit": 1435, + "src": "56:62:11", + "symbolAliases": [], + "unitAlias": "" }, { "abstract": false, @@ -7237,1097 +6106,19 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1431, + "id": 1890, "linearizedBaseContracts": [ - 1431 + 1890 ], "name": "HasSignature", - "nameLocation": "66:12:10", + "nameLocation": "129:12:11", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1344, + "id": 1888, "nodeType": "Block", - "src": "198:365:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 1339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "456:34:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "id": 1340, - "name": "_messageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1331, - "src": "512:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1337, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "418:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "418:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "418:124:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1336, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "391:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "391:165:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 1335, - "id": 1343, - "nodeType": "Return", - "src": "372:184:10" - } - ] - }, - "functionSelector": "fa540801", - "id": 1345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEthSignedMessageHash", - "nameLocation": "94:23:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1332, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1331, - "mutability": "mutable", - "name": "_messageHash", - "nameLocation": "126:12:10", - "nodeType": "VariableDeclaration", - "scope": 1345, - "src": "118:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1330, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "118:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "117:22:10" - }, - "returnParameters": { - "id": 1335, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1334, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1345, - "src": "185:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1333, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "185:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "184:9:10" - }, - "scope": 1431, - "src": "85:478:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1371, - "nodeType": "Block", - "src": "700:136:10", - "statements": [ - { - "assignments": [ - 1355, - 1357, - 1359 - ], - "declarations": [ - { - "constant": false, - "id": 1355, - "mutability": "mutable", - "name": "r", - "nameLocation": "719:1:10", - "nodeType": "VariableDeclaration", - "scope": 1371, - "src": "711:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1354, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "711:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1357, - "mutability": "mutable", - "name": "s", - "nameLocation": "730:1:10", - "nodeType": "VariableDeclaration", - "scope": 1371, - "src": "722:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1356, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "722:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1359, - "mutability": "mutable", - "name": "v", - "nameLocation": "739:1:10", - "nodeType": "VariableDeclaration", - "scope": 1371, - "src": "733:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1358, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "733:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 1363, - "initialValue": { - "arguments": [ - { - "id": 1361, - "name": "_signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "759:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1360, - "name": "splitSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1430, - "src": "744:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_bytes32_$_t_uint8_$", - "typeString": "function (bytes memory) pure returns (bytes32,bytes32,uint8)" - } - }, - "id": 1362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "744:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$_t_uint8_$", - "typeString": "tuple(bytes32,bytes32,uint8)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "710:60:10" - }, - { - "expression": { - "arguments": [ - { - "id": 1365, - "name": "_ethSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1347, - "src": "798:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1366, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1359, - "src": "821:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1367, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1355, - "src": "824:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1368, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1357, - "src": "827:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1364, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967290, - "src": "788:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "788:41:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1353, - "id": 1370, - "nodeType": "Return", - "src": "781:48:10" - } - ] - }, - "functionSelector": "97aba7f9", - "id": 1372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recoverSigner", - "nameLocation": "578:13:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1347, - "mutability": "mutable", - "name": "_ethSignedMessageHash", - "nameLocation": "609:21:10", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "601:29:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1346, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "601:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1349, - "mutability": "mutable", - "name": "_signature", - "nameLocation": "653:10:10", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "640:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1348, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "640:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "591:78:10" - }, - "returnParameters": { - "id": 1353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1352, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "691:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "691:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "690:9:10" - }, - "scope": 1431, - "src": "569:267:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1408, - "nodeType": "Block", - "src": "945:201:10", - "statements": [ - { - "assignments": [ - 1386 - ], - "declarations": [ - { - "constant": false, - "id": 1386, - "mutability": "mutable", - "name": "prefix", - "nameLocation": "968:6:10", - "nodeType": "VariableDeclaration", - "scope": 1408, - "src": "955:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1385, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "955:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1388, - "initialValue": { - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 1387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "977:34:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - "nodeType": "VariableDeclarationStatement", - "src": "955:56:10" - }, - { - "assignments": [ - 1390 - ], - "declarations": [ - { - "constant": false, - "id": 1390, - "mutability": "mutable", - "name": "prefixedHash", - "nameLocation": "1033:12:10", - "nodeType": "VariableDeclaration", - "scope": 1408, - "src": "1025:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1389, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1025:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1398, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 1394, - "name": "prefix", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "1075:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1395, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "1082:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1392, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "1058:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1058:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1058:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1391, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "1048:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1048:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1025:60:10" - }, - { - "expression": { - "id": 1406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1399, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "1097:6:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1401, - "name": "prefixedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "1116:12:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1402, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "1130:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1403, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "1133:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1404, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "1136:1:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1400, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967290, - "src": "1106:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 1405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1106:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1097:41:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1407, - "nodeType": "ExpressionStatement", - "src": "1097:41:10" - } - ] - }, - "functionSelector": "eedaa500", - "id": 1409, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "checkSignature", - "nameLocation": "851:14:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1374, - "mutability": "mutable", - "name": "h", - "nameLocation": "874:1:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "866:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1373, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "866:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1376, - "mutability": "mutable", - "name": "v", - "nameLocation": "883:1:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "877:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1375, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "877:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1378, - "mutability": "mutable", - "name": "r", - "nameLocation": "894:1:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "886:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1377, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "886:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1380, - "mutability": "mutable", - "name": "s", - "nameLocation": "905:1:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "897:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1379, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "897:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "865:42:10" - }, - "returnParameters": { - "id": 1384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1383, - "mutability": "mutable", - "name": "signer", - "nameLocation": "937:6:10", - "nodeType": "VariableDeclaration", - "scope": 1409, - "src": "929:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1382, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "929:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "928:16:10" - }, - "scope": 1431, - "src": "842:304:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1429, - "nodeType": "Block", - "src": "1320:693:10", + "src": "267:334:11", "statements": [ { "expression": { @@ -8337,32 +6128,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1424, + "id": 1862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1421, - "name": "sig", + "id": 1859, + "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1411, - "src": "1338:3:10", + "referencedDeclaration": 1855, + "src": "285:9:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1422, + "id": 1860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1338:10:10", + "src": "285:16:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8372,41 +6163,41 @@ "operator": "==", "rightExpression": { "hexValue": "3635", - "id": 1423, + "id": 1861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1352:2:10", + "src": "305:2:11", "typeDescriptions": { "typeIdentifier": "t_rational_65_by_1", "typeString": "int_const 65" }, "value": "65" }, - "src": "1338:16:10", + "src": "285:22:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "696e76616c6964207369676e6174757265206c656e677468", - "id": 1425, + "hexValue": "5b42455d20696e76616c6964207369676e6174757265206c656e677468", + "id": 1863, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1356:26:10", + "src": "309:31:11", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87", - "typeString": "literal_string \"invalid signature length\"" + "typeIdentifier": "t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", + "typeString": "literal_string \"[BE] invalid signature length\"" }, - "value": "invalid signature length" + "value": "[BE] invalid signature length" } ], "expression": { @@ -8416,11 +6207,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87", - "typeString": "literal_string \"invalid signature length\"" + "typeIdentifier": "t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", + "typeString": "literal_string \"[BE] invalid signature length\"" } ], - "id": 1420, + "id": 1858, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -8428,13 +6219,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1330:7:10", + "src": "277:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1426, + "id": 1864, "isConstant": false, "isLValue": false, "isPure": false, @@ -8442,249 +6233,418 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1330:53:10", + "src": "277:64:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1427, + "id": 1865, "nodeType": "ExpressionStatement", - "src": "1330:53:10" + "src": "277:64:11" }, { - "AST": { - "nodeType": "YulBlock", - "src": "1403:564:10", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1759:24:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "sig", - "nodeType": "YulIdentifier", - "src": "1774:3:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1779:2:10", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1770:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "1770:12:10" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1764:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "1764:19:10" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "1759:1:10" - } - ] + "assignments": [ + 1867 + ], + "declarations": [ + { + "constant": false, + "id": 1867, + "mutability": "mutable", + "name": "ethSignedMessageHash", + "nameLocation": "359:20:11", + "nodeType": "VariableDeclaration", + "scope": 1888, + "src": "351:28:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - { - "nodeType": "YulAssignment", - "src": "1827:24:10", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "sig", - "nodeType": "YulIdentifier", - "src": "1842:3:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1847:2:10", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1838:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "1838:12:10" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1832:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "1832:19:10" - }, - "variableNames": [ - { - "name": "s", - "nodeType": "YulIdentifier", - "src": "1827:1:10" - } - ] + "typeName": { + "id": 1866, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "351:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - { - "nodeType": "YulAssignment", - "src": "1924:33:10", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1934:1:10", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "sig", - "nodeType": "YulIdentifier", - "src": "1947:3:10" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1952:2:10", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1943:3:10" - }, - "nodeType": "YulFunctionCall", - "src": "1943:12:10" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1937:5:10" - }, - "nodeType": "YulFunctionCall", - "src": "1937:19:10" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "1929:4:10" - }, - "nodeType": "YulFunctionCall", - "src": "1929:28:10" - }, - "variableNames": [ - { - "name": "v", - "nodeType": "YulIdentifier", - "src": "1924:1:10" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 1414, - "isOffset": false, - "isSlot": false, - "src": "1759:1:10", - "valueSize": 1 - }, - { - "declaration": 1416, - "isOffset": false, - "isSlot": false, - "src": "1827:1:10", - "valueSize": 1 - }, - { - "declaration": 1411, - "isOffset": false, - "isSlot": false, - "src": "1774:3:10", - "valueSize": 1 - }, - { - "declaration": 1411, - "isOffset": false, - "isSlot": false, - "src": "1842:3:10", - "valueSize": 1 - }, - { - "declaration": 1411, - "isOffset": false, - "isSlot": false, - "src": "1947:3:10", - "valueSize": 1 - }, - { - "declaration": 1418, - "isOffset": false, - "isSlot": false, - "src": "1924:1:10", - "valueSize": 1 + "visibility": "internal" } ], - "id": 1428, - "nodeType": "InlineAssembly", - "src": "1394:573:10" + "id": 1872, + "initialValue": { + "arguments": [ + { + "id": 1870, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "424:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1868, + "name": "ECDSA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1434, + "src": "382:5:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ECDSA_$1434_$", + "typeString": "type(library ECDSA)" + } + }, + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toEthSignedMessageHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 1391, + "src": "382:28:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) pure returns (bytes32)" + } + }, + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "382:56:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "351:87:11" + }, + { + "assignments": [ + 1874 + ], + "declarations": [ + { + "constant": false, + "id": 1874, + "mutability": "mutable", + "name": "recovered", + "nameLocation": "465:9:11", + "nodeType": "VariableDeclaration", + "scope": 1888, + "src": "457:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1873, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "457:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1880, + "initialValue": { + "arguments": [ + { + "id": 1877, + "name": "ethSignedMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "491:20:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1878, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "513:9:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1875, + "name": "ECDSA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1434, + "src": "477:5:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ECDSA_$1434_$", + "typeString": "type(library ECDSA)" + } + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "recover", + "nodeType": "MemberAccess", + "referencedDeclaration": 1200, + "src": "477:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) pure returns (address)" + } + }, + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "477:46:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "457:66:11" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1882, + "name": "recovered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1874, + "src": "541:9:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1883, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "554:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "541:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5b42455d20696e76616c69642073656c6c6572207369676e6174757265", + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "562:31:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a", + "typeString": "literal_string \"[BE] invalid seller signature\"" + }, + "value": "[BE] invalid seller signature" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a", + "typeString": "literal_string \"[BE] invalid seller signature\"" + } + ], + "id": 1881, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "533:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "533:61:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1887, + "nodeType": "ExpressionStatement", + "src": "533:61:11" } ] }, - "functionSelector": "a7bb5803", - "id": 1430, + "functionSelector": "6d043194", + "id": 1889, "implemented": true, "kind": "function", "modifiers": [], - "name": "splitSignature", - "nameLocation": "1161:14:10", + "name": "checkSigner", + "nameLocation": "158:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1412, + "id": 1856, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1411, + "id": 1851, "mutability": "mutable", - "name": "sig", - "nameLocation": "1189:3:10", + "name": "signer", + "nameLocation": "187:6:11", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "1176:16:10", + "scope": 1889, + "src": "179:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "179:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1853, + "mutability": "mutable", + "name": "hash", + "nameLocation": "211:4:11", + "nodeType": "VariableDeclaration", + "scope": 1889, + "src": "203:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1852, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "203:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1855, + "mutability": "mutable", + "name": "signature", + "nameLocation": "238:9:11", + "nodeType": "VariableDeclaration", + "scope": 1889, + "src": "225:22:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8692,10 +6652,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1410, + "id": 1854, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1176:5:10", + "src": "225:5:11", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -8704,109 +6664,27 @@ "visibility": "internal" } ], - "src": "1175:18:10" + "src": "169:85:11" }, "returnParameters": { - "id": 1419, + "id": 1857, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1414, - "mutability": "mutable", - "name": "r", - "nameLocation": "1260:1:10", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "1252:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1252:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1416, - "mutability": "mutable", - "name": "s", - "nameLocation": "1283:1:10", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "1275:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1415, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1275:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1418, - "mutability": "mutable", - "name": "v", - "nameLocation": "1304:1:10", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "1298:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1417, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1298:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "1238:77:10" + "parameters": [], + "src": "267:0:11" }, - "scope": 1431, - "src": "1152:861:10", + "scope": 1890, + "src": "149:452:11", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], - "scope": 1432, - "src": "57:1958:10", + "scope": 1891, + "src": "120:483:11", "usedErrors": [] } ], - "src": "32:1983:10" + "src": "32:571:11" }, "compiler": { "name": "solc", @@ -8814,7 +6692,7 @@ }, "networks": {}, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-12T03:12:10.219Z", + "updatedAt": "2022-01-12T06:13:56.940Z", "devdoc": { "kind": "dev", "methods": {}, diff --git a/build/contracts/MarketPlace.json b/build/contracts/MarketPlace.json index 85c3e8f..3342b81 100644 --- a/build/contracts/MarketPlace.json +++ b/build/contracts/MarketPlace.json @@ -71,35 +71,24 @@ }, { "inputs": [ - { - "internalType": "bytes32", - "name": "h", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "checkSignature", - "outputs": [ { "internalType": "address", "name": "signer", "type": "address" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" } ], + "name": "checkSigner", + "outputs": [], "stateMutability": "pure", "type": "function", "constant": true @@ -118,26 +107,6 @@ "type": "function", "constant": true }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_messageHash", - "type": "bytes32" - } - ], - "name": "getEthSignedMessageHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function", - "constant": true - }, { "inputs": [], "name": "owner", @@ -172,31 +141,6 @@ "type": "function", "constant": true }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_ethSignedMessageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - } - ], - "name": "recoverSigner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function", - "constant": true - }, { "inputs": [], "name": "renounceOwnership", @@ -204,36 +148,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "sig", - "type": "bytes" - } - ], - "name": "splitSignature", - "outputs": [ - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function", - "constant": true - }, { "inputs": [], "name": "transactionFee", @@ -426,16 +340,16 @@ "constant": true } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"MatchTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"h\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"checkSignature\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeToAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_messageHash\",\"type\":\"bytes32\"}],\"name\":\"getEthSignedMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nftAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_paymentErc20\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_saltNonce\",\"type\":\"uint256\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[2]\",\"name\":\"addresses\",\"type\":\"address[2]\"},{\"internalType\":\"uint256[3]\",\"name\":\"values\",\"type\":\"uint256[3]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"ignoreSignature\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[3]\",\"name\":\"addresses\",\"type\":\"address[3]\"},{\"internalType\":\"uint256[3]\",\"name\":\"values\",\"type\":\"uint256[3]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"matchTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"paymentTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_ethSignedMessageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"recoverSigner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_removedPaymentTokens\",\"type\":\"address[]\"}],\"name\":\"removePaymentTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToAddress\",\"type\":\"address\"}],\"name\":\"setFeeToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_paymentTokens\",\"type\":\"address[]\"}],\"name\":\"setPaymentTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_transactionFee\",\"type\":\"uint256\"}],\"name\":\"setTransactionFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"sig\",\"type\":\"bytes\"}],\"name\":\"splitSignature\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transactionFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"usedSignatures\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"matchTransaction(address[3],uint256[3],bytes)\":{\"details\":\"Function matched transaction with user signatures\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/MarketPlace.sol\":\"Marketplace\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x61437cb513a887a1bbad006e7b1c8b414478427d33de47c5600af3c748f108da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c3d0973630ed74f2b5ce3944677a885dc70ec32fc83b35f55045a10224da32b\",\"dweb:/ipfs/QmbefZ5RoEZKNHXCALfh683PnaNYzKPcKMFjyY1DVAgq8A\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xc3d946432c0ddbb1f846a0d3985be71299df331b91d06732152117f62f0be2b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4632c341a06ba5c079b51ca5a915efab4e6ab57735b37839b3e8365ff806a43e\",\"dweb:/ipfs/QmTHT3xHYed2wajEoA5qu7ii2BxLpPhQZHwAhtLK5Z7ANK\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfaad496c1c944b6259b7dc70b4865eb1775d6402bc0c81b38a0b24d9f525ae37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f60ddc4639589b1d7a87cd647561be4c71ddf9a9dcf55f38db75e24ef1f6c5b\",\"dweb:/ipfs/QmTocvyQx3DPrzsFePtrhDGM6eYxUh3v8iBN3D59yoeuBt\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2\",\"dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y\"]},\"project:/contracts/HasSignature.sol\":{\"keccak256\":\"0x0e1c1708e341d231937f5116367cbac5ff5ca0d7ffa25710a486e19ecce6900f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfc1d1211acfd4e96cc948ffc3e99d98cc3df6dc0aa04eea55c4023e81be522d\",\"dweb:/ipfs/QmQKpeETunHzuRwnazAAa6ayAyDg9fbHcichZbvGdNooQV\"]},\"project:/contracts/MarketPlace.sol\":{\"keccak256\":\"0xc7e381295fc7939ff00d450db2e23044ea675705770cb6695a424f72d92bb270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4f2700eed3f7144a91636470580b13c57236c14949b19c71bb4cf0af55c9ecf\",\"dweb:/ipfs/QmX1M322f8vJfL3cBGffasQv7Qv9wnuGRxK9RvuSdt18vb\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5062000032620000266200003860201b60201c565b6200004060201b60201c565b62000104565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61310d80620001146000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063a7bb5803116100a2578063e8e8e87211610071578063e8e8e872146102cd578063e949580e146102fd578063eedaa5001461032d578063f2fde38b1461035d578063fa5408011461037957610116565b8063a7bb580314610233578063b88dccac14610265578063c3b88b4214610281578063d79f639e146102b157610116565b806364e60ef4116100e957806364e60ef4146101a1578063715018a6146101bd5780638da5cb5b146101c757806397aba7f9146101e55780639ed3edf01461021557610116565b8063083d80f91461011b578063096a8ab7146101395780631e5192e514610155578063580bb9a514610185575b600080fd5b6101236103a9565b6040516101309190611b66565b60405180910390f35b610153600480360381019061014e9190611bcb565b6103cf565b005b61016f600480360381019061016a9190611c24565b610455565b60405161017c9190611cb8565b60405180910390f35b61019f600480360381019061019a9190611cd3565b610491565b005b6101bb60048036038101906101b69190611d65565b610551565b005b6101c5610672565b005b6101cf6106fa565b6040516101dc9190611b66565b60405180910390f35b6101ff60048036038101906101fa9190611f1f565b610723565b60405161020c9190611b66565b60405180910390f35b61021d610792565b60405161022a9190611f8a565b60405180910390f35b61024d60048036038101906102489190611fa5565b610798565b60405161025c9392919061200a565b60405180910390f35b61027f600480360381019061027a9190611d65565b610800565b005b61029b60048036038101906102969190611cd3565b6109a6565b6040516102a8919061205c565b60405180910390f35b6102cb60048036038101906102c69190612111565b6109c6565b005b6102e760048036038101906102e291906121a7565b610be9565b6040516102f4919061205c565b60405180910390f35b61031760048036038101906103129190611fa5565b61140f565b604051610324919061205c565b60405180910390f35b61034760048036038101906103429190612247565b611445565b6040516103549190611b66565b60405180910390f35b61037760048036038101906103729190611cd3565b611508565b005b610393600480360381019061038e91906122ae565b611600565b6040516103a09190611cb8565b60405180910390f35b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6103d7611630565b73ffffffffffffffffffffffffffffffffffffffff166103f56106fa565b73ffffffffffffffffffffffffffffffffffffffff161461044b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044290612338565b60405180910390fd5b8060048190555050565b600085858585856040516020016104709594939291906123c1565b60405160208183030381529060405280519060200120905095945050505050565b610499611630565b73ffffffffffffffffffffffffffffffffffffffff166104b76106fa565b73ffffffffffffffffffffffffffffffffffffffff161461050d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050490612338565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610559611630565b73ffffffffffffffffffffffffffffffffffffffff166105776106fa565b73ffffffffffffffffffffffffffffffffffffffff16146105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c490612338565b60405180910390fd5b60005b8282905081101561066d576000600160008585858181106105f4576105f3612420565b5b90506020020160208101906106099190611cd3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106659061247e565b9150506105d0565b505050565b61067a611630565b73ffffffffffffffffffffffffffffffffffffffff166106986106fa565b73ffffffffffffffffffffffffffffffffffffffff16146106ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e590612338565b60405180910390fd5b6106f86000611638565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008061073285610798565b9250925092506001868285856040516000815260200160405260405161075b94939291906124c7565b6020604051602081039080840390855afa15801561077d573d6000803e3d6000fd5b50505060206040510351935050505092915050565b60045481565b600080600060418451146107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d890612558565b60405180910390fd5b6020840151925060408401519150606084015160001a90509193909250565b610808611630565b73ffffffffffffffffffffffffffffffffffffffff166108266106fa565b73ffffffffffffffffffffffffffffffffffffffff161461087c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087390612338565b60405180910390fd5b60005b828290508110156109a15760011515600160008585858181106108a5576108a4612420565b5b90506020020160208101906108ba9190611cd3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561090f5761098e565b600180600085858581811061092757610926612420565b5b905060200201602081019061093c9190611cd3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806109999061247e565b91505061087f565b505050565b60016020528060005260406000206000915054906101000a900460ff1681565b600282826040516109d89291906125a8565b908152602001604051809103902060009054906101000a900460ff1615610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90612633565b60405180910390fd5b6000610ad785600060028110610a4d57610a4c612420565b5b602002016020810190610a609190611cd3565b85600060038110610a7457610a73612420565b5b602002013587600160028110610a8d57610a8c612420565b5b602002016020810190610aa09190611cd3565b87600160038110610ab457610ab3612420565b5b602002013588600260038110610acd57610acc612420565b5b6020020135610455565b90506000610ae482611600565b9050610aee611630565b73ffffffffffffffffffffffffffffffffffffffff16610b528286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610723565b73ffffffffffffffffffffffffffffffffffffffff1614610ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9f9061269f565b60405180910390fd5b600160028585604051610bbc9291906125a8565b908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b6000600115156001600087600260038110610c0757610c06612420565b5b602002016020810190610c1a9190611cd3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90612731565b60405180910390fd5b60028383604051610cb69291906125a8565b908152602001604051809103902060009054906101000a900460ff1615610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d09906127e9565b60405180910390fd5b6000610db586600160038110610d2b57610d2a612420565b5b602002016020810190610d3e9190611cd3565b86600060038110610d5257610d51612420565b5b602002013588600260038110610d6b57610d6a612420565b5b602002016020810190610d7e9190611cd3565b88600160038110610d9257610d91612420565b5b602002013589600260038110610dab57610daa612420565b5b6020020135610455565b90506000610dc282611600565b905086600060038110610dd857610dd7612420565b5b602002016020810190610deb9190611cd3565b73ffffffffffffffffffffffffffffffffffffffff16610e4f8287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610723565b73ffffffffffffffffffffffffffffffffffffffff1614610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c9061287b565b60405180910390fd5b600087600160038110610ebb57610eba612420565b5b602002016020810190610ece9190611cd3565b905087600060038110610ee457610ee3612420565b5b602002016020810190610ef79190611cd3565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16636352211e89600060038110610f3d57610f3c612420565b5b60200201356040518263ffffffff1660e01b8152600401610f5e9190611f8a565b602060405180830381865afa158015610f7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9f91906128b0565b73ffffffffffffffffffffffffffffffffffffffff1614610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec9061294f565b60405180910390fd5b60008860026003811061100b5761100a612420565b5b60200201602081019061101e9190611cd3565b90508760016003811061103457611033612420565b5b60200201358173ffffffffffffffffffffffffffffffffffffffff166370a0823161105d611630565b6040518263ffffffff1660e01b81526004016110799190611b66565b602060405180830381865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190612984565b10156110fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f290612a23565b60405180910390fd5b8760016003811061110f5761110e612420565b5b60200201358173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611138611630565b306040518363ffffffff1660e01b8152600401611156929190612a43565b602060405180830381865afa158015611173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111979190612984565b10156111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf90612b04565b60405180910390fd5b600061121b61271061120d8b6001600381106111f7576111f6612420565b5b60200201356004546116fc90919063ffffffff16565b61171290919063ffffffff16565b9050600061124a828b60016003811061123757611236612420565b5b602002013561172890919063ffffffff16565b90506112a6611257611630565b8c60006003811061126b5761126a612420565b5b60200201602081019061127e9190611cd3565b838673ffffffffffffffffffffffffffffffffffffffff1661173e909392919063ffffffff16565b6000821115611306576113056112ba611630565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848673ffffffffffffffffffffffffffffffffffffffff1661173e909392919063ffffffff16565b5b8373ffffffffffffffffffffffffffffffffffffffff166342842e0e8c60006003811061133657611335612420565b5b6020020160208101906113499190611cd3565b611351611630565b8d60006003811061136557611364612420565b5b60200201356040518463ffffffff1660e01b815260040161138893929190612b24565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050600160028a8a6040516113ce9291906125a8565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506113fd8b8b6117c7565b60019650505050505050949350505050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900460ff1681565b6000806040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250905060008187604051602001611495929190612beb565b604051602081830303815290604052805190602001209050600181878787604051600081526020016040526040516114d094939291906124c7565b6020604051602081039080840390855afa1580156114f2573d6000803e3d6000fd5b5050506020604051035192505050949350505050565b611510611630565b73ffffffffffffffffffffffffffffffffffffffff1661152e6106fa565b73ffffffffffffffffffffffffffffffffffffffff1614611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90612338565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115eb90612c85565b60405180910390fd5b6115fd81611638565b50565b6000816040516020016116139190612cfc565b604051602081830303815290604052805190602001209050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000818361170a9190612d22565b905092915050565b600081836117209190612dab565b905092915050565b600081836117369190612ddc565b905092915050565b6117c1846323b872dd60e01b85858560405160240161175f93929190612b24565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118b8565b50505050565b806000600381106117db576117da612420565b5b60200201357f7ec91832f8e94cceb462065487af39394e7520f22662d527e383864c041380cf8360016003811061181557611814612420565b5b6020020160208101906118289190611cd3565b8360016003811061183c5761183b612420565b5b60200201358560026003811061185557611854612420565b5b6020020160208101906118689190611cd3565b8660006003811061187c5761187b612420565b5b60200201602081019061188f9190611cd3565b611897611630565b6004546040516118ac96959493929190612e10565b60405180910390a25050565b600061191a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661197f9092919063ffffffff16565b905060008151111561197a578080602001905181019061193a9190612e9d565b611979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197090612f3c565b60405180910390fd5b5b505050565b606061198e8484600085611997565b90509392505050565b6060824710156119dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d390612fce565b60405180910390fd5b6119e585611aab565b611a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1b9061303a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611a4d919061305a565b60006040518083038185875af1925050503d8060008114611a8a576040519150601f19603f3d011682016040523d82523d6000602084013e611a8f565b606091505b5091509150611a9f828286611abe565b92505050949350505050565b600080823b905060008111915050919050565b60608315611ace57829050611b1e565b600083511115611ae15782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1591906130b5565b60405180910390fd5b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b5082611b25565b9050919050565b611b6081611b45565b82525050565b6000602082019050611b7b6000830184611b57565b92915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611ba881611b95565b8114611bb357600080fd5b50565b600081359050611bc581611b9f565b92915050565b600060208284031215611be157611be0611b8b565b5b6000611bef84828501611bb6565b91505092915050565b611c0181611b45565b8114611c0c57600080fd5b50565b600081359050611c1e81611bf8565b92915050565b600080600080600060a08688031215611c4057611c3f611b8b565b5b6000611c4e88828901611c0f565b9550506020611c5f88828901611bb6565b9450506040611c7088828901611c0f565b9350506060611c8188828901611bb6565b9250506080611c9288828901611bb6565b9150509295509295909350565b6000819050919050565b611cb281611c9f565b82525050565b6000602082019050611ccd6000830184611ca9565b92915050565b600060208284031215611ce957611ce8611b8b565b5b6000611cf784828501611c0f565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611d2557611d24611d00565b5b8235905067ffffffffffffffff811115611d4257611d41611d05565b5b602083019150836020820283011115611d5e57611d5d611d0a565b5b9250929050565b60008060208385031215611d7c57611d7b611b8b565b5b600083013567ffffffffffffffff811115611d9a57611d99611b90565b5b611da685828601611d0f565b92509250509250929050565b611dbb81611c9f565b8114611dc657600080fd5b50565b600081359050611dd881611db2565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e2c82611de3565b810181811067ffffffffffffffff82111715611e4b57611e4a611df4565b5b80604052505050565b6000611e5e611b81565b9050611e6a8282611e23565b919050565b600067ffffffffffffffff821115611e8a57611e89611df4565b5b611e9382611de3565b9050602081019050919050565b82818337600083830152505050565b6000611ec2611ebd84611e6f565b611e54565b905082815260208101848484011115611ede57611edd611dde565b5b611ee9848285611ea0565b509392505050565b600082601f830112611f0657611f05611d00565b5b8135611f16848260208601611eaf565b91505092915050565b60008060408385031215611f3657611f35611b8b565b5b6000611f4485828601611dc9565b925050602083013567ffffffffffffffff811115611f6557611f64611b90565b5b611f7185828601611ef1565b9150509250929050565b611f8481611b95565b82525050565b6000602082019050611f9f6000830184611f7b565b92915050565b600060208284031215611fbb57611fba611b8b565b5b600082013567ffffffffffffffff811115611fd957611fd8611b90565b5b611fe584828501611ef1565b91505092915050565b600060ff82169050919050565b61200481611fee565b82525050565b600060608201905061201f6000830186611ca9565b61202c6020830185611ca9565b6120396040830184611ffb565b949350505050565b60008115159050919050565b61205681612041565b82525050565b6000602082019050612071600083018461204d565b92915050565b60008190508260206002028201111561209357612092611d0a565b5b92915050565b6000819050826020600302820111156120b5576120b4611d0a565b5b92915050565b60008083601f8401126120d1576120d0611d00565b5b8235905067ffffffffffffffff8111156120ee576120ed611d05565b5b60208301915083600182028301111561210a57612109611d0a565b5b9250929050565b60008060008060c0858703121561212b5761212a611b8b565b5b600061213987828801612077565b945050604061214a87828801612099565b93505060a085013567ffffffffffffffff81111561216b5761216a611b90565b5b612177878288016120bb565b925092505092959194509250565b6000819050826020600302820111156121a1576121a0611d0a565b5b92915050565b60008060008060e085870312156121c1576121c0611b8b565b5b60006121cf87828801612185565b94505060606121e087828801612099565b93505060c085013567ffffffffffffffff81111561220157612200611b90565b5b61220d878288016120bb565b925092505092959194509250565b61222481611fee565b811461222f57600080fd5b50565b6000813590506122418161221b565b92915050565b6000806000806080858703121561226157612260611b8b565b5b600061226f87828801611dc9565b945050602061228087828801612232565b935050604061229187828801611dc9565b92505060606122a287828801611dc9565b91505092959194509250565b6000602082840312156122c4576122c3611b8b565b5b60006122d284828501611dc9565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123226020836122db565b915061232d826122ec565b602082019050919050565b6000602082019050818103600083015261235181612315565b9050919050565b60008160601b9050919050565b600061237082612358565b9050919050565b600061238282612365565b9050919050565b61239a61239582611b45565b612377565b82525050565b6000819050919050565b6123bb6123b682611b95565b6123a0565b82525050565b60006123cd8288612389565b6014820191506123dd82876123aa565b6020820191506123ed8286612389565b6014820191506123fd82856123aa565b60208201915061240d82846123aa565b6020820191508190509695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061248982611b95565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156124bc576124bb61244f565b5b600182019050919050565b60006080820190506124dc6000830187611ca9565b6124e96020830186611ffb565b6124f66040830185611ca9565b6125036060830184611ca9565b95945050505050565b7f696e76616c6964207369676e6174757265206c656e6774680000000000000000600082015250565b60006125426018836122db565b915061254d8261250c565b602082019050919050565b6000602082019050818103600083015261257181612535565b9050919050565b600081905092915050565b600061258f8385612578565b935061259c838584611ea0565b82840190509392505050565b60006125b5828486612583565b91508190509392505050565b7f4d61726b6574706c6163653a2074686973207369676e6174757265206861732060008201527f616464656420746f2069676e6f7265206c69737420616c726561647900000000602082015250565b600061261d603c836122db565b9150612628826125c1565b604082019050919050565b6000602082019050818103600083015261264c81612610565b9050919050565b7f4d61726b6574706c6163653a20696e76616c6964207369676e61747572650000600082015250565b6000612689601e836122db565b915061269482612653565b602082019050919050565b600060208201905081810360008301526126b88161267c565b9050919050565b7f4d61726b6574706c6163653a20696e76616c6964207061796d656e74206d657460008201527f686f640000000000000000000000000000000000000000000000000000000000602082015250565b600061271b6023836122db565b9150612726826126bf565b604082019050919050565b6000602082019050818103600083015261274a8161270e565b9050919050565b7f4d61726b6574706c6163653a207369676e617475726520757365642e20706c6560008201527f6173652073656e6420616e6f74686572207472616e73616374696f6e2077697460208201527f68206e6577207369676e61747572650000000000000000000000000000000000604082015250565b60006127d3604f836122db565b91506127de82612751565b606082019050919050565b60006020820190508181036000830152612802816127c6565b9050919050565b7f4d61726b6574706c6163653a20696e76616c69642073656c6c6572207369676e60008201527f6174757265000000000000000000000000000000000000000000000000000000602082015250565b60006128656025836122db565b915061287082612809565b604082019050919050565b6000602082019050818103600083015261289481612858565b9050919050565b6000815190506128aa81611bf8565b92915050565b6000602082840312156128c6576128c5611b8b565b5b60006128d48482850161289b565b91505092915050565b7f4d61726b6574706c6163653a2073656c6c6572206973206e6f74206f776e657260008201527f206f662074686973206974656d206e6f77000000000000000000000000000000602082015250565b60006129396031836122db565b9150612944826128dd565b604082019050919050565b600060208201905081810360008301526129688161292c565b9050919050565b60008151905061297e81611b9f565b92915050565b60006020828403121561299a57612999611b8b565b5b60006129a88482850161296f565b91505092915050565b7f4d61726b6574706c6163653a20627579657220646f65736e277420686176652060008201527f656e6f75676820746f6b656e20746f206275792074686973206974656d000000602082015250565b6000612a0d603d836122db565b9150612a18826129b1565b604082019050919050565b60006020820190508181036000830152612a3c81612a00565b9050919050565b6000604082019050612a586000830185611b57565b612a656020830184611b57565b9392505050565b7f4d61726b6574706c6163653a20627579657220646f65736e277420617070726f60008201527f7665206d61726b6574706c61636520746f207370656e64207061796d656e742060208201527f616d6f756e740000000000000000000000000000000000000000000000000000604082015250565b6000612aee6046836122db565b9150612af982612a6c565b606082019050919050565b60006020820190508181036000830152612b1d81612ae1565b9050919050565b6000606082019050612b396000830186611b57565b612b466020830185611b57565b612b536040830184611f7b565b949350505050565b600081519050919050565b60005b83811015612b84578082015181840152602081019050612b69565b83811115612b93576000848401525b50505050565b6000612ba482612b5b565b612bae8185612578565b9350612bbe818560208601612b66565b80840191505092915050565b6000819050919050565b612be5612be082611c9f565b612bca565b82525050565b6000612bf78285612b99565b9150612c038284612bd4565b6020820191508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c6f6026836122db565b9150612c7a82612c13565b604082019050919050565b60006020820190508181036000830152612c9e81612c62565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612ce6601c83612ca5565b9150612cf182612cb0565b601c82019050919050565b6000612d0782612cd9565b9150612d138284612bd4565b60208201915081905092915050565b6000612d2d82611b95565b9150612d3883611b95565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d7157612d7061244f565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612db682611b95565b9150612dc183611b95565b925082612dd157612dd0612d7c565b5b828204905092915050565b6000612de782611b95565b9150612df283611b95565b925082821015612e0557612e0461244f565b5b828203905092915050565b600060c082019050612e256000830189611b57565b612e326020830188611f7b565b612e3f6040830187611b57565b612e4c6060830186611b57565b612e596080830185611b57565b612e6660a0830184611f7b565b979650505050505050565b612e7a81612041565b8114612e8557600080fd5b50565b600081519050612e9781612e71565b92915050565b600060208284031215612eb357612eb2611b8b565b5b6000612ec184828501612e88565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612f26602a836122db565b9150612f3182612eca565b604082019050919050565b60006020820190508181036000830152612f5581612f19565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612fb86026836122db565b9150612fc382612f5c565b604082019050919050565b60006020820190508181036000830152612fe781612fab565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613024601d836122db565b915061302f82612fee565b602082019050919050565b6000602082019050818103600083015261305381613017565b9050919050565b60006130668284612b99565b915081905092915050565b600081519050919050565b600061308782613071565b61309181856122db565b93506130a1818560208601612b66565b6130aa81611de3565b840191505092915050565b600060208201905081810360008301526130cf818461307c565b90509291505056fea264697066735822122024025642bd9110aeb3bc3bdeef85fd667b90cc6e01be4c672fafc76a72629bd564736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063a7bb5803116100a2578063e8e8e87211610071578063e8e8e872146102cd578063e949580e146102fd578063eedaa5001461032d578063f2fde38b1461035d578063fa5408011461037957610116565b8063a7bb580314610233578063b88dccac14610265578063c3b88b4214610281578063d79f639e146102b157610116565b806364e60ef4116100e957806364e60ef4146101a1578063715018a6146101bd5780638da5cb5b146101c757806397aba7f9146101e55780639ed3edf01461021557610116565b8063083d80f91461011b578063096a8ab7146101395780631e5192e514610155578063580bb9a514610185575b600080fd5b6101236103a9565b6040516101309190611b66565b60405180910390f35b610153600480360381019061014e9190611bcb565b6103cf565b005b61016f600480360381019061016a9190611c24565b610455565b60405161017c9190611cb8565b60405180910390f35b61019f600480360381019061019a9190611cd3565b610491565b005b6101bb60048036038101906101b69190611d65565b610551565b005b6101c5610672565b005b6101cf6106fa565b6040516101dc9190611b66565b60405180910390f35b6101ff60048036038101906101fa9190611f1f565b610723565b60405161020c9190611b66565b60405180910390f35b61021d610792565b60405161022a9190611f8a565b60405180910390f35b61024d60048036038101906102489190611fa5565b610798565b60405161025c9392919061200a565b60405180910390f35b61027f600480360381019061027a9190611d65565b610800565b005b61029b60048036038101906102969190611cd3565b6109a6565b6040516102a8919061205c565b60405180910390f35b6102cb60048036038101906102c69190612111565b6109c6565b005b6102e760048036038101906102e291906121a7565b610be9565b6040516102f4919061205c565b60405180910390f35b61031760048036038101906103129190611fa5565b61140f565b604051610324919061205c565b60405180910390f35b61034760048036038101906103429190612247565b611445565b6040516103549190611b66565b60405180910390f35b61037760048036038101906103729190611cd3565b611508565b005b610393600480360381019061038e91906122ae565b611600565b6040516103a09190611cb8565b60405180910390f35b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6103d7611630565b73ffffffffffffffffffffffffffffffffffffffff166103f56106fa565b73ffffffffffffffffffffffffffffffffffffffff161461044b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044290612338565b60405180910390fd5b8060048190555050565b600085858585856040516020016104709594939291906123c1565b60405160208183030381529060405280519060200120905095945050505050565b610499611630565b73ffffffffffffffffffffffffffffffffffffffff166104b76106fa565b73ffffffffffffffffffffffffffffffffffffffff161461050d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050490612338565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610559611630565b73ffffffffffffffffffffffffffffffffffffffff166105776106fa565b73ffffffffffffffffffffffffffffffffffffffff16146105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c490612338565b60405180910390fd5b60005b8282905081101561066d576000600160008585858181106105f4576105f3612420565b5b90506020020160208101906106099190611cd3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106659061247e565b9150506105d0565b505050565b61067a611630565b73ffffffffffffffffffffffffffffffffffffffff166106986106fa565b73ffffffffffffffffffffffffffffffffffffffff16146106ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e590612338565b60405180910390fd5b6106f86000611638565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008061073285610798565b9250925092506001868285856040516000815260200160405260405161075b94939291906124c7565b6020604051602081039080840390855afa15801561077d573d6000803e3d6000fd5b50505060206040510351935050505092915050565b60045481565b600080600060418451146107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d890612558565b60405180910390fd5b6020840151925060408401519150606084015160001a90509193909250565b610808611630565b73ffffffffffffffffffffffffffffffffffffffff166108266106fa565b73ffffffffffffffffffffffffffffffffffffffff161461087c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087390612338565b60405180910390fd5b60005b828290508110156109a15760011515600160008585858181106108a5576108a4612420565b5b90506020020160208101906108ba9190611cd3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561090f5761098e565b600180600085858581811061092757610926612420565b5b905060200201602081019061093c9190611cd3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806109999061247e565b91505061087f565b505050565b60016020528060005260406000206000915054906101000a900460ff1681565b600282826040516109d89291906125a8565b908152602001604051809103902060009054906101000a900460ff1615610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90612633565b60405180910390fd5b6000610ad785600060028110610a4d57610a4c612420565b5b602002016020810190610a609190611cd3565b85600060038110610a7457610a73612420565b5b602002013587600160028110610a8d57610a8c612420565b5b602002016020810190610aa09190611cd3565b87600160038110610ab457610ab3612420565b5b602002013588600260038110610acd57610acc612420565b5b6020020135610455565b90506000610ae482611600565b9050610aee611630565b73ffffffffffffffffffffffffffffffffffffffff16610b528286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610723565b73ffffffffffffffffffffffffffffffffffffffff1614610ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9f9061269f565b60405180910390fd5b600160028585604051610bbc9291906125a8565b908152602001604051809103902060006101000a81548160ff021916908315150217905550505050505050565b6000600115156001600087600260038110610c0757610c06612420565b5b602002016020810190610c1a9190611cd3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90612731565b60405180910390fd5b60028383604051610cb69291906125a8565b908152602001604051809103902060009054906101000a900460ff1615610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d09906127e9565b60405180910390fd5b6000610db586600160038110610d2b57610d2a612420565b5b602002016020810190610d3e9190611cd3565b86600060038110610d5257610d51612420565b5b602002013588600260038110610d6b57610d6a612420565b5b602002016020810190610d7e9190611cd3565b88600160038110610d9257610d91612420565b5b602002013589600260038110610dab57610daa612420565b5b6020020135610455565b90506000610dc282611600565b905086600060038110610dd857610dd7612420565b5b602002016020810190610deb9190611cd3565b73ffffffffffffffffffffffffffffffffffffffff16610e4f8287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610723565b73ffffffffffffffffffffffffffffffffffffffff1614610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c9061287b565b60405180910390fd5b600087600160038110610ebb57610eba612420565b5b602002016020810190610ece9190611cd3565b905087600060038110610ee457610ee3612420565b5b602002016020810190610ef79190611cd3565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16636352211e89600060038110610f3d57610f3c612420565b5b60200201356040518263ffffffff1660e01b8152600401610f5e9190611f8a565b602060405180830381865afa158015610f7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9f91906128b0565b73ffffffffffffffffffffffffffffffffffffffff1614610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec9061294f565b60405180910390fd5b60008860026003811061100b5761100a612420565b5b60200201602081019061101e9190611cd3565b90508760016003811061103457611033612420565b5b60200201358173ffffffffffffffffffffffffffffffffffffffff166370a0823161105d611630565b6040518263ffffffff1660e01b81526004016110799190611b66565b602060405180830381865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190612984565b10156110fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f290612a23565b60405180910390fd5b8760016003811061110f5761110e612420565b5b60200201358173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611138611630565b306040518363ffffffff1660e01b8152600401611156929190612a43565b602060405180830381865afa158015611173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111979190612984565b10156111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf90612b04565b60405180910390fd5b600061121b61271061120d8b6001600381106111f7576111f6612420565b5b60200201356004546116fc90919063ffffffff16565b61171290919063ffffffff16565b9050600061124a828b60016003811061123757611236612420565b5b602002013561172890919063ffffffff16565b90506112a6611257611630565b8c60006003811061126b5761126a612420565b5b60200201602081019061127e9190611cd3565b838673ffffffffffffffffffffffffffffffffffffffff1661173e909392919063ffffffff16565b6000821115611306576113056112ba611630565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848673ffffffffffffffffffffffffffffffffffffffff1661173e909392919063ffffffff16565b5b8373ffffffffffffffffffffffffffffffffffffffff166342842e0e8c60006003811061133657611335612420565b5b6020020160208101906113499190611cd3565b611351611630565b8d60006003811061136557611364612420565b5b60200201356040518463ffffffff1660e01b815260040161138893929190612b24565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050600160028a8a6040516113ce9291906125a8565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506113fd8b8b6117c7565b60019650505050505050949350505050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900460ff1681565b6000806040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250905060008187604051602001611495929190612beb565b604051602081830303815290604052805190602001209050600181878787604051600081526020016040526040516114d094939291906124c7565b6020604051602081039080840390855afa1580156114f2573d6000803e3d6000fd5b5050506020604051035192505050949350505050565b611510611630565b73ffffffffffffffffffffffffffffffffffffffff1661152e6106fa565b73ffffffffffffffffffffffffffffffffffffffff1614611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90612338565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115eb90612c85565b60405180910390fd5b6115fd81611638565b50565b6000816040516020016116139190612cfc565b604051602081830303815290604052805190602001209050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000818361170a9190612d22565b905092915050565b600081836117209190612dab565b905092915050565b600081836117369190612ddc565b905092915050565b6117c1846323b872dd60e01b85858560405160240161175f93929190612b24565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118b8565b50505050565b806000600381106117db576117da612420565b5b60200201357f7ec91832f8e94cceb462065487af39394e7520f22662d527e383864c041380cf8360016003811061181557611814612420565b5b6020020160208101906118289190611cd3565b8360016003811061183c5761183b612420565b5b60200201358560026003811061185557611854612420565b5b6020020160208101906118689190611cd3565b8660006003811061187c5761187b612420565b5b60200201602081019061188f9190611cd3565b611897611630565b6004546040516118ac96959493929190612e10565b60405180910390a25050565b600061191a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661197f9092919063ffffffff16565b905060008151111561197a578080602001905181019061193a9190612e9d565b611979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197090612f3c565b60405180910390fd5b5b505050565b606061198e8484600085611997565b90509392505050565b6060824710156119dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d390612fce565b60405180910390fd5b6119e585611aab565b611a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1b9061303a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611a4d919061305a565b60006040518083038185875af1925050503d8060008114611a8a576040519150601f19603f3d011682016040523d82523d6000602084013e611a8f565b606091505b5091509150611a9f828286611abe565b92505050949350505050565b600080823b905060008111915050919050565b60608315611ace57829050611b1e565b600083511115611ae15782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1591906130b5565b60405180910390fd5b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b5082611b25565b9050919050565b611b6081611b45565b82525050565b6000602082019050611b7b6000830184611b57565b92915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611ba881611b95565b8114611bb357600080fd5b50565b600081359050611bc581611b9f565b92915050565b600060208284031215611be157611be0611b8b565b5b6000611bef84828501611bb6565b91505092915050565b611c0181611b45565b8114611c0c57600080fd5b50565b600081359050611c1e81611bf8565b92915050565b600080600080600060a08688031215611c4057611c3f611b8b565b5b6000611c4e88828901611c0f565b9550506020611c5f88828901611bb6565b9450506040611c7088828901611c0f565b9350506060611c8188828901611bb6565b9250506080611c9288828901611bb6565b9150509295509295909350565b6000819050919050565b611cb281611c9f565b82525050565b6000602082019050611ccd6000830184611ca9565b92915050565b600060208284031215611ce957611ce8611b8b565b5b6000611cf784828501611c0f565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611d2557611d24611d00565b5b8235905067ffffffffffffffff811115611d4257611d41611d05565b5b602083019150836020820283011115611d5e57611d5d611d0a565b5b9250929050565b60008060208385031215611d7c57611d7b611b8b565b5b600083013567ffffffffffffffff811115611d9a57611d99611b90565b5b611da685828601611d0f565b92509250509250929050565b611dbb81611c9f565b8114611dc657600080fd5b50565b600081359050611dd881611db2565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e2c82611de3565b810181811067ffffffffffffffff82111715611e4b57611e4a611df4565b5b80604052505050565b6000611e5e611b81565b9050611e6a8282611e23565b919050565b600067ffffffffffffffff821115611e8a57611e89611df4565b5b611e9382611de3565b9050602081019050919050565b82818337600083830152505050565b6000611ec2611ebd84611e6f565b611e54565b905082815260208101848484011115611ede57611edd611dde565b5b611ee9848285611ea0565b509392505050565b600082601f830112611f0657611f05611d00565b5b8135611f16848260208601611eaf565b91505092915050565b60008060408385031215611f3657611f35611b8b565b5b6000611f4485828601611dc9565b925050602083013567ffffffffffffffff811115611f6557611f64611b90565b5b611f7185828601611ef1565b9150509250929050565b611f8481611b95565b82525050565b6000602082019050611f9f6000830184611f7b565b92915050565b600060208284031215611fbb57611fba611b8b565b5b600082013567ffffffffffffffff811115611fd957611fd8611b90565b5b611fe584828501611ef1565b91505092915050565b600060ff82169050919050565b61200481611fee565b82525050565b600060608201905061201f6000830186611ca9565b61202c6020830185611ca9565b6120396040830184611ffb565b949350505050565b60008115159050919050565b61205681612041565b82525050565b6000602082019050612071600083018461204d565b92915050565b60008190508260206002028201111561209357612092611d0a565b5b92915050565b6000819050826020600302820111156120b5576120b4611d0a565b5b92915050565b60008083601f8401126120d1576120d0611d00565b5b8235905067ffffffffffffffff8111156120ee576120ed611d05565b5b60208301915083600182028301111561210a57612109611d0a565b5b9250929050565b60008060008060c0858703121561212b5761212a611b8b565b5b600061213987828801612077565b945050604061214a87828801612099565b93505060a085013567ffffffffffffffff81111561216b5761216a611b90565b5b612177878288016120bb565b925092505092959194509250565b6000819050826020600302820111156121a1576121a0611d0a565b5b92915050565b60008060008060e085870312156121c1576121c0611b8b565b5b60006121cf87828801612185565b94505060606121e087828801612099565b93505060c085013567ffffffffffffffff81111561220157612200611b90565b5b61220d878288016120bb565b925092505092959194509250565b61222481611fee565b811461222f57600080fd5b50565b6000813590506122418161221b565b92915050565b6000806000806080858703121561226157612260611b8b565b5b600061226f87828801611dc9565b945050602061228087828801612232565b935050604061229187828801611dc9565b92505060606122a287828801611dc9565b91505092959194509250565b6000602082840312156122c4576122c3611b8b565b5b60006122d284828501611dc9565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123226020836122db565b915061232d826122ec565b602082019050919050565b6000602082019050818103600083015261235181612315565b9050919050565b60008160601b9050919050565b600061237082612358565b9050919050565b600061238282612365565b9050919050565b61239a61239582611b45565b612377565b82525050565b6000819050919050565b6123bb6123b682611b95565b6123a0565b82525050565b60006123cd8288612389565b6014820191506123dd82876123aa565b6020820191506123ed8286612389565b6014820191506123fd82856123aa565b60208201915061240d82846123aa565b6020820191508190509695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061248982611b95565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156124bc576124bb61244f565b5b600182019050919050565b60006080820190506124dc6000830187611ca9565b6124e96020830186611ffb565b6124f66040830185611ca9565b6125036060830184611ca9565b95945050505050565b7f696e76616c6964207369676e6174757265206c656e6774680000000000000000600082015250565b60006125426018836122db565b915061254d8261250c565b602082019050919050565b6000602082019050818103600083015261257181612535565b9050919050565b600081905092915050565b600061258f8385612578565b935061259c838584611ea0565b82840190509392505050565b60006125b5828486612583565b91508190509392505050565b7f4d61726b6574706c6163653a2074686973207369676e6174757265206861732060008201527f616464656420746f2069676e6f7265206c69737420616c726561647900000000602082015250565b600061261d603c836122db565b9150612628826125c1565b604082019050919050565b6000602082019050818103600083015261264c81612610565b9050919050565b7f4d61726b6574706c6163653a20696e76616c6964207369676e61747572650000600082015250565b6000612689601e836122db565b915061269482612653565b602082019050919050565b600060208201905081810360008301526126b88161267c565b9050919050565b7f4d61726b6574706c6163653a20696e76616c6964207061796d656e74206d657460008201527f686f640000000000000000000000000000000000000000000000000000000000602082015250565b600061271b6023836122db565b9150612726826126bf565b604082019050919050565b6000602082019050818103600083015261274a8161270e565b9050919050565b7f4d61726b6574706c6163653a207369676e617475726520757365642e20706c6560008201527f6173652073656e6420616e6f74686572207472616e73616374696f6e2077697460208201527f68206e6577207369676e61747572650000000000000000000000000000000000604082015250565b60006127d3604f836122db565b91506127de82612751565b606082019050919050565b60006020820190508181036000830152612802816127c6565b9050919050565b7f4d61726b6574706c6163653a20696e76616c69642073656c6c6572207369676e60008201527f6174757265000000000000000000000000000000000000000000000000000000602082015250565b60006128656025836122db565b915061287082612809565b604082019050919050565b6000602082019050818103600083015261289481612858565b9050919050565b6000815190506128aa81611bf8565b92915050565b6000602082840312156128c6576128c5611b8b565b5b60006128d48482850161289b565b91505092915050565b7f4d61726b6574706c6163653a2073656c6c6572206973206e6f74206f776e657260008201527f206f662074686973206974656d206e6f77000000000000000000000000000000602082015250565b60006129396031836122db565b9150612944826128dd565b604082019050919050565b600060208201905081810360008301526129688161292c565b9050919050565b60008151905061297e81611b9f565b92915050565b60006020828403121561299a57612999611b8b565b5b60006129a88482850161296f565b91505092915050565b7f4d61726b6574706c6163653a20627579657220646f65736e277420686176652060008201527f656e6f75676820746f6b656e20746f206275792074686973206974656d000000602082015250565b6000612a0d603d836122db565b9150612a18826129b1565b604082019050919050565b60006020820190508181036000830152612a3c81612a00565b9050919050565b6000604082019050612a586000830185611b57565b612a656020830184611b57565b9392505050565b7f4d61726b6574706c6163653a20627579657220646f65736e277420617070726f60008201527f7665206d61726b6574706c61636520746f207370656e64207061796d656e742060208201527f616d6f756e740000000000000000000000000000000000000000000000000000604082015250565b6000612aee6046836122db565b9150612af982612a6c565b606082019050919050565b60006020820190508181036000830152612b1d81612ae1565b9050919050565b6000606082019050612b396000830186611b57565b612b466020830185611b57565b612b536040830184611f7b565b949350505050565b600081519050919050565b60005b83811015612b84578082015181840152602081019050612b69565b83811115612b93576000848401525b50505050565b6000612ba482612b5b565b612bae8185612578565b9350612bbe818560208601612b66565b80840191505092915050565b6000819050919050565b612be5612be082611c9f565b612bca565b82525050565b6000612bf78285612b99565b9150612c038284612bd4565b6020820191508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c6f6026836122db565b9150612c7a82612c13565b604082019050919050565b60006020820190508181036000830152612c9e81612c62565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612ce6601c83612ca5565b9150612cf182612cb0565b601c82019050919050565b6000612d0782612cd9565b9150612d138284612bd4565b60208201915081905092915050565b6000612d2d82611b95565b9150612d3883611b95565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d7157612d7061244f565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612db682611b95565b9150612dc183611b95565b925082612dd157612dd0612d7c565b5b828204905092915050565b6000612de782611b95565b9150612df283611b95565b925082821015612e0557612e0461244f565b5b828203905092915050565b600060c082019050612e256000830189611b57565b612e326020830188611f7b565b612e3f6040830187611b57565b612e4c6060830186611b57565b612e596080830185611b57565b612e6660a0830184611f7b565b979650505050505050565b612e7a81612041565b8114612e8557600080fd5b50565b600081519050612e9781612e71565b92915050565b600060208284031215612eb357612eb2611b8b565b5b6000612ec184828501612e88565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612f26602a836122db565b9150612f3182612eca565b604082019050919050565b60006020820190508181036000830152612f5581612f19565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612fb86026836122db565b9150612fc382612f5c565b604082019050919050565b60006020820190508181036000830152612fe781612fab565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613024601d836122db565b915061302f82612fee565b602082019050919050565b6000602082019050818103600083015261305381613017565b9050919050565b60006130668284612b99565b915081905092915050565b600081519050919050565b600061308782613071565b61309181856122db565b93506130a1818560208601612b66565b6130aa81611de3565b840191505092915050565b600060208201905081810360008301526130cf818461307c565b90509291505056fea264697066735822122024025642bd9110aeb3bc3bdeef85fd667b90cc6e01be4c672fafc76a72629bd564736f6c634300080a0033", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"MatchTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"checkSigner\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeToAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nftAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_paymentErc20\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_saltNonce\",\"type\":\"uint256\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[2]\",\"name\":\"addresses\",\"type\":\"address[2]\"},{\"internalType\":\"uint256[3]\",\"name\":\"values\",\"type\":\"uint256[3]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"ignoreSignature\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[3]\",\"name\":\"addresses\",\"type\":\"address[3]\"},{\"internalType\":\"uint256[3]\",\"name\":\"values\",\"type\":\"uint256[3]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"matchTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"paymentTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_removedPaymentTokens\",\"type\":\"address[]\"}],\"name\":\"removePaymentTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToAddress\",\"type\":\"address\"}],\"name\":\"setFeeToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_paymentTokens\",\"type\":\"address[]\"}],\"name\":\"setPaymentTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_transactionFee\",\"type\":\"uint256\"}],\"name\":\"setTransactionFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transactionFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"usedSignatures\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"matchTransaction(address[3],uint256[3],bytes)\":{\"details\":\"Function matched transaction with user signatures\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/MarketPlace.sol\":\"Marketplace\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x61437cb513a887a1bbad006e7b1c8b414478427d33de47c5600af3c748f108da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c3d0973630ed74f2b5ce3944677a885dc70ec32fc83b35f55045a10224da32b\",\"dweb:/ipfs/QmbefZ5RoEZKNHXCALfh683PnaNYzKPcKMFjyY1DVAgq8A\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xc3d946432c0ddbb1f846a0d3985be71299df331b91d06732152117f62f0be2b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4632c341a06ba5c079b51ca5a915efab4e6ab57735b37839b3e8365ff806a43e\",\"dweb:/ipfs/QmTHT3xHYed2wajEoA5qu7ii2BxLpPhQZHwAhtLK5Z7ANK\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xe9e291de7ffe06e66503c6700b1bb84ff6e0989cbb974653628d8994e7c97f03\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c1e25b64dd48a67832ea99b2f5b3cb18ed8ada44e0391ed896d7a293200df3b\",\"dweb:/ipfs/Qmd4nwBHmB7An2MmebcagkTx2m5mRGZPR32u1xCHqEKerh\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfaad496c1c944b6259b7dc70b4865eb1775d6402bc0c81b38a0b24d9f525ae37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f60ddc4639589b1d7a87cd647561be4c71ddf9a9dcf55f38db75e24ef1f6c5b\",\"dweb:/ipfs/QmTocvyQx3DPrzsFePtrhDGM6eYxUh3v8iBN3D59yoeuBt\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2\",\"dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y\"]},\"project:/contracts/HasSignature.sol\":{\"keccak256\":\"0x6b7961618de8b0d0c8a80c31a5a4916b60c57e895c5a06d7d33e872119590734\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94861085229ada1f347598c4d14188a19bcf0d83cf1fd5c84f4337b539ba0222\",\"dweb:/ipfs/Qmf3og8c4UP8ENCsQutWpQDE3zYppzHCWQbrcMuhQzwJWr\"]},\"project:/contracts/MarketPlace.sol\":{\"keccak256\":\"0x4748c08f9cfe24197bb17894ab96c1a085645e76af6b3d7cb71a9c206b47dd16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f6610d6d9dba22c2a126cc99240e540b754975b876a585c3bec946922f86fcc\",\"dweb:/ipfs/QmW1XR3XiphxdUtV6hMZoVpKXGvU5LCGZzpUvYAMuk6pyC\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5062000032620000266200003860201b60201c565b6200004060201b60201c565b62000104565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6132f380620001146000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063d79f639e11610066578063d79f639e1461024a578063e8e8e87214610266578063e949580e14610296578063f2fde38b146102c6576100f5565b80638da5cb5b146101c25780639ed3edf0146101e0578063b88dccac146101fe578063c3b88b421461021a576100f5565b8063580bb9a5116100d3578063580bb9a51461016457806364e60ef4146101805780636d0431941461019c578063715018a6146101b8576100f5565b8063083d80f9146100fa578063096a8ab7146101185780631e5192e514610134575b600080fd5b6101026102e2565b60405161010f9190611cbf565b60405180910390f35b610132600480360381019061012d9190611d24565b610308565b005b61014e60048036038101906101499190611d7d565b61038e565b60405161015b9190611e11565b60405180910390f35b61017e60048036038101906101799190611e2c565b6103ca565b005b61019a60048036038101906101959190611ebe565b61048a565b005b6101b660048036038101906101b19190612078565b6105ab565b005b6101c061067f565b005b6101ca610707565b6040516101d79190611cbf565b60405180910390f35b6101e8610730565b6040516101f591906120f6565b60405180910390f35b61021860048036038101906102139190611ebe565b610736565b005b610234600480360381019061022f9190611e2c565b6108dc565b604051610241919061212c565b60405180910390f35b610264600480360381019061025f91906121e1565b6108fc565b005b610280600480360381019061027b9190612277565b610aa5565b60405161028d919061212c565b60405180910390f35b6102b060048036038101906102ab91906122eb565b611251565b6040516102bd919061212c565b60405180910390f35b6102e060048036038101906102db9190611e2c565b611287565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61031061137f565b73ffffffffffffffffffffffffffffffffffffffff1661032e610707565b73ffffffffffffffffffffffffffffffffffffffff1614610384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037b90612391565b60405180910390fd5b8060048190555050565b600085858585856040516020016103a995949392919061241a565b60405160208183030381529060405280519060200120905095945050505050565b6103d261137f565b73ffffffffffffffffffffffffffffffffffffffff166103f0610707565b73ffffffffffffffffffffffffffffffffffffffff1614610446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043d90612391565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61049261137f565b73ffffffffffffffffffffffffffffffffffffffff166104b0610707565b73ffffffffffffffffffffffffffffffffffffffff1614610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90612391565b60405180910390fd5b60005b828290508110156105a65760006001600085858581811061052d5761052c612479565b5b90506020020160208101906105429190611e2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061059e906124d7565b915050610509565b505050565b60418151146105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e69061256c565b60405180910390fd5b60006105fa83611387565b9050600061060882846113b7565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066f906125d8565b60405180910390fd5b5050505050565b61068761137f565b73ffffffffffffffffffffffffffffffffffffffff166106a5610707565b73ffffffffffffffffffffffffffffffffffffffff16146106fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f290612391565b60405180910390fd5b61070560006113de565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60045481565b61073e61137f565b73ffffffffffffffffffffffffffffffffffffffff1661075c610707565b73ffffffffffffffffffffffffffffffffffffffff16146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a990612391565b60405180910390fd5b60005b828290508110156108d75760011515600160008585858181106107db576107da612479565b5b90506020020160208101906107f09190611e2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610845576108c4565b600180600085858581811061085d5761085c612479565b5b90506020020160208101906108729190611e2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806108cf906124d7565b9150506107b5565b505050565b60016020528060005260406000206000915054906101000a900460ff1681565b6002828260405161090e929190612628565b908152602001604051809103902060009054906101000a900460ff161561096a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610961906126b3565b60405180910390fd5b6000610a0d8560006002811061098357610982612479565b5b6020020160208101906109969190611e2c565b856000600381106109aa576109a9612479565b5b6020020135876001600281106109c3576109c2612479565b5b6020020160208101906109d69190611e2c565b876001600381106109ea576109e9612479565b5b602002013588600260038110610a0357610a02612479565b5b602002013561038e565b9050610a65610a1a61137f565b8285858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506105ab565b600160028484604051610a79929190612628565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600115156001600087600260038110610ac357610ac2612479565b5b602002016020810190610ad69190611e2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790612745565b60405180910390fd5b60028383604051610b72929190612628565b908152602001604051809103902060009054906101000a900460ff1615610bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc5906127fd565b60405180910390fd5b6000610c7186600160038110610be757610be6612479565b5b602002016020810190610bfa9190611e2c565b86600060038110610c0e57610c0d612479565b5b602002013588600260038110610c2757610c26612479565b5b602002016020810190610c3a9190611e2c565b88600160038110610c4e57610c4d612479565b5b602002013589600260038110610c6757610c66612479565b5b602002013561038e565b9050610ce886600060038110610c8a57610c89612479565b5b602002016020810190610c9d9190611e2c565b8286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506105ab565b600086600160038110610cfe57610cfd612479565b5b602002016020810190610d119190611e2c565b905086600060038110610d2757610d26612479565b5b602002016020810190610d3a9190611e2c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16636352211e88600060038110610d8057610d7f612479565b5b60200201356040518263ffffffff1660e01b8152600401610da191906120f6565b602060405180830381865afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de29190612832565b73ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2f906128d1565b60405180910390fd5b600087600260038110610e4e57610e4d612479565b5b602002016020810190610e619190611e2c565b905086600160038110610e7757610e76612479565b5b60200201358173ffffffffffffffffffffffffffffffffffffffff166370a08231610ea061137f565b6040518263ffffffff1660e01b8152600401610ebc9190611cbf565b602060405180830381865afa158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efd9190612906565b1015610f3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f35906129a5565b60405180910390fd5b86600160038110610f5257610f51612479565b5b60200201358173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e610f7b61137f565b306040518363ffffffff1660e01b8152600401610f999291906129c5565b602060405180830381865afa158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190612906565b101561101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101290612a86565b60405180910390fd5b600061105e6127106110508a60016003811061103a57611039612479565b5b60200201356004546114a290919063ffffffff16565b6114b890919063ffffffff16565b9050600061108d828a60016003811061107a57611079612479565b5b60200201356114ce90919063ffffffff16565b90506110e961109a61137f565b8b6000600381106110ae576110ad612479565b5b6020020160208101906110c19190611e2c565b838673ffffffffffffffffffffffffffffffffffffffff166114e4909392919063ffffffff16565b6000821115611149576111486110fd61137f565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848673ffffffffffffffffffffffffffffffffffffffff166114e4909392919063ffffffff16565b5b8373ffffffffffffffffffffffffffffffffffffffff166342842e0e8b60006003811061117957611178612479565b5b60200201602081019061118c9190611e2c565b61119461137f565b8c6000600381106111a8576111a7612479565b5b60200201356040518463ffffffff1660e01b81526004016111cb93929190612aa6565b600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b50505050600160028989604051611211929190612628565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506112408a8a61156d565b600195505050505050949350505050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900460ff1681565b61128f61137f565b73ffffffffffffffffffffffffffffffffffffffff166112ad610707565b73ffffffffffffffffffffffffffffffffffffffff1614611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90612391565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90612b4f565b60405180910390fd5b61137c816113de565b50565b600033905090565b60008160405160200161139a9190612be7565b604051602081830303815290604052805190602001209050919050565b60008060006113c6858561165e565b915091506113d3816116e1565b819250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836114b09190612c0d565b905092915050565b600081836114c69190612c96565b905092915050565b600081836114dc9190612cc7565b905092915050565b611567846323b872dd60e01b85858560405160240161150593929190612aa6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118b6565b50505050565b8060006003811061158157611580612479565b5b60200201357f7ec91832f8e94cceb462065487af39394e7520f22662d527e383864c041380cf836001600381106115bb576115ba612479565b5b6020020160208101906115ce9190611e2c565b836001600381106115e2576115e1612479565b5b6020020135856002600381106115fb576115fa612479565b5b60200201602081019061160e9190611e2c565b8660006003811061162257611621612479565b5b6020020160208101906116359190611e2c565b61163d61137f565b60045460405161165296959493929190612cfb565b60405180910390a25050565b6000806041835114156116a05760008060006020860151925060408601519150606086015160001a90506116948782858561197d565b945094505050506116da565b6040835114156116d15760008060208501519150604085015190506116c6868383611a8a565b9350935050506116da565b60006002915091505b9250929050565b600060048111156116f5576116f4612d5c565b5b81600481111561170857611707612d5c565b5b1415611713576118b3565b6001600481111561172757611726612d5c565b5b81600481111561173a57611739612d5c565b5b141561177b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177290612dd7565b60405180910390fd5b6002600481111561178f5761178e612d5c565b5b8160048111156117a2576117a1612d5c565b5b14156117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90612e43565b60405180910390fd5b600360048111156117f7576117f6612d5c565b5b81600481111561180a57611809612d5c565b5b141561184b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184290612ed5565b60405180910390fd5b60048081111561185e5761185d612d5c565b5b81600481111561187157611870612d5c565b5b14156118b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a990612f67565b60405180910390fd5b5b50565b6000611918826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611ad89092919063ffffffff16565b905060008151111561197857808060200190518101906119389190612fb3565b611977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196e90613052565b60405180910390fd5b5b505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156119b8576000600391509150611a81565b601b8560ff16141580156119d05750601c8560ff1614155b156119e2576000600491509150611a81565b600060018787878760405160008152602001604052604051611a07949392919061308e565b6020604051602081039080840390855afa158015611a29573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a7857600060019250925050611a81565b80600092509250505b94509492505050565b6000806000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c019050611aca8782888561197d565b935093505050935093915050565b6060611ae78484600085611af0565b90509392505050565b606082471015611b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2c90613145565b60405180910390fd5b611b3e85611c04565b611b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b74906131b1565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611ba69190613240565b60006040518083038185875af1925050503d8060008114611be3576040519150601f19603f3d011682016040523d82523d6000602084013e611be8565b606091505b5091509150611bf8828286611c17565b92505050949350505050565b600080823b905060008111915050919050565b60608315611c2757829050611c77565b600083511115611c3a5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6e919061329b565b60405180910390fd5b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ca982611c7e565b9050919050565b611cb981611c9e565b82525050565b6000602082019050611cd46000830184611cb0565b92915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611d0181611cee565b8114611d0c57600080fd5b50565b600081359050611d1e81611cf8565b92915050565b600060208284031215611d3a57611d39611ce4565b5b6000611d4884828501611d0f565b91505092915050565b611d5a81611c9e565b8114611d6557600080fd5b50565b600081359050611d7781611d51565b92915050565b600080600080600060a08688031215611d9957611d98611ce4565b5b6000611da788828901611d68565b9550506020611db888828901611d0f565b9450506040611dc988828901611d68565b9350506060611dda88828901611d0f565b9250506080611deb88828901611d0f565b9150509295509295909350565b6000819050919050565b611e0b81611df8565b82525050565b6000602082019050611e266000830184611e02565b92915050565b600060208284031215611e4257611e41611ce4565b5b6000611e5084828501611d68565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e7e57611e7d611e59565b5b8235905067ffffffffffffffff811115611e9b57611e9a611e5e565b5b602083019150836020820283011115611eb757611eb6611e63565b5b9250929050565b60008060208385031215611ed557611ed4611ce4565b5b600083013567ffffffffffffffff811115611ef357611ef2611ce9565b5b611eff85828601611e68565b92509250509250929050565b611f1481611df8565b8114611f1f57600080fd5b50565b600081359050611f3181611f0b565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611f8582611f3c565b810181811067ffffffffffffffff82111715611fa457611fa3611f4d565b5b80604052505050565b6000611fb7611cda565b9050611fc38282611f7c565b919050565b600067ffffffffffffffff821115611fe357611fe2611f4d565b5b611fec82611f3c565b9050602081019050919050565b82818337600083830152505050565b600061201b61201684611fc8565b611fad565b90508281526020810184848401111561203757612036611f37565b5b612042848285611ff9565b509392505050565b600082601f83011261205f5761205e611e59565b5b813561206f848260208601612008565b91505092915050565b60008060006060848603121561209157612090611ce4565b5b600061209f86828701611d68565b93505060206120b086828701611f22565b925050604084013567ffffffffffffffff8111156120d1576120d0611ce9565b5b6120dd8682870161204a565b9150509250925092565b6120f081611cee565b82525050565b600060208201905061210b60008301846120e7565b92915050565b60008115159050919050565b61212681612111565b82525050565b6000602082019050612141600083018461211d565b92915050565b60008190508260206002028201111561216357612162611e63565b5b92915050565b60008190508260206003028201111561218557612184611e63565b5b92915050565b60008083601f8401126121a1576121a0611e59565b5b8235905067ffffffffffffffff8111156121be576121bd611e5e565b5b6020830191508360018202830111156121da576121d9611e63565b5b9250929050565b60008060008060c085870312156121fb576121fa611ce4565b5b600061220987828801612147565b945050604061221a87828801612169565b93505060a085013567ffffffffffffffff81111561223b5761223a611ce9565b5b6122478782880161218b565b925092505092959194509250565b60008190508260206003028201111561227157612270611e63565b5b92915050565b60008060008060e0858703121561229157612290611ce4565b5b600061229f87828801612255565b94505060606122b087828801612169565b93505060c085013567ffffffffffffffff8111156122d1576122d0611ce9565b5b6122dd8782880161218b565b925092505092959194509250565b60006020828403121561230157612300611ce4565b5b600082013567ffffffffffffffff81111561231f5761231e611ce9565b5b61232b8482850161204a565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061237b602083612334565b915061238682612345565b602082019050919050565b600060208201905081810360008301526123aa8161236e565b9050919050565b60008160601b9050919050565b60006123c9826123b1565b9050919050565b60006123db826123be565b9050919050565b6123f36123ee82611c9e565b6123d0565b82525050565b6000819050919050565b61241461240f82611cee565b6123f9565b82525050565b600061242682886123e2565b6014820191506124368287612403565b60208201915061244682866123e2565b6014820191506124568285612403565b6020820191506124668284612403565b6020820191508190509695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006124e282611cee565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612515576125146124a8565b5b600182019050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b6000612556601d83612334565b915061256182612520565b602082019050919050565b6000602082019050818103600083015261258581612549565b9050919050565b7f5b42455d20696e76616c69642073656c6c6572207369676e6174757265000000600082015250565b60006125c2601d83612334565b91506125cd8261258c565b602082019050919050565b600060208201905081810360008301526125f1816125b5565b9050919050565b600081905092915050565b600061260f83856125f8565b935061261c838584611ff9565b82840190509392505050565b6000612635828486612603565b91508190509392505050565b7f4d61726b6574706c6163653a2074686973207369676e6174757265206861732060008201527f616464656420746f2069676e6f7265206c69737420616c726561647900000000602082015250565b600061269d603c83612334565b91506126a882612641565b604082019050919050565b600060208201905081810360008301526126cc81612690565b9050919050565b7f4d61726b6574706c6163653a20696e76616c6964207061796d656e74206d657460008201527f686f640000000000000000000000000000000000000000000000000000000000602082015250565b600061272f602383612334565b915061273a826126d3565b604082019050919050565b6000602082019050818103600083015261275e81612722565b9050919050565b7f4d61726b6574706c6163653a207369676e617475726520757365642e20706c6560008201527f6173652073656e6420616e6f74686572207472616e73616374696f6e2077697460208201527f68206e6577207369676e61747572650000000000000000000000000000000000604082015250565b60006127e7604f83612334565b91506127f282612765565b606082019050919050565b60006020820190508181036000830152612816816127da565b9050919050565b60008151905061282c81611d51565b92915050565b60006020828403121561284857612847611ce4565b5b60006128568482850161281d565b91505092915050565b7f4d61726b6574706c6163653a2073656c6c6572206973206e6f74206f776e657260008201527f206f662074686973206974656d206e6f77000000000000000000000000000000602082015250565b60006128bb603183612334565b91506128c68261285f565b604082019050919050565b600060208201905081810360008301526128ea816128ae565b9050919050565b60008151905061290081611cf8565b92915050565b60006020828403121561291c5761291b611ce4565b5b600061292a848285016128f1565b91505092915050565b7f4d61726b6574706c6163653a20627579657220646f65736e277420686176652060008201527f656e6f75676820746f6b656e20746f206275792074686973206974656d000000602082015250565b600061298f603d83612334565b915061299a82612933565b604082019050919050565b600060208201905081810360008301526129be81612982565b9050919050565b60006040820190506129da6000830185611cb0565b6129e76020830184611cb0565b9392505050565b7f4d61726b6574706c6163653a20627579657220646f65736e277420617070726f60008201527f7665206d61726b6574706c61636520746f207370656e64207061796d656e742060208201527f616d6f756e740000000000000000000000000000000000000000000000000000604082015250565b6000612a70604683612334565b9150612a7b826129ee565b606082019050919050565b60006020820190508181036000830152612a9f81612a63565b9050919050565b6000606082019050612abb6000830186611cb0565b612ac86020830185611cb0565b612ad560408301846120e7565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b39602683612334565b9150612b4482612add565b604082019050919050565b60006020820190508181036000830152612b6881612b2c565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612bb0601c83612b6f565b9150612bbb82612b7a565b601c82019050919050565b6000819050919050565b612be1612bdc82611df8565b612bc6565b82525050565b6000612bf282612ba3565b9150612bfe8284612bd0565b60208201915081905092915050565b6000612c1882611cee565b9150612c2383611cee565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c5c57612c5b6124a8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ca182611cee565b9150612cac83611cee565b925082612cbc57612cbb612c67565b5b828204905092915050565b6000612cd282611cee565b9150612cdd83611cee565b925082821015612cf057612cef6124a8565b5b828203905092915050565b600060c082019050612d106000830189611cb0565b612d1d60208301886120e7565b612d2a6040830187611cb0565b612d376060830186611cb0565b612d446080830185611cb0565b612d5160a08301846120e7565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000612dc1601883612334565b9150612dcc82612d8b565b602082019050919050565b60006020820190508181036000830152612df081612db4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000612e2d601f83612334565b9150612e3882612df7565b602082019050919050565b60006020820190508181036000830152612e5c81612e20565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ebf602283612334565b9150612eca82612e63565b604082019050919050565b60006020820190508181036000830152612eee81612eb2565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f51602283612334565b9150612f5c82612ef5565b604082019050919050565b60006020820190508181036000830152612f8081612f44565b9050919050565b612f9081612111565b8114612f9b57600080fd5b50565b600081519050612fad81612f87565b92915050565b600060208284031215612fc957612fc8611ce4565b5b6000612fd784828501612f9e565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b600061303c602a83612334565b915061304782612fe0565b604082019050919050565b6000602082019050818103600083015261306b8161302f565b9050919050565b600060ff82169050919050565b61308881613072565b82525050565b60006080820190506130a36000830187611e02565b6130b0602083018661307f565b6130bd6040830185611e02565b6130ca6060830184611e02565b95945050505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b600061312f602683612334565b915061313a826130d3565b604082019050919050565b6000602082019050818103600083015261315e81613122565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061319b601d83612334565b91506131a682613165565b602082019050919050565b600060208201905081810360008301526131ca8161318e565b9050919050565b600081519050919050565b60005b838110156131fa5780820151818401526020810190506131df565b83811115613209576000848401525b50505050565b600061321a826131d1565b61322481856125f8565b93506132348185602086016131dc565b80840191505092915050565b600061324c828461320f565b915081905092915050565b600081519050919050565b600061326d82613257565b6132778185612334565b93506132878185602086016131dc565b61329081611f3c565b840191505092915050565b600060208201905081810360008301526132b58184613262565b90509291505056fea2646970667358221220dd33916cc63588cfdae49a1ffb0b356a2d77881283a93dfaa2024adccdf35e9a64736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063d79f639e11610066578063d79f639e1461024a578063e8e8e87214610266578063e949580e14610296578063f2fde38b146102c6576100f5565b80638da5cb5b146101c25780639ed3edf0146101e0578063b88dccac146101fe578063c3b88b421461021a576100f5565b8063580bb9a5116100d3578063580bb9a51461016457806364e60ef4146101805780636d0431941461019c578063715018a6146101b8576100f5565b8063083d80f9146100fa578063096a8ab7146101185780631e5192e514610134575b600080fd5b6101026102e2565b60405161010f9190611cbf565b60405180910390f35b610132600480360381019061012d9190611d24565b610308565b005b61014e60048036038101906101499190611d7d565b61038e565b60405161015b9190611e11565b60405180910390f35b61017e60048036038101906101799190611e2c565b6103ca565b005b61019a60048036038101906101959190611ebe565b61048a565b005b6101b660048036038101906101b19190612078565b6105ab565b005b6101c061067f565b005b6101ca610707565b6040516101d79190611cbf565b60405180910390f35b6101e8610730565b6040516101f591906120f6565b60405180910390f35b61021860048036038101906102139190611ebe565b610736565b005b610234600480360381019061022f9190611e2c565b6108dc565b604051610241919061212c565b60405180910390f35b610264600480360381019061025f91906121e1565b6108fc565b005b610280600480360381019061027b9190612277565b610aa5565b60405161028d919061212c565b60405180910390f35b6102b060048036038101906102ab91906122eb565b611251565b6040516102bd919061212c565b60405180910390f35b6102e060048036038101906102db9190611e2c565b611287565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61031061137f565b73ffffffffffffffffffffffffffffffffffffffff1661032e610707565b73ffffffffffffffffffffffffffffffffffffffff1614610384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037b90612391565b60405180910390fd5b8060048190555050565b600085858585856040516020016103a995949392919061241a565b60405160208183030381529060405280519060200120905095945050505050565b6103d261137f565b73ffffffffffffffffffffffffffffffffffffffff166103f0610707565b73ffffffffffffffffffffffffffffffffffffffff1614610446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043d90612391565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61049261137f565b73ffffffffffffffffffffffffffffffffffffffff166104b0610707565b73ffffffffffffffffffffffffffffffffffffffff1614610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90612391565b60405180910390fd5b60005b828290508110156105a65760006001600085858581811061052d5761052c612479565b5b90506020020160208101906105429190611e2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061059e906124d7565b915050610509565b505050565b60418151146105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e69061256c565b60405180910390fd5b60006105fa83611387565b9050600061060882846113b7565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066f906125d8565b60405180910390fd5b5050505050565b61068761137f565b73ffffffffffffffffffffffffffffffffffffffff166106a5610707565b73ffffffffffffffffffffffffffffffffffffffff16146106fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f290612391565b60405180910390fd5b61070560006113de565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60045481565b61073e61137f565b73ffffffffffffffffffffffffffffffffffffffff1661075c610707565b73ffffffffffffffffffffffffffffffffffffffff16146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a990612391565b60405180910390fd5b60005b828290508110156108d75760011515600160008585858181106107db576107da612479565b5b90506020020160208101906107f09190611e2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610845576108c4565b600180600085858581811061085d5761085c612479565b5b90506020020160208101906108729190611e2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806108cf906124d7565b9150506107b5565b505050565b60016020528060005260406000206000915054906101000a900460ff1681565b6002828260405161090e929190612628565b908152602001604051809103902060009054906101000a900460ff161561096a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610961906126b3565b60405180910390fd5b6000610a0d8560006002811061098357610982612479565b5b6020020160208101906109969190611e2c565b856000600381106109aa576109a9612479565b5b6020020135876001600281106109c3576109c2612479565b5b6020020160208101906109d69190611e2c565b876001600381106109ea576109e9612479565b5b602002013588600260038110610a0357610a02612479565b5b602002013561038e565b9050610a65610a1a61137f565b8285858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506105ab565b600160028484604051610a79929190612628565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505050505050565b6000600115156001600087600260038110610ac357610ac2612479565b5b602002016020810190610ad69190611e2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790612745565b60405180910390fd5b60028383604051610b72929190612628565b908152602001604051809103902060009054906101000a900460ff1615610bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc5906127fd565b60405180910390fd5b6000610c7186600160038110610be757610be6612479565b5b602002016020810190610bfa9190611e2c565b86600060038110610c0e57610c0d612479565b5b602002013588600260038110610c2757610c26612479565b5b602002016020810190610c3a9190611e2c565b88600160038110610c4e57610c4d612479565b5b602002013589600260038110610c6757610c66612479565b5b602002013561038e565b9050610ce886600060038110610c8a57610c89612479565b5b602002016020810190610c9d9190611e2c565b8286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506105ab565b600086600160038110610cfe57610cfd612479565b5b602002016020810190610d119190611e2c565b905086600060038110610d2757610d26612479565b5b602002016020810190610d3a9190611e2c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16636352211e88600060038110610d8057610d7f612479565b5b60200201356040518263ffffffff1660e01b8152600401610da191906120f6565b602060405180830381865afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de29190612832565b73ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2f906128d1565b60405180910390fd5b600087600260038110610e4e57610e4d612479565b5b602002016020810190610e619190611e2c565b905086600160038110610e7757610e76612479565b5b60200201358173ffffffffffffffffffffffffffffffffffffffff166370a08231610ea061137f565b6040518263ffffffff1660e01b8152600401610ebc9190611cbf565b602060405180830381865afa158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efd9190612906565b1015610f3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f35906129a5565b60405180910390fd5b86600160038110610f5257610f51612479565b5b60200201358173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e610f7b61137f565b306040518363ffffffff1660e01b8152600401610f999291906129c5565b602060405180830381865afa158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190612906565b101561101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101290612a86565b60405180910390fd5b600061105e6127106110508a60016003811061103a57611039612479565b5b60200201356004546114a290919063ffffffff16565b6114b890919063ffffffff16565b9050600061108d828a60016003811061107a57611079612479565b5b60200201356114ce90919063ffffffff16565b90506110e961109a61137f565b8b6000600381106110ae576110ad612479565b5b6020020160208101906110c19190611e2c565b838673ffffffffffffffffffffffffffffffffffffffff166114e4909392919063ffffffff16565b6000821115611149576111486110fd61137f565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848673ffffffffffffffffffffffffffffffffffffffff166114e4909392919063ffffffff16565b5b8373ffffffffffffffffffffffffffffffffffffffff166342842e0e8b60006003811061117957611178612479565b5b60200201602081019061118c9190611e2c565b61119461137f565b8c6000600381106111a8576111a7612479565b5b60200201356040518463ffffffff1660e01b81526004016111cb93929190612aa6565b600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b50505050600160028989604051611211929190612628565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506112408a8a61156d565b600195505050505050949350505050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900460ff1681565b61128f61137f565b73ffffffffffffffffffffffffffffffffffffffff166112ad610707565b73ffffffffffffffffffffffffffffffffffffffff1614611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90612391565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90612b4f565b60405180910390fd5b61137c816113de565b50565b600033905090565b60008160405160200161139a9190612be7565b604051602081830303815290604052805190602001209050919050565b60008060006113c6858561165e565b915091506113d3816116e1565b819250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836114b09190612c0d565b905092915050565b600081836114c69190612c96565b905092915050565b600081836114dc9190612cc7565b905092915050565b611567846323b872dd60e01b85858560405160240161150593929190612aa6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118b6565b50505050565b8060006003811061158157611580612479565b5b60200201357f7ec91832f8e94cceb462065487af39394e7520f22662d527e383864c041380cf836001600381106115bb576115ba612479565b5b6020020160208101906115ce9190611e2c565b836001600381106115e2576115e1612479565b5b6020020135856002600381106115fb576115fa612479565b5b60200201602081019061160e9190611e2c565b8660006003811061162257611621612479565b5b6020020160208101906116359190611e2c565b61163d61137f565b60045460405161165296959493929190612cfb565b60405180910390a25050565b6000806041835114156116a05760008060006020860151925060408601519150606086015160001a90506116948782858561197d565b945094505050506116da565b6040835114156116d15760008060208501519150604085015190506116c6868383611a8a565b9350935050506116da565b60006002915091505b9250929050565b600060048111156116f5576116f4612d5c565b5b81600481111561170857611707612d5c565b5b1415611713576118b3565b6001600481111561172757611726612d5c565b5b81600481111561173a57611739612d5c565b5b141561177b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177290612dd7565b60405180910390fd5b6002600481111561178f5761178e612d5c565b5b8160048111156117a2576117a1612d5c565b5b14156117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90612e43565b60405180910390fd5b600360048111156117f7576117f6612d5c565b5b81600481111561180a57611809612d5c565b5b141561184b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184290612ed5565b60405180910390fd5b60048081111561185e5761185d612d5c565b5b81600481111561187157611870612d5c565b5b14156118b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a990612f67565b60405180910390fd5b5b50565b6000611918826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611ad89092919063ffffffff16565b905060008151111561197857808060200190518101906119389190612fb3565b611977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196e90613052565b60405180910390fd5b5b505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156119b8576000600391509150611a81565b601b8560ff16141580156119d05750601c8560ff1614155b156119e2576000600491509150611a81565b600060018787878760405160008152602001604052604051611a07949392919061308e565b6020604051602081039080840390855afa158015611a29573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a7857600060019250925050611a81565b80600092509250505b94509492505050565b6000806000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c019050611aca8782888561197d565b935093505050935093915050565b6060611ae78484600085611af0565b90509392505050565b606082471015611b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2c90613145565b60405180910390fd5b611b3e85611c04565b611b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b74906131b1565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611ba69190613240565b60006040518083038185875af1925050503d8060008114611be3576040519150601f19603f3d011682016040523d82523d6000602084013e611be8565b606091505b5091509150611bf8828286611c17565b92505050949350505050565b600080823b905060008111915050919050565b60608315611c2757829050611c77565b600083511115611c3a5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6e919061329b565b60405180910390fd5b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ca982611c7e565b9050919050565b611cb981611c9e565b82525050565b6000602082019050611cd46000830184611cb0565b92915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611d0181611cee565b8114611d0c57600080fd5b50565b600081359050611d1e81611cf8565b92915050565b600060208284031215611d3a57611d39611ce4565b5b6000611d4884828501611d0f565b91505092915050565b611d5a81611c9e565b8114611d6557600080fd5b50565b600081359050611d7781611d51565b92915050565b600080600080600060a08688031215611d9957611d98611ce4565b5b6000611da788828901611d68565b9550506020611db888828901611d0f565b9450506040611dc988828901611d68565b9350506060611dda88828901611d0f565b9250506080611deb88828901611d0f565b9150509295509295909350565b6000819050919050565b611e0b81611df8565b82525050565b6000602082019050611e266000830184611e02565b92915050565b600060208284031215611e4257611e41611ce4565b5b6000611e5084828501611d68565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e7e57611e7d611e59565b5b8235905067ffffffffffffffff811115611e9b57611e9a611e5e565b5b602083019150836020820283011115611eb757611eb6611e63565b5b9250929050565b60008060208385031215611ed557611ed4611ce4565b5b600083013567ffffffffffffffff811115611ef357611ef2611ce9565b5b611eff85828601611e68565b92509250509250929050565b611f1481611df8565b8114611f1f57600080fd5b50565b600081359050611f3181611f0b565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611f8582611f3c565b810181811067ffffffffffffffff82111715611fa457611fa3611f4d565b5b80604052505050565b6000611fb7611cda565b9050611fc38282611f7c565b919050565b600067ffffffffffffffff821115611fe357611fe2611f4d565b5b611fec82611f3c565b9050602081019050919050565b82818337600083830152505050565b600061201b61201684611fc8565b611fad565b90508281526020810184848401111561203757612036611f37565b5b612042848285611ff9565b509392505050565b600082601f83011261205f5761205e611e59565b5b813561206f848260208601612008565b91505092915050565b60008060006060848603121561209157612090611ce4565b5b600061209f86828701611d68565b93505060206120b086828701611f22565b925050604084013567ffffffffffffffff8111156120d1576120d0611ce9565b5b6120dd8682870161204a565b9150509250925092565b6120f081611cee565b82525050565b600060208201905061210b60008301846120e7565b92915050565b60008115159050919050565b61212681612111565b82525050565b6000602082019050612141600083018461211d565b92915050565b60008190508260206002028201111561216357612162611e63565b5b92915050565b60008190508260206003028201111561218557612184611e63565b5b92915050565b60008083601f8401126121a1576121a0611e59565b5b8235905067ffffffffffffffff8111156121be576121bd611e5e565b5b6020830191508360018202830111156121da576121d9611e63565b5b9250929050565b60008060008060c085870312156121fb576121fa611ce4565b5b600061220987828801612147565b945050604061221a87828801612169565b93505060a085013567ffffffffffffffff81111561223b5761223a611ce9565b5b6122478782880161218b565b925092505092959194509250565b60008190508260206003028201111561227157612270611e63565b5b92915050565b60008060008060e0858703121561229157612290611ce4565b5b600061229f87828801612255565b94505060606122b087828801612169565b93505060c085013567ffffffffffffffff8111156122d1576122d0611ce9565b5b6122dd8782880161218b565b925092505092959194509250565b60006020828403121561230157612300611ce4565b5b600082013567ffffffffffffffff81111561231f5761231e611ce9565b5b61232b8482850161204a565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061237b602083612334565b915061238682612345565b602082019050919050565b600060208201905081810360008301526123aa8161236e565b9050919050565b60008160601b9050919050565b60006123c9826123b1565b9050919050565b60006123db826123be565b9050919050565b6123f36123ee82611c9e565b6123d0565b82525050565b6000819050919050565b61241461240f82611cee565b6123f9565b82525050565b600061242682886123e2565b6014820191506124368287612403565b60208201915061244682866123e2565b6014820191506124568285612403565b6020820191506124668284612403565b6020820191508190509695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006124e282611cee565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612515576125146124a8565b5b600182019050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b6000612556601d83612334565b915061256182612520565b602082019050919050565b6000602082019050818103600083015261258581612549565b9050919050565b7f5b42455d20696e76616c69642073656c6c6572207369676e6174757265000000600082015250565b60006125c2601d83612334565b91506125cd8261258c565b602082019050919050565b600060208201905081810360008301526125f1816125b5565b9050919050565b600081905092915050565b600061260f83856125f8565b935061261c838584611ff9565b82840190509392505050565b6000612635828486612603565b91508190509392505050565b7f4d61726b6574706c6163653a2074686973207369676e6174757265206861732060008201527f616464656420746f2069676e6f7265206c69737420616c726561647900000000602082015250565b600061269d603c83612334565b91506126a882612641565b604082019050919050565b600060208201905081810360008301526126cc81612690565b9050919050565b7f4d61726b6574706c6163653a20696e76616c6964207061796d656e74206d657460008201527f686f640000000000000000000000000000000000000000000000000000000000602082015250565b600061272f602383612334565b915061273a826126d3565b604082019050919050565b6000602082019050818103600083015261275e81612722565b9050919050565b7f4d61726b6574706c6163653a207369676e617475726520757365642e20706c6560008201527f6173652073656e6420616e6f74686572207472616e73616374696f6e2077697460208201527f68206e6577207369676e61747572650000000000000000000000000000000000604082015250565b60006127e7604f83612334565b91506127f282612765565b606082019050919050565b60006020820190508181036000830152612816816127da565b9050919050565b60008151905061282c81611d51565b92915050565b60006020828403121561284857612847611ce4565b5b60006128568482850161281d565b91505092915050565b7f4d61726b6574706c6163653a2073656c6c6572206973206e6f74206f776e657260008201527f206f662074686973206974656d206e6f77000000000000000000000000000000602082015250565b60006128bb603183612334565b91506128c68261285f565b604082019050919050565b600060208201905081810360008301526128ea816128ae565b9050919050565b60008151905061290081611cf8565b92915050565b60006020828403121561291c5761291b611ce4565b5b600061292a848285016128f1565b91505092915050565b7f4d61726b6574706c6163653a20627579657220646f65736e277420686176652060008201527f656e6f75676820746f6b656e20746f206275792074686973206974656d000000602082015250565b600061298f603d83612334565b915061299a82612933565b604082019050919050565b600060208201905081810360008301526129be81612982565b9050919050565b60006040820190506129da6000830185611cb0565b6129e76020830184611cb0565b9392505050565b7f4d61726b6574706c6163653a20627579657220646f65736e277420617070726f60008201527f7665206d61726b6574706c61636520746f207370656e64207061796d656e742060208201527f616d6f756e740000000000000000000000000000000000000000000000000000604082015250565b6000612a70604683612334565b9150612a7b826129ee565b606082019050919050565b60006020820190508181036000830152612a9f81612a63565b9050919050565b6000606082019050612abb6000830186611cb0565b612ac86020830185611cb0565b612ad560408301846120e7565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b39602683612334565b9150612b4482612add565b604082019050919050565b60006020820190508181036000830152612b6881612b2c565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612bb0601c83612b6f565b9150612bbb82612b7a565b601c82019050919050565b6000819050919050565b612be1612bdc82611df8565b612bc6565b82525050565b6000612bf282612ba3565b9150612bfe8284612bd0565b60208201915081905092915050565b6000612c1882611cee565b9150612c2383611cee565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c5c57612c5b6124a8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ca182611cee565b9150612cac83611cee565b925082612cbc57612cbb612c67565b5b828204905092915050565b6000612cd282611cee565b9150612cdd83611cee565b925082821015612cf057612cef6124a8565b5b828203905092915050565b600060c082019050612d106000830189611cb0565b612d1d60208301886120e7565b612d2a6040830187611cb0565b612d376060830186611cb0565b612d446080830185611cb0565b612d5160a08301846120e7565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000612dc1601883612334565b9150612dcc82612d8b565b602082019050919050565b60006020820190508181036000830152612df081612db4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000612e2d601f83612334565b9150612e3882612df7565b602082019050919050565b60006020820190508181036000830152612e5c81612e20565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ebf602283612334565b9150612eca82612e63565b604082019050919050565b60006020820190508181036000830152612eee81612eb2565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f51602283612334565b9150612f5c82612ef5565b604082019050919050565b60006020820190508181036000830152612f8081612f44565b9050919050565b612f9081612111565b8114612f9b57600080fd5b50565b600081519050612fad81612f87565b92915050565b600060208284031215612fc957612fc8611ce4565b5b6000612fd784828501612f9e565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b600061303c602a83612334565b915061304782612fe0565b604082019050919050565b6000602082019050818103600083015261306b8161302f565b9050919050565b600060ff82169050919050565b61308881613072565b82525050565b60006080820190506130a36000830187611e02565b6130b0602083018661307f565b6130bd6040830185611e02565b6130ca6060830184611e02565b95945050505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b600061312f602683612334565b915061313a826130d3565b604082019050919050565b6000602082019050818103600083015261315e81613122565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061319b601d83612334565b91506131a682613165565b602082019050919050565b600060208201905081810360008301526131ca8161318e565b9050919050565b600081519050919050565b60005b838110156131fa5780820151818401526020810190506131df565b83811115613209576000848401525b50505050565b600061321a826131d1565b61322481856125f8565b93506132348185602086016131dc565b80840191505092915050565b600061324c828461320f565b915081905092915050565b600081519050919050565b600061326d82613257565b6132778185612334565b93506132878185602086016131dc565b61329081611f3c565b840191505092915050565b600060208201905081810360008301526132b58184613262565b90509291505056fea2646970667358221220dd33916cc63588cfdae49a1ffb0b356a2d77881283a93dfaa2024adccdf35e9a64736f6c634300080a0033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [ { "ast": { "nodeType": "YulBlock", - "src": "0:40706:13", + "src": "0:41798:13", "statements": [ { "body": { @@ -4284,12 +4198,12 @@ { "body": { "nodeType": "YulBlock", - "src": "7546:560:13", + "src": "7563:688:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "7592:83:13", + "src": "7609:83:13", "statements": [ { "expression": { @@ -4297,13 +4211,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "7594:77:13" + "src": "7611:77:13" }, "nodeType": "YulFunctionCall", - "src": "7594:79:13" + "src": "7611:79:13" }, "nodeType": "YulExpressionStatement", - "src": "7594:79:13" + "src": "7611:79:13" } ] }, @@ -4314,52 +4228,52 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7567:7:13" + "src": "7584:7:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7576:9:13" + "src": "7593:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "7563:3:13" + "src": "7580:3:13" }, "nodeType": "YulFunctionCall", - "src": "7563:23:13" + "src": "7580:23:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7588:2:13", + "src": "7605:2:13", "type": "", - "value": "64" + "value": "96" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "7559:3:13" + "src": "7576:3:13" }, "nodeType": "YulFunctionCall", - "src": "7559:32:13" + "src": "7576:32:13" }, "nodeType": "YulIf", - "src": "7556:119:13" + "src": "7573:119:13" }, { "nodeType": "YulBlock", - "src": "7685:117:13", + "src": "7702:117:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7700:15:13", + "src": "7717:15:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "7714:1:13", + "src": "7731:1:13", "type": "", "value": "0" }, @@ -4367,14 +4281,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7704:6:13", + "src": "7721:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7729:63:13", + "src": "7746:63:13", "value": { "arguments": [ { @@ -4382,41 +4296,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7764:9:13" + "src": "7781:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "7775:6:13" + "src": "7792:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7760:3:13" + "src": "7777:3:13" }, "nodeType": "YulFunctionCall", - "src": "7760:22:13" + "src": "7777:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7784:7:13" + "src": "7801:7:13" } ], "functionName": { - "name": "abi_decode_t_bytes32", + "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "7739:20:13" + "src": "7756:20:13" }, "nodeType": "YulFunctionCall", - "src": "7739:53:13" + "src": "7756:53:13" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7729:6:13" + "src": "7746:6:13" } ] } @@ -4424,11 +4338,30 @@ }, { "nodeType": "YulBlock", - "src": "7812:287:13", + "src": "7829:118:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7827:46:13", + "src": "7844:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7858:2:13", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7848:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7874:63:13", "value": { "arguments": [ { @@ -4436,38 +4369,92 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7858:9:13" + "src": "7909:9:13" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7869:2:13", - "type": "", - "value": "32" + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7920:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7854:3:13" + "src": "7905:3:13" }, "nodeType": "YulFunctionCall", - "src": "7854:18:13" + "src": "7905:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7929:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7884:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "7884:53:13" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7874:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7957:287:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7972:46:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8003:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8014:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7999:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7999:18:13" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "7841:12:13" + "src": "7986:12:13" }, "nodeType": "YulFunctionCall", - "src": "7841:32:13" + "src": "7986:32:13" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "7831:6:13", + "src": "7976:6:13", "type": "" } ] @@ -4475,7 +4462,7 @@ { "body": { "nodeType": "YulBlock", - "src": "7920:83:13", + "src": "8065:83:13", "statements": [ { "expression": { @@ -4483,13 +4470,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "7922:77:13" + "src": "8067:77:13" }, "nodeType": "YulFunctionCall", - "src": "7922:79:13" + "src": "8067:79:13" }, "nodeType": "YulExpressionStatement", - "src": "7922:79:13" + "src": "8067:79:13" } ] }, @@ -4498,12 +4485,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7892:6:13" + "src": "8037:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7900:18:13", + "src": "8045:18:13", "type": "", "value": "0xffffffffffffffff" } @@ -4511,17 +4498,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "7889:2:13" + "src": "8034:2:13" }, "nodeType": "YulFunctionCall", - "src": "7889:30:13" + "src": "8034:30:13" }, "nodeType": "YulIf", - "src": "7886:117:13" + "src": "8031:117:13" }, { "nodeType": "YulAssignment", - "src": "8017:72:13", + "src": "8162:72:13", "value": { "arguments": [ { @@ -4529,41 +4516,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8061:9:13" + "src": "8206:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8072:6:13" + "src": "8217:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8057:3:13" + "src": "8202:3:13" }, "nodeType": "YulFunctionCall", - "src": "8057:22:13" + "src": "8202:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8081:7:13" + "src": "8226:7:13" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "8027:29:13" + "src": "8172:29:13" }, "nodeType": "YulFunctionCall", - "src": "8027:62:13" + "src": "8172:62:13" }, "variableNames": [ { - "name": "value1", + "name": "value2", "nodeType": "YulIdentifier", - "src": "8017:6:13" + "src": "8162:6:13" } ] } @@ -4571,19 +4558,19 @@ } ] }, - "name": "abi_decode_tuple_t_bytes32t_bytes_memory_ptr", + "name": "abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7508:9:13", + "src": "7517:9:13", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "7519:7:13", + "src": "7528:7:13", "type": "" } ], @@ -4591,22 +4578,28 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "7531:6:13", + "src": "7540:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "7539:6:13", + "src": "7548:6:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "7556:6:13", "type": "" } ], - "src": "7454:652:13" + "src": "7454:797:13" }, { "body": { "nodeType": "YulBlock", - "src": "8177:53:13", + "src": "8322:53:13", "statements": [ { "expression": { @@ -4614,35 +4607,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8194:3:13" + "src": "8339:3:13" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "8217:5:13" + "src": "8362:5:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "8199:17:13" + "src": "8344:17:13" }, "nodeType": "YulFunctionCall", - "src": "8199:24:13" + "src": "8344:24:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8187:6:13" + "src": "8332:6:13" }, "nodeType": "YulFunctionCall", - "src": "8187:37:13" + "src": "8332:37:13" }, "nodeType": "YulExpressionStatement", - "src": "8187:37:13" + "src": "8332:37:13" } ] }, @@ -4652,37 +4645,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "8165:5:13", + "src": "8310:5:13", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "8172:3:13", + "src": "8317:3:13", "type": "" } ], - "src": "8112:118:13" + "src": "8257:118:13" }, { "body": { "nodeType": "YulBlock", - "src": "8334:124:13", + "src": "8479:124:13", "statements": [ { "nodeType": "YulAssignment", - "src": "8344:26:13", + "src": "8489:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8356:9:13" + "src": "8501:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8367:2:13", + "src": "8512:2:13", "type": "", "value": "32" } @@ -4690,16 +4683,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8352:3:13" + "src": "8497:3:13" }, "nodeType": "YulFunctionCall", - "src": "8352:18:13" + "src": "8497:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8344:4:13" + "src": "8489:4:13" } ] }, @@ -4709,19 +4702,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8424:6:13" + "src": "8569:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8437:9:13" + "src": "8582:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8448:1:13", + "src": "8593:1:13", "type": "", "value": "0" } @@ -4729,22 +4722,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8433:3:13" + "src": "8578:3:13" }, "nodeType": "YulFunctionCall", - "src": "8433:17:13" + "src": "8578:17:13" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "8380:43:13" + "src": "8525:43:13" }, "nodeType": "YulFunctionCall", - "src": "8380:71:13" + "src": "8525:71:13" }, "nodeType": "YulExpressionStatement", - "src": "8380:71:13" + "src": "8525:71:13" } ] }, @@ -4754,13 +4747,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8306:9:13", + "src": "8451:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "8318:6:13", + "src": "8463:6:13", "type": "" } ], @@ -4768,593 +4761,20 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "8329:4:13", + "src": "8474:4:13", "type": "" } ], - "src": "8236:222:13" + "src": "8381:222:13" }, { "body": { "nodeType": "YulBlock", - "src": "8539:432:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8585:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "8587:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "8587:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "8587:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8560:7:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8569:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8556:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "8556:23:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8581:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8552:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "8552:32:13" - }, - "nodeType": "YulIf", - "src": "8549:119:13" - }, - { - "nodeType": "YulBlock", - "src": "8678:286:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8693:45:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8724:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8735:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8720:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "8720:17:13" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8707:12:13" - }, - "nodeType": "YulFunctionCall", - "src": "8707:31:13" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "8697:6:13", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8785:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "8787:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "8787:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "8787:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8757:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8765:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8754:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "8754:30:13" - }, - "nodeType": "YulIf", - "src": "8751:117:13" - }, - { - "nodeType": "YulAssignment", - "src": "8882:72:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8926:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8937:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8922:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "8922:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8946:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "8892:29:13" - }, - "nodeType": "YulFunctionCall", - "src": "8892:62:13" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8882:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8509:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8520:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8532:6:13", - "type": "" - } - ], - "src": "8464:507:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9020:43:13", + "src": "8651:48:13", "statements": [ { "nodeType": "YulAssignment", - "src": "9030:27:13", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9045:5:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9052:4:13", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9041:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9041:16:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "9030:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9002:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "9012:7:13", - "type": "" - } - ], - "src": "8977:86:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9130:51:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9147:3:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9168:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "9152:15:13" - }, - "nodeType": "YulFunctionCall", - "src": "9152:22:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9140:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "9140:35:13" - }, - "nodeType": "YulExpressionStatement", - "src": "9140:35:13" - } - ] - }, - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9118:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9125:3:13", - "type": "" - } - ], - "src": "9069:112:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9337:284:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9347:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9359:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9370:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9355:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9355:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9347:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9427:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9440:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9451:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9436:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9436:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "9383:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "9383:71:13" - }, - "nodeType": "YulExpressionStatement", - "src": "9383:71:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9508:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9521:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9532:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9517:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9517:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "9464:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "9464:72:13" - }, - "nodeType": "YulExpressionStatement", - "src": "9464:72:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9586:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9599:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9610:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9595:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9595:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulIdentifier", - "src": "9546:39:13" - }, - "nodeType": "YulFunctionCall", - "src": "9546:68:13" - }, - "nodeType": "YulExpressionStatement", - "src": "9546:68:13" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_uint8__to_t_bytes32_t_bytes32_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9293:9:13", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9305:6:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9313:6:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9321:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9332:4:13", - "type": "" - } - ], - "src": "9187:434:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9669:48:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9679:32:13", + "src": "8661:32:13", "value": { "arguments": [ { @@ -5362,31 +4782,31 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "9704:5:13" + "src": "8686:5:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "9697:6:13" + "src": "8679:6:13" }, "nodeType": "YulFunctionCall", - "src": "9697:13:13" + "src": "8679:13:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "9690:6:13" + "src": "8672:6:13" }, "nodeType": "YulFunctionCall", - "src": "9690:21:13" + "src": "8672:21:13" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "9679:7:13" + "src": "8661:7:13" } ] } @@ -5398,7 +4818,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "9651:5:13", + "src": "8633:5:13", "type": "" } ], @@ -5406,16 +4826,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "9661:7:13", + "src": "8643:7:13", "type": "" } ], - "src": "9627:90:13" + "src": "8609:90:13" }, { "body": { "nodeType": "YulBlock", - "src": "9782:50:13", + "src": "8764:50:13", "statements": [ { "expression": { @@ -5423,35 +4843,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "9799:3:13" + "src": "8781:3:13" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "9819:5:13" + "src": "8801:5:13" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "9804:14:13" + "src": "8786:14:13" }, "nodeType": "YulFunctionCall", - "src": "9804:21:13" + "src": "8786:21:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9792:6:13" + "src": "8774:6:13" }, "nodeType": "YulFunctionCall", - "src": "9792:34:13" + "src": "8774:34:13" }, "nodeType": "YulExpressionStatement", - "src": "9792:34:13" + "src": "8774:34:13" } ] }, @@ -5461,37 +4881,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "9770:5:13", + "src": "8752:5:13", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "9777:3:13", + "src": "8759:3:13", "type": "" } ], - "src": "9723:109:13" + "src": "8705:109:13" }, { "body": { "nodeType": "YulBlock", - "src": "9930:118:13", + "src": "8912:118:13", "statements": [ { "nodeType": "YulAssignment", - "src": "9940:26:13", + "src": "8922:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9952:9:13" + "src": "8934:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9963:2:13", + "src": "8945:2:13", "type": "", "value": "32" } @@ -5499,16 +4919,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9948:3:13" + "src": "8930:3:13" }, "nodeType": "YulFunctionCall", - "src": "9948:18:13" + "src": "8930:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9940:4:13" + "src": "8922:4:13" } ] }, @@ -5518,19 +4938,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "10014:6:13" + "src": "8996:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10027:9:13" + "src": "9009:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10038:1:13", + "src": "9020:1:13", "type": "", "value": "0" } @@ -5538,22 +4958,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10023:3:13" + "src": "9005:3:13" }, "nodeType": "YulFunctionCall", - "src": "10023:17:13" + "src": "9005:17:13" } ], "functionName": { "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "9976:37:13" + "src": "8958:37:13" }, "nodeType": "YulFunctionCall", - "src": "9976:65:13" + "src": "8958:65:13" }, "nodeType": "YulExpressionStatement", - "src": "9976:65:13" + "src": "8958:65:13" } ] }, @@ -5563,13 +4983,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9902:9:13", + "src": "8884:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "9914:6:13", + "src": "8896:6:13", "type": "" } ], @@ -5577,37 +4997,37 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9925:4:13", + "src": "8907:4:13", "type": "" } ], - "src": "9838:210:13" + "src": "8820:210:13" }, { "body": { "nodeType": "YulBlock", - "src": "10152:169:13", + "src": "9134:169:13", "statements": [ { "nodeType": "YulAssignment", - "src": "10162:18:13", + "src": "9144:18:13", "value": { "name": "offset", "nodeType": "YulIdentifier", - "src": "10174:6:13" + "src": "9156:6:13" }, "variableNames": [ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "10162:8:13" + "src": "9144:8:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "10232:83:13", + "src": "9214:83:13", "statements": [ { "expression": { @@ -5615,13 +5035,13 @@ "functionName": { "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "10234:77:13" + "src": "9216:77:13" }, "nodeType": "YulFunctionCall", - "src": "10234:79:13" + "src": "9216:79:13" }, "nodeType": "YulExpressionStatement", - "src": "10234:79:13" + "src": "9216:79:13" } ] }, @@ -5632,21 +5052,21 @@ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "10199:8:13" + "src": "9181:8:13" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "10213:4:13", + "src": "9195:4:13", "type": "", "value": "0x02" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10219:4:13", + "src": "9201:4:13", "type": "", "value": "0x20" } @@ -5654,36 +5074,36 @@ "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "10209:3:13" + "src": "9191:3:13" }, "nodeType": "YulFunctionCall", - "src": "10209:15:13" + "src": "9191:15:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10195:3:13" + "src": "9177:3:13" }, "nodeType": "YulFunctionCall", - "src": "10195:30:13" + "src": "9177:30:13" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "10227:3:13" + "src": "9209:3:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "10192:2:13" + "src": "9174:2:13" }, "nodeType": "YulFunctionCall", - "src": "10192:39:13" + "src": "9174:39:13" }, "nodeType": "YulIf", - "src": "10189:126:13" + "src": "9171:126:13" } ] }, @@ -5693,13 +5113,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "10127:6:13", + "src": "9109:6:13", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "10135:3:13", + "src": "9117:3:13", "type": "" } ], @@ -5707,37 +5127,37 @@ { "name": "arrayPos", "nodeType": "YulTypedName", - "src": "10143:8:13", + "src": "9125:8:13", "type": "" } ], - "src": "10072:249:13" + "src": "9054:249:13" }, { "body": { "nodeType": "YulBlock", - "src": "10425:169:13", + "src": "9407:169:13", "statements": [ { "nodeType": "YulAssignment", - "src": "10435:18:13", + "src": "9417:18:13", "value": { "name": "offset", "nodeType": "YulIdentifier", - "src": "10447:6:13" + "src": "9429:6:13" }, "variableNames": [ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "10435:8:13" + "src": "9417:8:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "10505:83:13", + "src": "9487:83:13", "statements": [ { "expression": { @@ -5745,13 +5165,13 @@ "functionName": { "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "10507:77:13" + "src": "9489:77:13" }, "nodeType": "YulFunctionCall", - "src": "10507:79:13" + "src": "9489:79:13" }, "nodeType": "YulExpressionStatement", - "src": "10507:79:13" + "src": "9489:79:13" } ] }, @@ -5762,21 +5182,21 @@ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "10472:8:13" + "src": "9454:8:13" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "10486:4:13", + "src": "9468:4:13", "type": "", "value": "0x03" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10492:4:13", + "src": "9474:4:13", "type": "", "value": "0x20" } @@ -5784,36 +5204,36 @@ "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "10482:3:13" + "src": "9464:3:13" }, "nodeType": "YulFunctionCall", - "src": "10482:15:13" + "src": "9464:15:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10468:3:13" + "src": "9450:3:13" }, "nodeType": "YulFunctionCall", - "src": "10468:30:13" + "src": "9450:30:13" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "10500:3:13" + "src": "9482:3:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "10465:2:13" + "src": "9447:2:13" }, "nodeType": "YulFunctionCall", - "src": "10465:39:13" + "src": "9447:39:13" }, "nodeType": "YulIf", - "src": "10462:126:13" + "src": "9444:126:13" } ] }, @@ -5823,13 +5243,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "10400:6:13", + "src": "9382:6:13", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "10408:3:13", + "src": "9390:3:13", "type": "" } ], @@ -5837,21 +5257,21 @@ { "name": "arrayPos", "nodeType": "YulTypedName", - "src": "10416:8:13", + "src": "9398:8:13", "type": "" } ], - "src": "10345:249:13" + "src": "9327:249:13" }, { "body": { "nodeType": "YulBlock", - "src": "10687:478:13", + "src": "9669:478:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "10736:83:13", + "src": "9718:83:13", "statements": [ { "expression": { @@ -5859,13 +5279,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "10738:77:13" + "src": "9720:77:13" }, "nodeType": "YulFunctionCall", - "src": "10738:79:13" + "src": "9720:79:13" }, "nodeType": "YulExpressionStatement", - "src": "10738:79:13" + "src": "9720:79:13" } ] }, @@ -5878,12 +5298,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "10715:6:13" + "src": "9697:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10723:4:13", + "src": "9705:4:13", "type": "", "value": "0x1f" } @@ -5891,68 +5311,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10711:3:13" + "src": "9693:3:13" }, "nodeType": "YulFunctionCall", - "src": "10711:17:13" + "src": "9693:17:13" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "10730:3:13" + "src": "9712:3:13" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "10707:3:13" + "src": "9689:3:13" }, "nodeType": "YulFunctionCall", - "src": "10707:27:13" + "src": "9689:27:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "10700:6:13" + "src": "9682:6:13" }, "nodeType": "YulFunctionCall", - "src": "10700:35:13" + "src": "9682:35:13" }, "nodeType": "YulIf", - "src": "10697:122:13" + "src": "9679:122:13" }, { "nodeType": "YulAssignment", - "src": "10828:30:13", + "src": "9810:30:13", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "10851:6:13" + "src": "9833:6:13" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "10838:12:13" + "src": "9820:12:13" }, "nodeType": "YulFunctionCall", - "src": "10838:20:13" + "src": "9820:20:13" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "10828:6:13" + "src": "9810:6:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "10901:83:13", + "src": "9883:83:13", "statements": [ { "expression": { @@ -5960,13 +5380,13 @@ "functionName": { "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", "nodeType": "YulIdentifier", - "src": "10903:77:13" + "src": "9885:77:13" }, "nodeType": "YulFunctionCall", - "src": "10903:79:13" + "src": "9885:79:13" }, "nodeType": "YulExpressionStatement", - "src": "10903:79:13" + "src": "9885:79:13" } ] }, @@ -5975,12 +5395,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "10873:6:13" + "src": "9855:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10881:18:13", + "src": "9863:18:13", "type": "", "value": "0xffffffffffffffff" } @@ -5988,28 +5408,28 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "10870:2:13" + "src": "9852:2:13" }, "nodeType": "YulFunctionCall", - "src": "10870:30:13" + "src": "9852:30:13" }, "nodeType": "YulIf", - "src": "10867:117:13" + "src": "9849:117:13" }, { "nodeType": "YulAssignment", - "src": "10993:29:13", + "src": "9975:29:13", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "11009:6:13" + "src": "9991:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11017:4:13", + "src": "9999:4:13", "type": "", "value": "0x20" } @@ -6017,23 +5437,23 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11005:3:13" + "src": "9987:3:13" }, "nodeType": "YulFunctionCall", - "src": "11005:17:13" + "src": "9987:17:13" }, "variableNames": [ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "10993:8:13" + "src": "9975:8:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "11076:83:13", + "src": "10058:83:13", "statements": [ { "expression": { @@ -6041,13 +5461,13 @@ "functionName": { "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "11078:77:13" + "src": "10060:77:13" }, "nodeType": "YulFunctionCall", - "src": "11078:79:13" + "src": "10060:79:13" }, "nodeType": "YulExpressionStatement", - "src": "11078:79:13" + "src": "10060:79:13" } ] }, @@ -6058,19 +5478,19 @@ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "11041:8:13" + "src": "10023:8:13" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "11055:6:13" + "src": "10037:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11063:4:13", + "src": "10045:4:13", "type": "", "value": "0x01" } @@ -6078,36 +5498,36 @@ "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "11051:3:13" + "src": "10033:3:13" }, "nodeType": "YulFunctionCall", - "src": "11051:17:13" + "src": "10033:17:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11037:3:13" + "src": "10019:3:13" }, "nodeType": "YulFunctionCall", - "src": "11037:32:13" + "src": "10019:32:13" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "11071:3:13" + "src": "10053:3:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "11034:2:13" + "src": "10016:2:13" }, "nodeType": "YulFunctionCall", - "src": "11034:41:13" + "src": "10016:41:13" }, "nodeType": "YulIf", - "src": "11031:128:13" + "src": "10013:128:13" } ] }, @@ -6117,13 +5537,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "10654:6:13", + "src": "9636:6:13", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "10662:3:13", + "src": "9644:3:13", "type": "" } ], @@ -6131,27 +5551,27 @@ { "name": "arrayPos", "nodeType": "YulTypedName", - "src": "10670:8:13", + "src": "9652:8:13", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "10680:6:13", + "src": "9662:6:13", "type": "" } ], - "src": "10613:552:13" + "src": "9595:552:13" }, { "body": { "nodeType": "YulBlock", - "src": "11340:750:13", + "src": "10322:750:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "11387:83:13", + "src": "10369:83:13", "statements": [ { "expression": { @@ -6159,13 +5579,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "11389:77:13" + "src": "10371:77:13" }, "nodeType": "YulFunctionCall", - "src": "11389:79:13" + "src": "10371:79:13" }, "nodeType": "YulExpressionStatement", - "src": "11389:79:13" + "src": "10371:79:13" } ] }, @@ -6176,26 +5596,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "11361:7:13" + "src": "10343:7:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11370:9:13" + "src": "10352:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "11357:3:13" + "src": "10339:3:13" }, "nodeType": "YulFunctionCall", - "src": "11357:23:13" + "src": "10339:23:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11382:3:13", + "src": "10364:3:13", "type": "", "value": "192" } @@ -6203,25 +5623,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "11353:3:13" + "src": "10335:3:13" }, "nodeType": "YulFunctionCall", - "src": "11353:33:13" + "src": "10335:33:13" }, "nodeType": "YulIf", - "src": "11350:120:13" + "src": "10332:120:13" }, { "nodeType": "YulBlock", - "src": "11480:142:13", + "src": "10462:142:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "11495:15:13", + "src": "10477:15:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "11509:1:13", + "src": "10491:1:13", "type": "", "value": "0" }, @@ -6229,14 +5649,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "11499:6:13", + "src": "10481:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "11524:88:13", + "src": "10506:88:13", "value": { "arguments": [ { @@ -6244,41 +5664,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11584:9:13" + "src": "10566:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "11595:6:13" + "src": "10577:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11580:3:13" + "src": "10562:3:13" }, "nodeType": "YulFunctionCall", - "src": "11580:22:13" + "src": "10562:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "11604:7:13" + "src": "10586:7:13" } ], "functionName": { "name": "abi_decode_t_array$_t_address_$2_calldata_ptr", "nodeType": "YulIdentifier", - "src": "11534:45:13" + "src": "10516:45:13" }, "nodeType": "YulFunctionCall", - "src": "11534:78:13" + "src": "10516:78:13" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "11524:6:13" + "src": "10506:6:13" } ] } @@ -6286,15 +5706,15 @@ }, { "nodeType": "YulBlock", - "src": "11632:143:13", + "src": "10614:143:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "11647:16:13", + "src": "10629:16:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "11661:2:13", + "src": "10643:2:13", "type": "", "value": "64" }, @@ -6302,14 +5722,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "11651:6:13", + "src": "10633:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "11677:88:13", + "src": "10659:88:13", "value": { "arguments": [ { @@ -6317,41 +5737,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11737:9:13" + "src": "10719:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "11748:6:13" + "src": "10730:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11733:3:13" + "src": "10715:3:13" }, "nodeType": "YulFunctionCall", - "src": "11733:22:13" + "src": "10715:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "11757:7:13" + "src": "10739:7:13" } ], "functionName": { "name": "abi_decode_t_array$_t_uint256_$3_calldata_ptr", "nodeType": "YulIdentifier", - "src": "11687:45:13" + "src": "10669:45:13" }, "nodeType": "YulFunctionCall", - "src": "11687:78:13" + "src": "10669:78:13" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "11677:6:13" + "src": "10659:6:13" } ] } @@ -6359,11 +5779,11 @@ }, { "nodeType": "YulBlock", - "src": "11785:298:13", + "src": "10767:298:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "11800:47:13", + "src": "10782:47:13", "value": { "arguments": [ { @@ -6371,12 +5791,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11831:9:13" + "src": "10813:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11842:3:13", + "src": "10824:3:13", "type": "", "value": "160" } @@ -6384,25 +5804,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11827:3:13" + "src": "10809:3:13" }, "nodeType": "YulFunctionCall", - "src": "11827:19:13" + "src": "10809:19:13" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "11814:12:13" + "src": "10796:12:13" }, "nodeType": "YulFunctionCall", - "src": "11814:33:13" + "src": "10796:33:13" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "11804:6:13", + "src": "10786:6:13", "type": "" } ] @@ -6410,7 +5830,7 @@ { "body": { "nodeType": "YulBlock", - "src": "11894:83:13", + "src": "10876:83:13", "statements": [ { "expression": { @@ -6418,13 +5838,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "11896:77:13" + "src": "10878:77:13" }, "nodeType": "YulFunctionCall", - "src": "11896:79:13" + "src": "10878:79:13" }, "nodeType": "YulExpressionStatement", - "src": "11896:79:13" + "src": "10878:79:13" } ] }, @@ -6433,12 +5853,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "11866:6:13" + "src": "10848:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11874:18:13", + "src": "10856:18:13", "type": "", "value": "0xffffffffffffffff" } @@ -6446,17 +5866,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "11863:2:13" + "src": "10845:2:13" }, "nodeType": "YulFunctionCall", - "src": "11863:30:13" + "src": "10845:30:13" }, "nodeType": "YulIf", - "src": "11860:117:13" + "src": "10842:117:13" }, { "nodeType": "YulAssignment", - "src": "11991:82:13", + "src": "10973:82:13", "value": { "arguments": [ { @@ -6464,46 +5884,46 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12045:9:13" + "src": "11027:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "12056:6:13" + "src": "11038:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12041:3:13" + "src": "11023:3:13" }, "nodeType": "YulFunctionCall", - "src": "12041:22:13" + "src": "11023:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12065:7:13" + "src": "11047:7:13" } ], "functionName": { "name": "abi_decode_t_bytes_calldata_ptr", "nodeType": "YulIdentifier", - "src": "12009:31:13" + "src": "10991:31:13" }, "nodeType": "YulFunctionCall", - "src": "12009:64:13" + "src": "10991:64:13" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "11991:6:13" + "src": "10973:6:13" }, { "name": "value3", "nodeType": "YulIdentifier", - "src": "11999:6:13" + "src": "10981:6:13" } ] } @@ -6517,13 +5937,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "11286:9:13", + "src": "10268:9:13", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "11297:7:13", + "src": "10279:7:13", "type": "" } ], @@ -6531,55 +5951,55 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "11309:6:13", + "src": "10291:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "11317:6:13", + "src": "10299:6:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "11325:6:13", + "src": "10307:6:13", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "11333:6:13", + "src": "10315:6:13", "type": "" } ], - "src": "11171:919:13" + "src": "10153:919:13" }, { "body": { "nodeType": "YulBlock", - "src": "12194:169:13", + "src": "11176:169:13", "statements": [ { "nodeType": "YulAssignment", - "src": "12204:18:13", + "src": "11186:18:13", "value": { "name": "offset", "nodeType": "YulIdentifier", - "src": "12216:6:13" + "src": "11198:6:13" }, "variableNames": [ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "12204:8:13" + "src": "11186:8:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "12274:83:13", + "src": "11256:83:13", "statements": [ { "expression": { @@ -6587,13 +6007,13 @@ "functionName": { "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "12276:77:13" + "src": "11258:77:13" }, "nodeType": "YulFunctionCall", - "src": "12276:79:13" + "src": "11258:79:13" }, "nodeType": "YulExpressionStatement", - "src": "12276:79:13" + "src": "11258:79:13" } ] }, @@ -6604,21 +6024,21 @@ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "12241:8:13" + "src": "11223:8:13" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "12255:4:13", + "src": "11237:4:13", "type": "", "value": "0x03" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12261:4:13", + "src": "11243:4:13", "type": "", "value": "0x20" } @@ -6626,36 +6046,36 @@ "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "12251:3:13" + "src": "11233:3:13" }, "nodeType": "YulFunctionCall", - "src": "12251:15:13" + "src": "11233:15:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12237:3:13" + "src": "11219:3:13" }, "nodeType": "YulFunctionCall", - "src": "12237:30:13" + "src": "11219:30:13" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "12269:3:13" + "src": "11251:3:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "12234:2:13" + "src": "11216:2:13" }, "nodeType": "YulFunctionCall", - "src": "12234:39:13" + "src": "11216:39:13" }, "nodeType": "YulIf", - "src": "12231:126:13" + "src": "11213:126:13" } ] }, @@ -6665,13 +6085,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "12169:6:13", + "src": "11151:6:13", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "12177:3:13", + "src": "11159:3:13", "type": "" } ], @@ -6679,21 +6099,21 @@ { "name": "arrayPos", "nodeType": "YulTypedName", - "src": "12185:8:13", + "src": "11167:8:13", "type": "" } ], - "src": "12114:249:13" + "src": "11096:249:13" }, { "body": { "nodeType": "YulBlock", - "src": "12538:750:13", + "src": "11520:750:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "12585:83:13", + "src": "11567:83:13", "statements": [ { "expression": { @@ -6701,13 +6121,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "12587:77:13" + "src": "11569:77:13" }, "nodeType": "YulFunctionCall", - "src": "12587:79:13" + "src": "11569:79:13" }, "nodeType": "YulExpressionStatement", - "src": "12587:79:13" + "src": "11569:79:13" } ] }, @@ -6718,26 +6138,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12559:7:13" + "src": "11541:7:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12568:9:13" + "src": "11550:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "12555:3:13" + "src": "11537:3:13" }, "nodeType": "YulFunctionCall", - "src": "12555:23:13" + "src": "11537:23:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12580:3:13", + "src": "11562:3:13", "type": "", "value": "224" } @@ -6745,25 +6165,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "12551:3:13" + "src": "11533:3:13" }, "nodeType": "YulFunctionCall", - "src": "12551:33:13" + "src": "11533:33:13" }, "nodeType": "YulIf", - "src": "12548:120:13" + "src": "11530:120:13" }, { "nodeType": "YulBlock", - "src": "12678:142:13", + "src": "11660:142:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "12693:15:13", + "src": "11675:15:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "12707:1:13", + "src": "11689:1:13", "type": "", "value": "0" }, @@ -6771,14 +6191,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "12697:6:13", + "src": "11679:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "12722:88:13", + "src": "11704:88:13", "value": { "arguments": [ { @@ -6786,41 +6206,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12782:9:13" + "src": "11764:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "12793:6:13" + "src": "11775:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12778:3:13" + "src": "11760:3:13" }, "nodeType": "YulFunctionCall", - "src": "12778:22:13" + "src": "11760:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12802:7:13" + "src": "11784:7:13" } ], "functionName": { "name": "abi_decode_t_array$_t_address_$3_calldata_ptr", "nodeType": "YulIdentifier", - "src": "12732:45:13" + "src": "11714:45:13" }, "nodeType": "YulFunctionCall", - "src": "12732:78:13" + "src": "11714:78:13" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "12722:6:13" + "src": "11704:6:13" } ] } @@ -6828,15 +6248,15 @@ }, { "nodeType": "YulBlock", - "src": "12830:143:13", + "src": "11812:143:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "12845:16:13", + "src": "11827:16:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "12859:2:13", + "src": "11841:2:13", "type": "", "value": "96" }, @@ -6844,14 +6264,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "12849:6:13", + "src": "11831:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "12875:88:13", + "src": "11857:88:13", "value": { "arguments": [ { @@ -6859,41 +6279,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12935:9:13" + "src": "11917:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "12946:6:13" + "src": "11928:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12931:3:13" + "src": "11913:3:13" }, "nodeType": "YulFunctionCall", - "src": "12931:22:13" + "src": "11913:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12955:7:13" + "src": "11937:7:13" } ], "functionName": { "name": "abi_decode_t_array$_t_uint256_$3_calldata_ptr", "nodeType": "YulIdentifier", - "src": "12885:45:13" + "src": "11867:45:13" }, "nodeType": "YulFunctionCall", - "src": "12885:78:13" + "src": "11867:78:13" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "12875:6:13" + "src": "11857:6:13" } ] } @@ -6901,11 +6321,11 @@ }, { "nodeType": "YulBlock", - "src": "12983:298:13", + "src": "11965:298:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "12998:47:13", + "src": "11980:47:13", "value": { "arguments": [ { @@ -6913,12 +6333,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13029:9:13" + "src": "12011:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13040:3:13", + "src": "12022:3:13", "type": "", "value": "192" } @@ -6926,25 +6346,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13025:3:13" + "src": "12007:3:13" }, "nodeType": "YulFunctionCall", - "src": "13025:19:13" + "src": "12007:19:13" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "13012:12:13" + "src": "11994:12:13" }, "nodeType": "YulFunctionCall", - "src": "13012:33:13" + "src": "11994:33:13" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "13002:6:13", + "src": "11984:6:13", "type": "" } ] @@ -6952,7 +6372,7 @@ { "body": { "nodeType": "YulBlock", - "src": "13092:83:13", + "src": "12074:83:13", "statements": [ { "expression": { @@ -6960,13 +6380,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "13094:77:13" + "src": "12076:77:13" }, "nodeType": "YulFunctionCall", - "src": "13094:79:13" + "src": "12076:79:13" }, "nodeType": "YulExpressionStatement", - "src": "13094:79:13" + "src": "12076:79:13" } ] }, @@ -6975,12 +6395,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "13064:6:13" + "src": "12046:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13072:18:13", + "src": "12054:18:13", "type": "", "value": "0xffffffffffffffff" } @@ -6988,17 +6408,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "13061:2:13" + "src": "12043:2:13" }, "nodeType": "YulFunctionCall", - "src": "13061:30:13" + "src": "12043:30:13" }, "nodeType": "YulIf", - "src": "13058:117:13" + "src": "12040:117:13" }, { "nodeType": "YulAssignment", - "src": "13189:82:13", + "src": "12171:82:13", "value": { "arguments": [ { @@ -7006,46 +6426,46 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13243:9:13" + "src": "12225:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "13254:6:13" + "src": "12236:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13239:3:13" + "src": "12221:3:13" }, "nodeType": "YulFunctionCall", - "src": "13239:22:13" + "src": "12221:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13263:7:13" + "src": "12245:7:13" } ], "functionName": { "name": "abi_decode_t_bytes_calldata_ptr", "nodeType": "YulIdentifier", - "src": "13207:31:13" + "src": "12189:31:13" }, "nodeType": "YulFunctionCall", - "src": "13207:64:13" + "src": "12189:64:13" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "13189:6:13" + "src": "12171:6:13" }, { "name": "value3", "nodeType": "YulIdentifier", - "src": "13197:6:13" + "src": "12179:6:13" } ] } @@ -7059,13 +6479,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12484:9:13", + "src": "11466:9:13", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "12495:7:13", + "src": "11477:7:13", "type": "" } ], @@ -7073,220 +6493,39 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "12507:6:13", + "src": "11489:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "12515:6:13", + "src": "11497:6:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "12523:6:13", + "src": "11505:6:13", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "12531:6:13", + "src": "11513:6:13", "type": "" } ], - "src": "12369:919:13" + "src": "11351:919:13" }, { "body": { "nodeType": "YulBlock", - "src": "13335:77:13", + "src": "12351:432:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "13390:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13399:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13402:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "13392:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "13392:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "13392:12:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13358:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13381:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "13365:15:13" - }, - "nodeType": "YulFunctionCall", - "src": "13365:22:13" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "13355:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "13355:33:13" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "13348:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "13348:41:13" - }, - "nodeType": "YulIf", - "src": "13345:61:13" - } - ] - }, - "name": "validator_revert_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "13328:5:13", - "type": "" - } - ], - "src": "13294:118:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13468:85:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13478:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13500:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "13487:12:13" - }, - "nodeType": "YulFunctionCall", - "src": "13487:20:13" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13478:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13541:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_uint8", - "nodeType": "YulIdentifier", - "src": "13516:24:13" - }, - "nodeType": "YulFunctionCall", - "src": "13516:31:13" - }, - "nodeType": "YulExpressionStatement", - "src": "13516:31:13" - } - ] - }, - "name": "abi_decode_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "13446:6:13", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "13454:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "13462:5:13", - "type": "" - } - ], - "src": "13418:135:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13674:646:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "13721:83:13", + "src": "12397:83:13", "statements": [ { "expression": { @@ -7294,13 +6533,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "13723:77:13" + "src": "12399:77:13" }, "nodeType": "YulFunctionCall", - "src": "13723:79:13" + "src": "12399:79:13" }, "nodeType": "YulExpressionStatement", - "src": "13723:79:13" + "src": "12399:79:13" } ] }, @@ -7311,432 +6550,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13695:7:13" + "src": "12372:7:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13704:9:13" + "src": "12381:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13691:3:13" + "src": "12368:3:13" }, "nodeType": "YulFunctionCall", - "src": "13691:23:13" + "src": "12368:23:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13716:3:13", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "13687:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "13687:33:13" - }, - "nodeType": "YulIf", - "src": "13684:120:13" - }, - { - "nodeType": "YulBlock", - "src": "13814:117:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13829:15:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13843:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "13833:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "13858:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13893:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13904:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13889:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "13889:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "13913:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "13868:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "13868:53:13" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13858:6:13" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "13941:116:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13956:16:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13970:2:13", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "13960:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "13986:61:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14019:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "14030:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14015:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "14015:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14039:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "13996:18:13" - }, - "nodeType": "YulFunctionCall", - "src": "13996:51:13" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "13986:6:13" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "14067:118:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "14082:16:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14096:2:13", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "14086:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14112:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14147:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "14158:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14143:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "14143:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14167:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "14122:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "14122:53:13" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "14112:6:13" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "14195:118:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "14210:16:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14224:2:13", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "14214:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14240:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14275:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "14286:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14271:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "14271:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14295:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "14250:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "14250:53:13" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "14240:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_uint8t_bytes32t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13620:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "13631:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13643:6:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "13651:6:13", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "13659:6:13", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "13667:6:13", - "type": "" - } - ], - "src": "13559:761:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14392:263:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "14438:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "14440:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "14440:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "14440:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14413:7:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14422:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14409:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "14409:23:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14434:2:13", + "src": "12393:2:13", "type": "", "value": "32" } @@ -7744,40 +6577,21 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "14405:3:13" + "src": "12364:3:13" }, "nodeType": "YulFunctionCall", - "src": "14405:32:13" + "src": "12364:32:13" }, "nodeType": "YulIf", - "src": "14402:119:13" + "src": "12361:119:13" }, { "nodeType": "YulBlock", - "src": "14531:117:13", + "src": "12490:286:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "14546:15:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14560:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "14550:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14575:63:13", + "src": "12505:45:13", "value": { "arguments": [ { @@ -7785,41 +6599,134 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14610:9:13" + "src": "12536:9:13" }, { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "14621:6:13" + "kind": "number", + "nodeType": "YulLiteral", + "src": "12547:1:13", + "type": "", + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14606:3:13" + "src": "12532:3:13" }, "nodeType": "YulFunctionCall", - "src": "14606:22:13" + "src": "12532:17:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12519:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "12519:31:13" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12509:6:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12597:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "12599:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "12599:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12599:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12569:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12577:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12566:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "12566:30:13" + }, + "nodeType": "YulIf", + "src": "12563:117:13" + }, + { + "nodeType": "YulAssignment", + "src": "12694:72:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12738:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12749:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12734:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12734:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "14630:7:13" + "src": "12758:7:13" } ], "functionName": { - "name": "abi_decode_t_bytes32", + "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "14585:20:13" + "src": "12704:29:13" }, "nodeType": "YulFunctionCall", - "src": "14585:53:13" + "src": "12704:62:13" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "14575:6:13" + "src": "12694:6:13" } ] } @@ -7827,19 +6734,19 @@ } ] }, - "name": "abi_decode_tuple_t_bytes32", + "name": "abi_decode_tuple_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14362:9:13", + "src": "12321:9:13", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "14373:7:13", + "src": "12332:7:13", "type": "" } ], @@ -7847,16 +6754,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "14385:6:13", + "src": "12344:6:13", "type": "" } ], - "src": "14326:329:13" + "src": "12276:507:13" }, { "body": { "nodeType": "YulBlock", - "src": "14757:73:13", + "src": "12885:73:13", "statements": [ { "expression": { @@ -7864,39 +6771,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "14774:3:13" + "src": "12902:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "14779:6:13" + "src": "12907:6:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14767:6:13" + "src": "12895:6:13" }, "nodeType": "YulFunctionCall", - "src": "14767:19:13" + "src": "12895:19:13" }, "nodeType": "YulExpressionStatement", - "src": "14767:19:13" + "src": "12895:19:13" }, { "nodeType": "YulAssignment", - "src": "14795:29:13", + "src": "12923:29:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "14814:3:13" + "src": "12942:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14819:4:13", + "src": "12947:4:13", "type": "", "value": "0x20" } @@ -7904,16 +6811,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14810:3:13" + "src": "12938:3:13" }, "nodeType": "YulFunctionCall", - "src": "14810:14:13" + "src": "12938:14:13" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "14795:11:13" + "src": "12923:11:13" } ] } @@ -7925,13 +6832,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "14729:3:13", + "src": "12857:3:13", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "14734:6:13", + "src": "12862:6:13", "type": "" } ], @@ -7939,16 +6846,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "14745:11:13", + "src": "12873:11:13", "type": "" } ], - "src": "14661:169:13" + "src": "12789:169:13" }, { "body": { "nodeType": "YulBlock", - "src": "14942:76:13", + "src": "13070:76:13", "statements": [ { "expression": { @@ -7958,12 +6865,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "14964:6:13" + "src": "13092:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14972:1:13", + "src": "13100:1:13", "type": "", "value": "0" } @@ -7971,16 +6878,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14960:3:13" + "src": "13088:3:13" }, "nodeType": "YulFunctionCall", - "src": "14960:14:13" + "src": "13088:14:13" }, { "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "14976:34:13", + "src": "13104:34:13", "type": "", "value": "Ownable: caller is not the owner" } @@ -7988,13 +6895,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14953:6:13" + "src": "13081:6:13" }, "nodeType": "YulFunctionCall", - "src": "14953:58:13" + "src": "13081:58:13" }, "nodeType": "YulExpressionStatement", - "src": "14953:58:13" + "src": "13081:58:13" } ] }, @@ -8004,31 +6911,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "14934:6:13", + "src": "13062:6:13", "type": "" } ], - "src": "14836:182:13" + "src": "12964:182:13" }, { "body": { "nodeType": "YulBlock", - "src": "15170:220:13", + "src": "13298:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "15180:74:13", + "src": "13308:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15246:3:13" + "src": "13374:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15251:2:13", + "src": "13379:2:13", "type": "", "value": "32" } @@ -8036,16 +6943,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "15187:58:13" + "src": "13315:58:13" }, "nodeType": "YulFunctionCall", - "src": "15187:67:13" + "src": "13315:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15180:3:13" + "src": "13308:3:13" } ] }, @@ -8055,34 +6962,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15352:3:13" + "src": "13480:3:13" } ], "functionName": { "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", "nodeType": "YulIdentifier", - "src": "15263:88:13" + "src": "13391:88:13" }, "nodeType": "YulFunctionCall", - "src": "15263:93:13" + "src": "13391:93:13" }, "nodeType": "YulExpressionStatement", - "src": "15263:93:13" + "src": "13391:93:13" }, { "nodeType": "YulAssignment", - "src": "15365:19:13", + "src": "13493:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15376:3:13" + "src": "13504:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15381:2:13", + "src": "13509:2:13", "type": "", "value": "32" } @@ -8090,16 +6997,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15372:3:13" + "src": "13500:3:13" }, "nodeType": "YulFunctionCall", - "src": "15372:12:13" + "src": "13500:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "15365:3:13" + "src": "13493:3:13" } ] } @@ -8111,7 +7018,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "15158:3:13", + "src": "13286:3:13", "type": "" } ], @@ -8119,31 +7026,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "15166:3:13", + "src": "13294:3:13", "type": "" } ], - "src": "15024:366:13" + "src": "13152:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "15567:248:13", + "src": "13695:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "15577:26:13", + "src": "13705:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15589:9:13" + "src": "13717:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15600:2:13", + "src": "13728:2:13", "type": "", "value": "32" } @@ -8151,16 +7058,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15585:3:13" + "src": "13713:3:13" }, "nodeType": "YulFunctionCall", - "src": "15585:18:13" + "src": "13713:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15577:4:13" + "src": "13705:4:13" } ] }, @@ -8172,12 +7079,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15624:9:13" + "src": "13752:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15635:1:13", + "src": "13763:1:13", "type": "", "value": "0" } @@ -8185,68 +7092,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15620:3:13" + "src": "13748:3:13" }, "nodeType": "YulFunctionCall", - "src": "15620:17:13" + "src": "13748:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15643:4:13" + "src": "13771:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15649:9:13" + "src": "13777:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15639:3:13" + "src": "13767:3:13" }, "nodeType": "YulFunctionCall", - "src": "15639:20:13" + "src": "13767:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15613:6:13" + "src": "13741:6:13" }, "nodeType": "YulFunctionCall", - "src": "15613:47:13" + "src": "13741:47:13" }, "nodeType": "YulExpressionStatement", - "src": "15613:47:13" + "src": "13741:47:13" }, { "nodeType": "YulAssignment", - "src": "15669:139:13", + "src": "13797:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15803:4:13" + "src": "13931:4:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "15677:124:13" + "src": "13805:124:13" }, "nodeType": "YulFunctionCall", - "src": "15677:131:13" + "src": "13805:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15669:4:13" + "src": "13797:4:13" } ] } @@ -8258,7 +7165,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15547:9:13", + "src": "13675:9:13", "type": "" } ], @@ -8266,48 +7173,48 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15562:4:13", + "src": "13690:4:13", "type": "" } ], - "src": "15396:419:13" + "src": "13524:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "15863:52:13", + "src": "13991:52:13", "statements": [ { "nodeType": "YulAssignment", - "src": "15873:35:13", + "src": "14001:35:13", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "15898:2:13", + "src": "14026:2:13", "type": "", "value": "96" }, { "name": "value", "nodeType": "YulIdentifier", - "src": "15902:5:13" + "src": "14030:5:13" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "15894:3:13" + "src": "14022:3:13" }, "nodeType": "YulFunctionCall", - "src": "15894:14:13" + "src": "14022:14:13" }, "variableNames": [ { "name": "newValue", "nodeType": "YulIdentifier", - "src": "15873:8:13" + "src": "14001:8:13" } ] } @@ -8319,7 +7226,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "15844:5:13", + "src": "13972:5:13", "type": "" } ], @@ -8327,41 +7234,41 @@ { "name": "newValue", "nodeType": "YulTypedName", - "src": "15854:8:13", + "src": "13982:8:13", "type": "" } ], - "src": "15821:94:13" + "src": "13949:94:13" }, { "body": { "nodeType": "YulBlock", - "src": "15968:47:13", + "src": "14096:47:13", "statements": [ { "nodeType": "YulAssignment", - "src": "15978:31:13", + "src": "14106:31:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "16003:5:13" + "src": "14131:5:13" } ], "functionName": { "name": "shift_left_96", "nodeType": "YulIdentifier", - "src": "15989:13:13" + "src": "14117:13:13" }, "nodeType": "YulFunctionCall", - "src": "15989:20:13" + "src": "14117:20:13" }, "variableNames": [ { "name": "aligned", "nodeType": "YulIdentifier", - "src": "15978:7:13" + "src": "14106:7:13" } ] } @@ -8373,7 +7280,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "15950:5:13", + "src": "14078:5:13", "type": "" } ], @@ -8381,41 +7288,41 @@ { "name": "aligned", "nodeType": "YulTypedName", - "src": "15960:7:13", + "src": "14088:7:13", "type": "" } ], - "src": "15921:94:13" + "src": "14049:94:13" }, { "body": { "nodeType": "YulBlock", - "src": "16068:53:13", + "src": "14196:53:13", "statements": [ { "nodeType": "YulAssignment", - "src": "16078:37:13", + "src": "14206:37:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "16109:5:13" + "src": "14237:5:13" } ], "functionName": { "name": "leftAlign_t_uint160", "nodeType": "YulIdentifier", - "src": "16089:19:13" + "src": "14217:19:13" }, "nodeType": "YulFunctionCall", - "src": "16089:26:13" + "src": "14217:26:13" }, "variableNames": [ { "name": "aligned", "nodeType": "YulIdentifier", - "src": "16078:7:13" + "src": "14206:7:13" } ] } @@ -8427,7 +7334,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "16050:5:13", + "src": "14178:5:13", "type": "" } ], @@ -8435,16 +7342,16 @@ { "name": "aligned", "nodeType": "YulTypedName", - "src": "16060:7:13", + "src": "14188:7:13", "type": "" } ], - "src": "16021:100:13" + "src": "14149:100:13" }, { "body": { "nodeType": "YulBlock", - "src": "16210:74:13", + "src": "14338:74:13", "statements": [ { "expression": { @@ -8452,7 +7359,7 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16227:3:13" + "src": "14355:3:13" }, { "arguments": [ @@ -8461,37 +7368,37 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "16270:5:13" + "src": "14398:5:13" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "16252:17:13" + "src": "14380:17:13" }, "nodeType": "YulFunctionCall", - "src": "16252:24:13" + "src": "14380:24:13" } ], "functionName": { "name": "leftAlign_t_address", "nodeType": "YulIdentifier", - "src": "16232:19:13" + "src": "14360:19:13" }, "nodeType": "YulFunctionCall", - "src": "16232:45:13" + "src": "14360:45:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16220:6:13" + "src": "14348:6:13" }, "nodeType": "YulFunctionCall", - "src": "16220:58:13" + "src": "14348:58:13" }, "nodeType": "YulExpressionStatement", - "src": "16220:58:13" + "src": "14348:58:13" } ] }, @@ -8501,36 +7408,36 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "16198:5:13", + "src": "14326:5:13", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "16205:3:13", + "src": "14333:3:13", "type": "" } ], - "src": "16127:157:13" + "src": "14255:157:13" }, { "body": { "nodeType": "YulBlock", - "src": "16337:32:13", + "src": "14465:32:13", "statements": [ { "nodeType": "YulAssignment", - "src": "16347:16:13", + "src": "14475:16:13", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "16358:5:13" + "src": "14486:5:13" }, "variableNames": [ { "name": "aligned", "nodeType": "YulIdentifier", - "src": "16347:7:13" + "src": "14475:7:13" } ] } @@ -8542,7 +7449,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "16319:5:13", + "src": "14447:5:13", "type": "" } ], @@ -8550,16 +7457,16 @@ { "name": "aligned", "nodeType": "YulTypedName", - "src": "16329:7:13", + "src": "14457:7:13", "type": "" } ], - "src": "16290:79:13" + "src": "14418:79:13" }, { "body": { "nodeType": "YulBlock", - "src": "16458:74:13", + "src": "14586:74:13", "statements": [ { "expression": { @@ -8567,7 +7474,7 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16475:3:13" + "src": "14603:3:13" }, { "arguments": [ @@ -8576,37 +7483,37 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "16518:5:13" + "src": "14646:5:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "16500:17:13" + "src": "14628:17:13" }, "nodeType": "YulFunctionCall", - "src": "16500:24:13" + "src": "14628:24:13" } ], "functionName": { "name": "leftAlign_t_uint256", "nodeType": "YulIdentifier", - "src": "16480:19:13" + "src": "14608:19:13" }, "nodeType": "YulFunctionCall", - "src": "16480:45:13" + "src": "14608:45:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16468:6:13" + "src": "14596:6:13" }, "nodeType": "YulFunctionCall", - "src": "16468:58:13" + "src": "14596:58:13" }, "nodeType": "YulExpressionStatement", - "src": "16468:58:13" + "src": "14596:58:13" } ] }, @@ -8616,22 +7523,22 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "16446:5:13", + "src": "14574:5:13", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "16453:3:13", + "src": "14581:3:13", "type": "" } ], - "src": "16375:157:13" + "src": "14503:157:13" }, { "body": { "nodeType": "YulBlock", - "src": "16766:592:13", + "src": "14894:592:13", "statements": [ { "expression": { @@ -8639,39 +7546,39 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "16839:6:13" + "src": "14967:6:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "16848:3:13" + "src": "14976:3:13" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "16777:61:13" + "src": "14905:61:13" }, "nodeType": "YulFunctionCall", - "src": "16777:75:13" + "src": "14905:75:13" }, "nodeType": "YulExpressionStatement", - "src": "16777:75:13" + "src": "14905:75:13" }, { "nodeType": "YulAssignment", - "src": "16861:19:13", + "src": "14989:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16872:3:13" + "src": "15000:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16877:2:13", + "src": "15005:2:13", "type": "", "value": "20" } @@ -8679,16 +7586,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16868:3:13" + "src": "14996:3:13" }, "nodeType": "YulFunctionCall", - "src": "16868:12:13" + "src": "14996:12:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16861:3:13" + "src": "14989:3:13" } ] }, @@ -8698,39 +7605,39 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "16952:6:13" + "src": "15080:6:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "16961:3:13" + "src": "15089:3:13" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "16890:61:13" + "src": "15018:61:13" }, "nodeType": "YulFunctionCall", - "src": "16890:75:13" + "src": "15018:75:13" }, "nodeType": "YulExpressionStatement", - "src": "16890:75:13" + "src": "15018:75:13" }, { "nodeType": "YulAssignment", - "src": "16974:19:13", + "src": "15102:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16985:3:13" + "src": "15113:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16990:2:13", + "src": "15118:2:13", "type": "", "value": "32" } @@ -8738,16 +7645,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16981:3:13" + "src": "15109:3:13" }, "nodeType": "YulFunctionCall", - "src": "16981:12:13" + "src": "15109:12:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16974:3:13" + "src": "15102:3:13" } ] }, @@ -8757,39 +7664,39 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "17065:6:13" + "src": "15193:6:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "17074:3:13" + "src": "15202:3:13" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "17003:61:13" + "src": "15131:61:13" }, "nodeType": "YulFunctionCall", - "src": "17003:75:13" + "src": "15131:75:13" }, "nodeType": "YulExpressionStatement", - "src": "17003:75:13" + "src": "15131:75:13" }, { "nodeType": "YulAssignment", - "src": "17087:19:13", + "src": "15215:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17098:3:13" + "src": "15226:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17103:2:13", + "src": "15231:2:13", "type": "", "value": "20" } @@ -8797,16 +7704,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17094:3:13" + "src": "15222:3:13" }, "nodeType": "YulFunctionCall", - "src": "17094:12:13" + "src": "15222:12:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17087:3:13" + "src": "15215:3:13" } ] }, @@ -8816,39 +7723,39 @@ { "name": "value3", "nodeType": "YulIdentifier", - "src": "17178:6:13" + "src": "15306:6:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "17187:3:13" + "src": "15315:3:13" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "17116:61:13" + "src": "15244:61:13" }, "nodeType": "YulFunctionCall", - "src": "17116:75:13" + "src": "15244:75:13" }, "nodeType": "YulExpressionStatement", - "src": "17116:75:13" + "src": "15244:75:13" }, { "nodeType": "YulAssignment", - "src": "17200:19:13", + "src": "15328:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17211:3:13" + "src": "15339:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17216:2:13", + "src": "15344:2:13", "type": "", "value": "32" } @@ -8856,16 +7763,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17207:3:13" + "src": "15335:3:13" }, "nodeType": "YulFunctionCall", - "src": "17207:12:13" + "src": "15335:12:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17200:3:13" + "src": "15328:3:13" } ] }, @@ -8875,39 +7782,39 @@ { "name": "value4", "nodeType": "YulIdentifier", - "src": "17291:6:13" + "src": "15419:6:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "17300:3:13" + "src": "15428:3:13" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "17229:61:13" + "src": "15357:61:13" }, "nodeType": "YulFunctionCall", - "src": "17229:75:13" + "src": "15357:75:13" }, "nodeType": "YulExpressionStatement", - "src": "17229:75:13" + "src": "15357:75:13" }, { "nodeType": "YulAssignment", - "src": "17313:19:13", + "src": "15441:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17324:3:13" + "src": "15452:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17329:2:13", + "src": "15457:2:13", "type": "", "value": "32" } @@ -8915,32 +7822,32 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17320:3:13" + "src": "15448:3:13" }, "nodeType": "YulFunctionCall", - "src": "17320:12:13" + "src": "15448:12:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17313:3:13" + "src": "15441:3:13" } ] }, { "nodeType": "YulAssignment", - "src": "17342:10:13", + "src": "15470:10:13", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "17349:3:13" + "src": "15477:3:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "17342:3:13" + "src": "15470:3:13" } ] } @@ -8952,37 +7859,37 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "16713:3:13", + "src": "14841:3:13", "type": "" }, { "name": "value4", "nodeType": "YulTypedName", - "src": "16719:6:13", + "src": "14847:6:13", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "16727:6:13", + "src": "14855:6:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "16735:6:13", + "src": "14863:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "16743:6:13", + "src": "14871:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "16751:6:13", + "src": "14879:6:13", "type": "" } ], @@ -8990,16 +7897,16 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "16762:3:13", + "src": "14890:3:13", "type": "" } ], - "src": "16538:820:13" + "src": "14666:820:13" }, { "body": { "nodeType": "YulBlock", - "src": "17392:152:13", + "src": "15520:152:13", "statements": [ { "expression": { @@ -9007,14 +7914,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17409:1:13", + "src": "15537:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17412:77:13", + "src": "15540:77:13", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -9022,13 +7929,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17402:6:13" + "src": "15530:6:13" }, "nodeType": "YulFunctionCall", - "src": "17402:88:13" + "src": "15530:88:13" }, "nodeType": "YulExpressionStatement", - "src": "17402:88:13" + "src": "15530:88:13" }, { "expression": { @@ -9036,14 +7943,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17506:1:13", + "src": "15634:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17509:4:13", + "src": "15637:4:13", "type": "", "value": "0x32" } @@ -9051,13 +7958,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17499:6:13" + "src": "15627:6:13" }, "nodeType": "YulFunctionCall", - "src": "17499:15:13" + "src": "15627:15:13" }, "nodeType": "YulExpressionStatement", - "src": "17499:15:13" + "src": "15627:15:13" }, { "expression": { @@ -9065,14 +7972,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17530:1:13", + "src": "15658:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17533:4:13", + "src": "15661:4:13", "type": "", "value": "0x24" } @@ -9080,24 +7987,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "17523:6:13" + "src": "15651:6:13" }, "nodeType": "YulFunctionCall", - "src": "17523:15:13" + "src": "15651:15:13" }, "nodeType": "YulExpressionStatement", - "src": "17523:15:13" + "src": "15651:15:13" } ] }, "name": "panic_error_0x32", "nodeType": "YulFunctionDefinition", - "src": "17364:180:13" + "src": "15492:180:13" }, { "body": { "nodeType": "YulBlock", - "src": "17578:152:13", + "src": "15706:152:13", "statements": [ { "expression": { @@ -9105,14 +8012,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17595:1:13", + "src": "15723:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17598:77:13", + "src": "15726:77:13", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -9120,13 +8027,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17588:6:13" + "src": "15716:6:13" }, "nodeType": "YulFunctionCall", - "src": "17588:88:13" + "src": "15716:88:13" }, "nodeType": "YulExpressionStatement", - "src": "17588:88:13" + "src": "15716:88:13" }, { "expression": { @@ -9134,14 +8041,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17692:1:13", + "src": "15820:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17695:4:13", + "src": "15823:4:13", "type": "", "value": "0x11" } @@ -9149,13 +8056,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17685:6:13" + "src": "15813:6:13" }, "nodeType": "YulFunctionCall", - "src": "17685:15:13" + "src": "15813:15:13" }, "nodeType": "YulExpressionStatement", - "src": "17685:15:13" + "src": "15813:15:13" }, { "expression": { @@ -9163,14 +8070,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17716:1:13", + "src": "15844:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17719:4:13", + "src": "15847:4:13", "type": "", "value": "0x24" } @@ -9178,56 +8085,56 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "17709:6:13" + "src": "15837:6:13" }, "nodeType": "YulFunctionCall", - "src": "17709:15:13" + "src": "15837:15:13" }, "nodeType": "YulExpressionStatement", - "src": "17709:15:13" + "src": "15837:15:13" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "17550:180:13" + "src": "15678:180:13" }, { "body": { "nodeType": "YulBlock", - "src": "17779:190:13", + "src": "15907:190:13", "statements": [ { "nodeType": "YulAssignment", - "src": "17789:33:13", + "src": "15917:33:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "17816:5:13" + "src": "15944:5:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "17798:17:13" + "src": "15926:17:13" }, "nodeType": "YulFunctionCall", - "src": "17798:24:13" + "src": "15926:24:13" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "17789:5:13" + "src": "15917:5:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "17912:22:13", + "src": "16040:22:13", "statements": [ { "expression": { @@ -9235,13 +8142,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "17914:16:13" + "src": "16042:16:13" }, "nodeType": "YulFunctionCall", - "src": "17914:18:13" + "src": "16042:18:13" }, "nodeType": "YulExpressionStatement", - "src": "17914:18:13" + "src": "16042:18:13" } ] }, @@ -9250,12 +8157,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "17837:5:13" + "src": "15965:5:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17844:66:13", + "src": "15972:66:13", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } @@ -9263,28 +8170,28 @@ "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "17834:2:13" + "src": "15962:2:13" }, "nodeType": "YulFunctionCall", - "src": "17834:77:13" + "src": "15962:77:13" }, "nodeType": "YulIf", - "src": "17831:103:13" + "src": "15959:103:13" }, { "nodeType": "YulAssignment", - "src": "17943:20:13", + "src": "16071:20:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "17954:5:13" + "src": "16082:5:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17961:1:13", + "src": "16089:1:13", "type": "", "value": "1" } @@ -9292,16 +8199,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17950:3:13" + "src": "16078:3:13" }, "nodeType": "YulFunctionCall", - "src": "17950:13:13" + "src": "16078:13:13" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "17943:3:13" + "src": "16071:3:13" } ] } @@ -9313,7 +8220,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "17765:5:13", + "src": "15893:5:13", "type": "" } ], @@ -9321,273 +8228,16 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "17775:3:13", + "src": "15903:3:13", "type": "" } ], - "src": "17736:233:13" + "src": "15864:233:13" }, { "body": { "nodeType": "YulBlock", - "src": "18153:367:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18163:27:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18175:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18186:3:13", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18171:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "18171:19:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18163:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18244:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18257:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18268:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18253:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "18253:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "18200:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "18200:71:13" - }, - "nodeType": "YulExpressionStatement", - "src": "18200:71:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18321:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18334:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18345:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18330:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "18330:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulIdentifier", - "src": "18281:39:13" - }, - "nodeType": "YulFunctionCall", - "src": "18281:68:13" - }, - "nodeType": "YulExpressionStatement", - "src": "18281:68:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18403:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18416:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18427:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18412:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "18412:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "18359:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "18359:72:13" - }, - "nodeType": "YulExpressionStatement", - "src": "18359:72:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "18485:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18498:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18509:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18494:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "18494:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "18441:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "18441:72:13" - }, - "nodeType": "YulExpressionStatement", - "src": "18441:72:13" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18101:9:13", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "18113:6:13", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18121:6:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18129:6:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18137:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18148:4:13", - "type": "" - } - ], - "src": "17975:545:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18632:68:13", + "src": "16209:73:13", "statements": [ { "expression": { @@ -9597,12 +8247,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18654:6:13" + "src": "16231:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18662:1:13", + "src": "16239:1:13", "type": "", "value": "0" } @@ -9610,81 +8260,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18650:3:13" + "src": "16227:3:13" }, "nodeType": "YulFunctionCall", - "src": "18650:14:13" + "src": "16227:14:13" }, { - "hexValue": "696e76616c6964207369676e6174757265206c656e677468", + "hexValue": "5b42455d20696e76616c6964207369676e6174757265206c656e677468", "kind": "string", "nodeType": "YulLiteral", - "src": "18666:26:13", + "src": "16243:31:13", "type": "", - "value": "invalid signature length" + "value": "[BE] invalid signature length" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18643:6:13" + "src": "16220:6:13" }, "nodeType": "YulFunctionCall", - "src": "18643:50:13" + "src": "16220:55:13" }, "nodeType": "YulExpressionStatement", - "src": "18643:50:13" + "src": "16220:55:13" } ] }, - "name": "store_literal_in_memory_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87", + "name": "store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "18624:6:13", + "src": "16201:6:13", "type": "" } ], - "src": "18526:174:13" + "src": "16103:179:13" }, { "body": { "nodeType": "YulBlock", - "src": "18852:220:13", + "src": "16434:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "18862:74:13", + "src": "16444:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18928:3:13" + "src": "16510:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18933:2:13", + "src": "16515:2:13", "type": "", - "value": "24" + "value": "29" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18869:58:13" + "src": "16451:58:13" }, "nodeType": "YulFunctionCall", - "src": "18869:67:13" + "src": "16451:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18862:3:13" + "src": "16444:3:13" } ] }, @@ -9694,34 +8344,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19034:3:13" + "src": "16616:3:13" } ], "functionName": { - "name": "store_literal_in_memory_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87", + "name": "store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", "nodeType": "YulIdentifier", - "src": "18945:88:13" + "src": "16527:88:13" }, "nodeType": "YulFunctionCall", - "src": "18945:93:13" + "src": "16527:93:13" }, "nodeType": "YulExpressionStatement", - "src": "18945:93:13" + "src": "16527:93:13" }, { "nodeType": "YulAssignment", - "src": "19047:19:13", + "src": "16629:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19058:3:13" + "src": "16640:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19063:2:13", + "src": "16645:2:13", "type": "", "value": "32" } @@ -9729,28 +8379,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19054:3:13" + "src": "16636:3:13" }, "nodeType": "YulFunctionCall", - "src": "19054:12:13" + "src": "16636:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19047:3:13" + "src": "16629:3:13" } ] } ] }, - "name": "abi_encode_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "18840:3:13", + "src": "16422:3:13", "type": "" } ], @@ -9758,31 +8408,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18848:3:13", + "src": "16430:3:13", "type": "" } ], - "src": "18706:366:13" + "src": "16288:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "19249:248:13", + "src": "16831:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "19259:26:13", + "src": "16841:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19271:9:13" + "src": "16853:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19282:2:13", + "src": "16864:2:13", "type": "", "value": "32" } @@ -9790,16 +8440,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19267:3:13" + "src": "16849:3:13" }, "nodeType": "YulFunctionCall", - "src": "19267:18:13" + "src": "16849:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19259:4:13" + "src": "16841:4:13" } ] }, @@ -9811,12 +8461,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19306:9:13" + "src": "16888:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19317:1:13", + "src": "16899:1:13", "type": "", "value": "0" } @@ -9824,80 +8474,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19302:3:13" + "src": "16884:3:13" }, "nodeType": "YulFunctionCall", - "src": "19302:17:13" + "src": "16884:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19325:4:13" + "src": "16907:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19331:9:13" + "src": "16913:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "19321:3:13" + "src": "16903:3:13" }, "nodeType": "YulFunctionCall", - "src": "19321:20:13" + "src": "16903:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19295:6:13" + "src": "16877:6:13" }, "nodeType": "YulFunctionCall", - "src": "19295:47:13" + "src": "16877:47:13" }, "nodeType": "YulExpressionStatement", - "src": "19295:47:13" + "src": "16877:47:13" }, { "nodeType": "YulAssignment", - "src": "19351:139:13", + "src": "16933:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19485:4:13" + "src": "17067:4:13" } ], "functionName": { - "name": "abi_encode_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19359:124:13" + "src": "16941:124:13" }, "nodeType": "YulFunctionCall", - "src": "19359:131:13" + "src": "16941:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19351:4:13" + "src": "16933:4:13" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19229:9:13", + "src": "16811:9:13", "type": "" } ], @@ -9905,30 +8555,357 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19244:4:13", + "src": "16826:4:13", "type": "" } ], - "src": "19078:419:13" + "src": "16660:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "19616:34:13", + "src": "17191:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17213:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17221:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17209:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17209:14:13" + }, + { + "hexValue": "5b42455d20696e76616c69642073656c6c6572207369676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17225:31:13", + "type": "", + "value": "[BE] invalid seller signature" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17202:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "17202:55:13" + }, + "nodeType": "YulExpressionStatement", + "src": "17202:55:13" + } + ] + }, + "name": "store_literal_in_memory_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17183:6:13", + "type": "" + } + ], + "src": "17085:179:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17416:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "19626:18:13", + "src": "17426:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17492:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17497:2:13", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17433:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "17433:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17426:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17598:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a", + "nodeType": "YulIdentifier", + "src": "17509:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "17509:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "17509:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "17611:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17622:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17627:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17618:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17618:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17611:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17404:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17412:3:13", + "type": "" + } + ], + "src": "17270:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17813:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17823:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17835:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17846:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17831:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17831:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17823:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17870:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17881:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17866:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17866:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17889:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17895:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17885:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17885:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17859:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "17859:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "17859:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "17915:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18049:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17923:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "17923:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17915:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17793:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17808:4:13", + "type": "" + } + ], + "src": "17642:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18180:34:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18190:18:13", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "19641:3:13" + "src": "18205:3:13" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "19626:11:13" + "src": "18190:11:13" } ] } @@ -9940,13 +8917,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "19588:3:13", + "src": "18152:3:13", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "19593:6:13", + "src": "18157:6:13", "type": "" } ], @@ -9954,46 +8931,46 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "19604:11:13", + "src": "18168:11:13", "type": "" } ], - "src": "19503:147:13" + "src": "18067:147:13" }, { "body": { "nodeType": "YulBlock", - "src": "19796:196:13", + "src": "18360:196:13", "statements": [ { "nodeType": "YulAssignment", - "src": "19806:95:13", + "src": "18370:95:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19889:3:13" + "src": "18453:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "19894:6:13" + "src": "18458:6:13" } ], "functionName": { "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "19813:75:13" + "src": "18377:75:13" }, "nodeType": "YulFunctionCall", - "src": "19813:88:13" + "src": "18377:88:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19806:3:13" + "src": "18370:3:13" } ] }, @@ -10003,59 +8980,59 @@ { "name": "start", "nodeType": "YulIdentifier", - "src": "19935:5:13" + "src": "18499:5:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "19942:3:13" + "src": "18506:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "19947:6:13" + "src": "18511:6:13" } ], "functionName": { "name": "copy_calldata_to_memory", "nodeType": "YulIdentifier", - "src": "19911:23:13" + "src": "18475:23:13" }, "nodeType": "YulFunctionCall", - "src": "19911:43:13" + "src": "18475:43:13" }, "nodeType": "YulExpressionStatement", - "src": "19911:43:13" + "src": "18475:43:13" }, { "nodeType": "YulAssignment", - "src": "19963:23:13", + "src": "18527:23:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19974:3:13" + "src": "18538:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "19979:6:13" + "src": "18543:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19970:3:13" + "src": "18534:3:13" }, "nodeType": "YulFunctionCall", - "src": "19970:16:13" + "src": "18534:16:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19963:3:13" + "src": "18527:3:13" } ] } @@ -10067,19 +9044,19 @@ { "name": "start", "nodeType": "YulTypedName", - "src": "19769:5:13", + "src": "18333:5:13", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "19776:6:13", + "src": "18340:6:13", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "19784:3:13", + "src": "18348:3:13", "type": "" } ], @@ -10087,67 +9064,67 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "19792:3:13", + "src": "18356:3:13", "type": "" } ], - "src": "19678:314:13" + "src": "18242:314:13" }, { "body": { "nodeType": "YulBlock", - "src": "20142:147:13", + "src": "18706:147:13", "statements": [ { "nodeType": "YulAssignment", - "src": "20153:110:13", + "src": "18717:110:13", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "20242:6:13" + "src": "18806:6:13" }, { "name": "value1", "nodeType": "YulIdentifier", - "src": "20250:6:13" + "src": "18814:6:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "20259:3:13" + "src": "18823:3:13" } ], "functionName": { "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "20160:81:13" + "src": "18724:81:13" }, "nodeType": "YulFunctionCall", - "src": "20160:103:13" + "src": "18724:103:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20153:3:13" + "src": "18717:3:13" } ] }, { "nodeType": "YulAssignment", - "src": "20273:10:13", + "src": "18837:10:13", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "20280:3:13" + "src": "18844:3:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20273:3:13" + "src": "18837:3:13" } ] } @@ -10159,19 +9136,19 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "20113:3:13", + "src": "18677:3:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "20119:6:13", + "src": "18683:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "20127:6:13", + "src": "18691:6:13", "type": "" } ], @@ -10179,16 +9156,16 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "20138:3:13", + "src": "18702:3:13", "type": "" } ], - "src": "19998:291:13" + "src": "18562:291:13" }, { "body": { "nodeType": "YulBlock", - "src": "20401:141:13", + "src": "18965:141:13", "statements": [ { "expression": { @@ -10198,12 +9175,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20423:6:13" + "src": "18987:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20431:1:13", + "src": "18995:1:13", "type": "", "value": "0" } @@ -10211,16 +9188,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20419:3:13" + "src": "18983:3:13" }, "nodeType": "YulFunctionCall", - "src": "20419:14:13" + "src": "18983:14:13" }, { "hexValue": "4d61726b6574706c6163653a2074686973207369676e61747572652068617320", "kind": "string", "nodeType": "YulLiteral", - "src": "20435:34:13", + "src": "18999:34:13", "type": "", "value": "Marketplace: this signature has " } @@ -10228,13 +9205,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20412:6:13" + "src": "18976:6:13" }, "nodeType": "YulFunctionCall", - "src": "20412:58:13" + "src": "18976:58:13" }, "nodeType": "YulExpressionStatement", - "src": "20412:58:13" + "src": "18976:58:13" }, { "expression": { @@ -10244,12 +9221,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20491:6:13" + "src": "19055:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20499:2:13", + "src": "19063:2:13", "type": "", "value": "32" } @@ -10257,16 +9234,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20487:3:13" + "src": "19051:3:13" }, "nodeType": "YulFunctionCall", - "src": "20487:15:13" + "src": "19051:15:13" }, { "hexValue": "616464656420746f2069676e6f7265206c69737420616c7265616479", "kind": "string", "nodeType": "YulLiteral", - "src": "20504:30:13", + "src": "19068:30:13", "type": "", "value": "added to ignore list already" } @@ -10274,13 +9251,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20480:6:13" + "src": "19044:6:13" }, "nodeType": "YulFunctionCall", - "src": "20480:55:13" + "src": "19044:55:13" }, "nodeType": "YulExpressionStatement", - "src": "20480:55:13" + "src": "19044:55:13" } ] }, @@ -10290,31 +9267,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "20393:6:13", + "src": "18957:6:13", "type": "" } ], - "src": "20295:247:13" + "src": "18859:247:13" }, { "body": { "nodeType": "YulBlock", - "src": "20694:220:13", + "src": "19258:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "20704:74:13", + "src": "19268:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20770:3:13" + "src": "19334:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20775:2:13", + "src": "19339:2:13", "type": "", "value": "60" } @@ -10322,16 +9299,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20711:58:13" + "src": "19275:58:13" }, "nodeType": "YulFunctionCall", - "src": "20711:67:13" + "src": "19275:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20704:3:13" + "src": "19268:3:13" } ] }, @@ -10341,34 +9318,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20876:3:13" + "src": "19440:3:13" } ], "functionName": { "name": "store_literal_in_memory_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24", "nodeType": "YulIdentifier", - "src": "20787:88:13" + "src": "19351:88:13" }, "nodeType": "YulFunctionCall", - "src": "20787:93:13" + "src": "19351:93:13" }, "nodeType": "YulExpressionStatement", - "src": "20787:93:13" + "src": "19351:93:13" }, { "nodeType": "YulAssignment", - "src": "20889:19:13", + "src": "19453:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20900:3:13" + "src": "19464:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20905:2:13", + "src": "19469:2:13", "type": "", "value": "64" } @@ -10376,16 +9353,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20896:3:13" + "src": "19460:3:13" }, "nodeType": "YulFunctionCall", - "src": "20896:12:13" + "src": "19460:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20889:3:13" + "src": "19453:3:13" } ] } @@ -10397,7 +9374,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "20682:3:13", + "src": "19246:3:13", "type": "" } ], @@ -10405,31 +9382,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "20690:3:13", + "src": "19254:3:13", "type": "" } ], - "src": "20548:366:13" + "src": "19112:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "21091:248:13", + "src": "19655:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "21101:26:13", + "src": "19665:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21113:9:13" + "src": "19677:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21124:2:13", + "src": "19688:2:13", "type": "", "value": "32" } @@ -10437,16 +9414,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21109:3:13" + "src": "19673:3:13" }, "nodeType": "YulFunctionCall", - "src": "21109:18:13" + "src": "19673:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21101:4:13" + "src": "19665:4:13" } ] }, @@ -10458,12 +9435,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21148:9:13" + "src": "19712:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21159:1:13", + "src": "19723:1:13", "type": "", "value": "0" } @@ -10471,68 +9448,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21144:3:13" + "src": "19708:3:13" }, "nodeType": "YulFunctionCall", - "src": "21144:17:13" + "src": "19708:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21167:4:13" + "src": "19731:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21173:9:13" + "src": "19737:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21163:3:13" + "src": "19727:3:13" }, "nodeType": "YulFunctionCall", - "src": "21163:20:13" + "src": "19727:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21137:6:13" + "src": "19701:6:13" }, "nodeType": "YulFunctionCall", - "src": "21137:47:13" + "src": "19701:47:13" }, "nodeType": "YulExpressionStatement", - "src": "21137:47:13" + "src": "19701:47:13" }, { "nodeType": "YulAssignment", - "src": "21193:139:13", + "src": "19757:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21327:4:13" + "src": "19891:4:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21201:124:13" + "src": "19765:124:13" }, "nodeType": "YulFunctionCall", - "src": "21201:131:13" + "src": "19765:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21193:4:13" + "src": "19757:4:13" } ] } @@ -10544,7 +9521,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21071:9:13", + "src": "19635:9:13", "type": "" } ], @@ -10552,16 +9529,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21086:4:13", + "src": "19650:4:13", "type": "" } ], - "src": "20920:419:13" + "src": "19484:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "21451:74:13", + "src": "20015:116:13", "statements": [ { "expression": { @@ -10571,12 +9548,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21473:6:13" + "src": "20037:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21481:1:13", + "src": "20045:1:13", "type": "", "value": "0" } @@ -10584,343 +9561,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21469:3:13" + "src": "20033:3:13" }, "nodeType": "YulFunctionCall", - "src": "21469:14:13" - }, - { - "hexValue": "4d61726b6574706c6163653a20696e76616c6964207369676e6174757265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "21485:32:13", - "type": "", - "value": "Marketplace: invalid signature" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21462:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "21462:56:13" - }, - "nodeType": "YulExpressionStatement", - "src": "21462:56:13" - } - ] - }, - "name": "store_literal_in_memory_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "21443:6:13", - "type": "" - } - ], - "src": "21345:180:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21677:220:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21687:74:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21753:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21758:2:13", - "type": "", - "value": "30" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21694:58:13" - }, - "nodeType": "YulFunctionCall", - "src": "21694:67:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21687:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21859:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820", - "nodeType": "YulIdentifier", - "src": "21770:88:13" - }, - "nodeType": "YulFunctionCall", - "src": "21770:93:13" - }, - "nodeType": "YulExpressionStatement", - "src": "21770:93:13" - }, - { - "nodeType": "YulAssignment", - "src": "21872:19:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21883:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21888:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21879:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "21879:12:13" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21872:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "21665:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "21673:3:13", - "type": "" - } - ], - "src": "21531:366:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22074:248:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22084:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22096:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22107:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22092:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "22092:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22084:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22131:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22142:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22127:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "22127:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22150:4:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22156:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "22146:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "22146:20:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22120:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22120:47:13" - }, - "nodeType": "YulExpressionStatement", - "src": "22120:47:13" - }, - { - "nodeType": "YulAssignment", - "src": "22176:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22310:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "22184:124:13" - }, - "nodeType": "YulFunctionCall", - "src": "22184:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22176:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22054:9:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22069:4:13", - "type": "" - } - ], - "src": "21903:419:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22434:116:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "22456:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22464:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22452:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "22452:14:13" + "src": "20033:14:13" }, { "hexValue": "4d61726b6574706c6163653a20696e76616c6964207061796d656e74206d6574", "kind": "string", "nodeType": "YulLiteral", - "src": "22468:34:13", + "src": "20049:34:13", "type": "", "value": "Marketplace: invalid payment met" } @@ -10928,13 +9578,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22445:6:13" + "src": "20026:6:13" }, "nodeType": "YulFunctionCall", - "src": "22445:58:13" + "src": "20026:58:13" }, "nodeType": "YulExpressionStatement", - "src": "22445:58:13" + "src": "20026:58:13" }, { "expression": { @@ -10944,12 +9594,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "22524:6:13" + "src": "20105:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22532:2:13", + "src": "20113:2:13", "type": "", "value": "32" } @@ -10957,16 +9607,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22520:3:13" + "src": "20101:3:13" }, "nodeType": "YulFunctionCall", - "src": "22520:15:13" + "src": "20101:15:13" }, { "hexValue": "686f64", "kind": "string", "nodeType": "YulLiteral", - "src": "22537:5:13", + "src": "20118:5:13", "type": "", "value": "hod" } @@ -10974,13 +9624,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22513:6:13" + "src": "20094:6:13" }, "nodeType": "YulFunctionCall", - "src": "22513:30:13" + "src": "20094:30:13" }, "nodeType": "YulExpressionStatement", - "src": "22513:30:13" + "src": "20094:30:13" } ] }, @@ -10990,31 +9640,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "22426:6:13", + "src": "20007:6:13", "type": "" } ], - "src": "22328:222:13" + "src": "19909:222:13" }, { "body": { "nodeType": "YulBlock", - "src": "22702:220:13", + "src": "20283:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "22712:74:13", + "src": "20293:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22778:3:13" + "src": "20359:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22783:2:13", + "src": "20364:2:13", "type": "", "value": "35" } @@ -11022,16 +9672,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22719:58:13" + "src": "20300:58:13" }, "nodeType": "YulFunctionCall", - "src": "22719:67:13" + "src": "20300:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22712:3:13" + "src": "20293:3:13" } ] }, @@ -11041,34 +9691,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22884:3:13" + "src": "20465:3:13" } ], "functionName": { "name": "store_literal_in_memory_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b", "nodeType": "YulIdentifier", - "src": "22795:88:13" + "src": "20376:88:13" }, "nodeType": "YulFunctionCall", - "src": "22795:93:13" + "src": "20376:93:13" }, "nodeType": "YulExpressionStatement", - "src": "22795:93:13" + "src": "20376:93:13" }, { "nodeType": "YulAssignment", - "src": "22897:19:13", + "src": "20478:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22908:3:13" + "src": "20489:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22913:2:13", + "src": "20494:2:13", "type": "", "value": "64" } @@ -11076,16 +9726,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22904:3:13" + "src": "20485:3:13" }, "nodeType": "YulFunctionCall", - "src": "22904:12:13" + "src": "20485:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "22897:3:13" + "src": "20478:3:13" } ] } @@ -11097,7 +9747,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "22690:3:13", + "src": "20271:3:13", "type": "" } ], @@ -11105,31 +9755,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "22698:3:13", + "src": "20279:3:13", "type": "" } ], - "src": "22556:366:13" + "src": "20137:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "23099:248:13", + "src": "20680:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "23109:26:13", + "src": "20690:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23121:9:13" + "src": "20702:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23132:2:13", + "src": "20713:2:13", "type": "", "value": "32" } @@ -11137,16 +9787,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23117:3:13" + "src": "20698:3:13" }, "nodeType": "YulFunctionCall", - "src": "23117:18:13" + "src": "20698:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23109:4:13" + "src": "20690:4:13" } ] }, @@ -11158,12 +9808,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23156:9:13" + "src": "20737:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23167:1:13", + "src": "20748:1:13", "type": "", "value": "0" } @@ -11171,68 +9821,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23152:3:13" + "src": "20733:3:13" }, "nodeType": "YulFunctionCall", - "src": "23152:17:13" + "src": "20733:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23175:4:13" + "src": "20756:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23181:9:13" + "src": "20762:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "23171:3:13" + "src": "20752:3:13" }, "nodeType": "YulFunctionCall", - "src": "23171:20:13" + "src": "20752:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23145:6:13" + "src": "20726:6:13" }, "nodeType": "YulFunctionCall", - "src": "23145:47:13" + "src": "20726:47:13" }, "nodeType": "YulExpressionStatement", - "src": "23145:47:13" + "src": "20726:47:13" }, { "nodeType": "YulAssignment", - "src": "23201:139:13", + "src": "20782:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23335:4:13" + "src": "20916:4:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23209:124:13" + "src": "20790:124:13" }, "nodeType": "YulFunctionCall", - "src": "23209:131:13" + "src": "20790:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23201:4:13" + "src": "20782:4:13" } ] } @@ -11244,7 +9894,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "23079:9:13", + "src": "20660:9:13", "type": "" } ], @@ -11252,16 +9902,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "23094:4:13", + "src": "20675:4:13", "type": "" } ], - "src": "22928:419:13" + "src": "20509:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "23459:197:13", + "src": "21040:197:13", "statements": [ { "expression": { @@ -11271,12 +9921,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23481:6:13" + "src": "21062:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23489:1:13", + "src": "21070:1:13", "type": "", "value": "0" } @@ -11284,16 +9934,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23477:3:13" + "src": "21058:3:13" }, "nodeType": "YulFunctionCall", - "src": "23477:14:13" + "src": "21058:14:13" }, { "hexValue": "4d61726b6574706c6163653a207369676e617475726520757365642e20706c65", "kind": "string", "nodeType": "YulLiteral", - "src": "23493:34:13", + "src": "21074:34:13", "type": "", "value": "Marketplace: signature used. ple" } @@ -11301,13 +9951,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23470:6:13" + "src": "21051:6:13" }, "nodeType": "YulFunctionCall", - "src": "23470:58:13" + "src": "21051:58:13" }, "nodeType": "YulExpressionStatement", - "src": "23470:58:13" + "src": "21051:58:13" }, { "expression": { @@ -11317,12 +9967,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23549:6:13" + "src": "21130:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23557:2:13", + "src": "21138:2:13", "type": "", "value": "32" } @@ -11330,16 +9980,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23545:3:13" + "src": "21126:3:13" }, "nodeType": "YulFunctionCall", - "src": "23545:15:13" + "src": "21126:15:13" }, { "hexValue": "6173652073656e6420616e6f74686572207472616e73616374696f6e20776974", "kind": "string", "nodeType": "YulLiteral", - "src": "23562:34:13", + "src": "21143:34:13", "type": "", "value": "ase send another transaction wit" } @@ -11347,13 +9997,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23538:6:13" + "src": "21119:6:13" }, "nodeType": "YulFunctionCall", - "src": "23538:59:13" + "src": "21119:59:13" }, "nodeType": "YulExpressionStatement", - "src": "23538:59:13" + "src": "21119:59:13" }, { "expression": { @@ -11363,12 +10013,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23618:6:13" + "src": "21199:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23626:2:13", + "src": "21207:2:13", "type": "", "value": "64" } @@ -11376,16 +10026,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23614:3:13" + "src": "21195:3:13" }, "nodeType": "YulFunctionCall", - "src": "23614:15:13" + "src": "21195:15:13" }, { "hexValue": "68206e6577207369676e6174757265", "kind": "string", "nodeType": "YulLiteral", - "src": "23631:17:13", + "src": "21212:17:13", "type": "", "value": "h new signature" } @@ -11393,13 +10043,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23607:6:13" + "src": "21188:6:13" }, "nodeType": "YulFunctionCall", - "src": "23607:42:13" + "src": "21188:42:13" }, "nodeType": "YulExpressionStatement", - "src": "23607:42:13" + "src": "21188:42:13" } ] }, @@ -11409,31 +10059,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "23451:6:13", + "src": "21032:6:13", "type": "" } ], - "src": "23353:303:13" + "src": "20934:303:13" }, { "body": { "nodeType": "YulBlock", - "src": "23808:220:13", + "src": "21389:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "23818:74:13", + "src": "21399:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23884:3:13" + "src": "21465:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23889:2:13", + "src": "21470:2:13", "type": "", "value": "79" } @@ -11441,16 +10091,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23825:58:13" + "src": "21406:58:13" }, "nodeType": "YulFunctionCall", - "src": "23825:67:13" + "src": "21406:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23818:3:13" + "src": "21399:3:13" } ] }, @@ -11460,34 +10110,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23990:3:13" + "src": "21571:3:13" } ], "functionName": { "name": "store_literal_in_memory_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e", "nodeType": "YulIdentifier", - "src": "23901:88:13" + "src": "21482:88:13" }, "nodeType": "YulFunctionCall", - "src": "23901:93:13" + "src": "21482:93:13" }, "nodeType": "YulExpressionStatement", - "src": "23901:93:13" + "src": "21482:93:13" }, { "nodeType": "YulAssignment", - "src": "24003:19:13", + "src": "21584:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24014:3:13" + "src": "21595:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24019:2:13", + "src": "21600:2:13", "type": "", "value": "96" } @@ -11495,16 +10145,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24010:3:13" + "src": "21591:3:13" }, "nodeType": "YulFunctionCall", - "src": "24010:12:13" + "src": "21591:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "24003:3:13" + "src": "21584:3:13" } ] } @@ -11516,7 +10166,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "23796:3:13", + "src": "21377:3:13", "type": "" } ], @@ -11524,31 +10174,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "23804:3:13", + "src": "21385:3:13", "type": "" } ], - "src": "23662:366:13" + "src": "21243:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "24205:248:13", + "src": "21786:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "24215:26:13", + "src": "21796:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24227:9:13" + "src": "21808:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24238:2:13", + "src": "21819:2:13", "type": "", "value": "32" } @@ -11556,16 +10206,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24223:3:13" + "src": "21804:3:13" }, "nodeType": "YulFunctionCall", - "src": "24223:18:13" + "src": "21804:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24215:4:13" + "src": "21796:4:13" } ] }, @@ -11577,12 +10227,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24262:9:13" + "src": "21843:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24273:1:13", + "src": "21854:1:13", "type": "", "value": "0" } @@ -11590,68 +10240,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24258:3:13" + "src": "21839:3:13" }, "nodeType": "YulFunctionCall", - "src": "24258:17:13" + "src": "21839:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24281:4:13" + "src": "21862:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24287:9:13" + "src": "21868:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "24277:3:13" + "src": "21858:3:13" }, "nodeType": "YulFunctionCall", - "src": "24277:20:13" + "src": "21858:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24251:6:13" + "src": "21832:6:13" }, "nodeType": "YulFunctionCall", - "src": "24251:47:13" + "src": "21832:47:13" }, "nodeType": "YulExpressionStatement", - "src": "24251:47:13" + "src": "21832:47:13" }, { "nodeType": "YulAssignment", - "src": "24307:139:13", + "src": "21888:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24441:4:13" + "src": "22022:4:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24315:124:13" + "src": "21896:124:13" }, "nodeType": "YulFunctionCall", - "src": "24315:131:13" + "src": "21896:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24307:4:13" + "src": "21888:4:13" } ] } @@ -11663,7 +10313,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "24185:9:13", + "src": "21766:9:13", "type": "" } ], @@ -11671,414 +10321,41 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "24200:4:13", + "src": "21781:4:13", "type": "" } ], - "src": "24034:419:13" + "src": "21615:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "24565:118:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "24587:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24595:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24583:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "24583:14:13" - }, - { - "hexValue": "4d61726b6574706c6163653a20696e76616c69642073656c6c6572207369676e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "24599:34:13", - "type": "", - "value": "Marketplace: invalid seller sign" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24576:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "24576:58:13" - }, - "nodeType": "YulExpressionStatement", - "src": "24576:58:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "24655:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24663:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24651:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "24651:15:13" - }, - { - "hexValue": "6174757265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "24668:7:13", - "type": "", - "value": "ature" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24644:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "24644:32:13" - }, - "nodeType": "YulExpressionStatement", - "src": "24644:32:13" - } - ] - }, - "name": "store_literal_in_memory_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "24557:6:13", - "type": "" - } - ], - "src": "24459:224:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24835:220:13", + "src": "22103:80:13", "statements": [ { "nodeType": "YulAssignment", - "src": "24845:74:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24911:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24916:2:13", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "24852:58:13" - }, - "nodeType": "YulFunctionCall", - "src": "24852:67:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24845:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25017:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba", - "nodeType": "YulIdentifier", - "src": "24928:88:13" - }, - "nodeType": "YulFunctionCall", - "src": "24928:93:13" - }, - "nodeType": "YulExpressionStatement", - "src": "24928:93:13" - }, - { - "nodeType": "YulAssignment", - "src": "25030:19:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25041:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25046:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25037:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "25037:12:13" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "25030:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "24823:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "24831:3:13", - "type": "" - } - ], - "src": "24689:366:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25232:248:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "25242:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25254:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25265:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25250:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "25250:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25242:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25289:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25300:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25285:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "25285:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25308:4:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25314:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "25304:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "25304:20:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25278:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "25278:47:13" - }, - "nodeType": "YulExpressionStatement", - "src": "25278:47:13" - }, - { - "nodeType": "YulAssignment", - "src": "25334:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25468:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "25342:124:13" - }, - "nodeType": "YulFunctionCall", - "src": "25342:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25334:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "25212:9:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "25227:4:13", - "type": "" - } - ], - "src": "25061:419:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25549:80:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "25559:22:13", + "src": "22113:22:13", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "25574:6:13" + "src": "22128:6:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "25568:5:13" + "src": "22122:5:13" }, "nodeType": "YulFunctionCall", - "src": "25568:13:13" + "src": "22122:13:13" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "25559:5:13" + "src": "22113:5:13" } ] }, @@ -12088,19 +10365,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "25617:5:13" + "src": "22171:5:13" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "25590:26:13" + "src": "22144:26:13" }, "nodeType": "YulFunctionCall", - "src": "25590:33:13" + "src": "22144:33:13" }, "nodeType": "YulExpressionStatement", - "src": "25590:33:13" + "src": "22144:33:13" } ] }, @@ -12110,13 +10387,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "25527:6:13", + "src": "22081:6:13", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "25535:3:13", + "src": "22089:3:13", "type": "" } ], @@ -12124,21 +10401,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "25543:5:13", + "src": "22097:5:13", "type": "" } ], - "src": "25486:143:13" + "src": "22040:143:13" }, { "body": { "nodeType": "YulBlock", - "src": "25712:274:13", + "src": "22266:274:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "25758:83:13", + "src": "22312:83:13", "statements": [ { "expression": { @@ -12146,13 +10423,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "25760:77:13" + "src": "22314:77:13" }, "nodeType": "YulFunctionCall", - "src": "25760:79:13" + "src": "22314:79:13" }, "nodeType": "YulExpressionStatement", - "src": "25760:79:13" + "src": "22314:79:13" } ] }, @@ -12163,26 +10440,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "25733:7:13" + "src": "22287:7:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25742:9:13" + "src": "22296:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25729:3:13" + "src": "22283:3:13" }, "nodeType": "YulFunctionCall", - "src": "25729:23:13" + "src": "22283:23:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25754:2:13", + "src": "22308:2:13", "type": "", "value": "32" } @@ -12190,25 +10467,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "25725:3:13" + "src": "22279:3:13" }, "nodeType": "YulFunctionCall", - "src": "25725:32:13" + "src": "22279:32:13" }, "nodeType": "YulIf", - "src": "25722:119:13" + "src": "22276:119:13" }, { "nodeType": "YulBlock", - "src": "25851:128:13", + "src": "22405:128:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "25866:15:13", + "src": "22420:15:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "25880:1:13", + "src": "22434:1:13", "type": "", "value": "0" }, @@ -12216,14 +10493,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "25870:6:13", + "src": "22424:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "25895:74:13", + "src": "22449:74:13", "value": { "arguments": [ { @@ -12231,41 +10508,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25941:9:13" + "src": "22495:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "25952:6:13" + "src": "22506:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25937:3:13" + "src": "22491:3:13" }, "nodeType": "YulFunctionCall", - "src": "25937:22:13" + "src": "22491:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "25961:7:13" + "src": "22515:7:13" } ], "functionName": { "name": "abi_decode_t_address_fromMemory", "nodeType": "YulIdentifier", - "src": "25905:31:13" + "src": "22459:31:13" }, "nodeType": "YulFunctionCall", - "src": "25905:64:13" + "src": "22459:64:13" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "25895:6:13" + "src": "22449:6:13" } ] } @@ -12279,13 +10556,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "25682:9:13", + "src": "22236:9:13", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "25693:7:13", + "src": "22247:7:13", "type": "" } ], @@ -12293,16 +10570,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "25705:6:13", + "src": "22259:6:13", "type": "" } ], - "src": "25635:351:13" + "src": "22189:351:13" }, { "body": { "nodeType": "YulBlock", - "src": "26098:130:13", + "src": "22652:130:13", "statements": [ { "expression": { @@ -12312,12 +10589,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26120:6:13" + "src": "22674:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26128:1:13", + "src": "22682:1:13", "type": "", "value": "0" } @@ -12325,16 +10602,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26116:3:13" + "src": "22670:3:13" }, "nodeType": "YulFunctionCall", - "src": "26116:14:13" + "src": "22670:14:13" }, { "hexValue": "4d61726b6574706c6163653a2073656c6c6572206973206e6f74206f776e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "26132:34:13", + "src": "22686:34:13", "type": "", "value": "Marketplace: seller is not owner" } @@ -12342,13 +10619,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26109:6:13" + "src": "22663:6:13" }, "nodeType": "YulFunctionCall", - "src": "26109:58:13" + "src": "22663:58:13" }, "nodeType": "YulExpressionStatement", - "src": "26109:58:13" + "src": "22663:58:13" }, { "expression": { @@ -12358,12 +10635,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26188:6:13" + "src": "22742:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26196:2:13", + "src": "22750:2:13", "type": "", "value": "32" } @@ -12371,16 +10648,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26184:3:13" + "src": "22738:3:13" }, "nodeType": "YulFunctionCall", - "src": "26184:15:13" + "src": "22738:15:13" }, { "hexValue": "206f662074686973206974656d206e6f77", "kind": "string", "nodeType": "YulLiteral", - "src": "26201:19:13", + "src": "22755:19:13", "type": "", "value": " of this item now" } @@ -12388,13 +10665,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26177:6:13" + "src": "22731:6:13" }, "nodeType": "YulFunctionCall", - "src": "26177:44:13" + "src": "22731:44:13" }, "nodeType": "YulExpressionStatement", - "src": "26177:44:13" + "src": "22731:44:13" } ] }, @@ -12404,31 +10681,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "26090:6:13", + "src": "22644:6:13", "type": "" } ], - "src": "25992:236:13" + "src": "22546:236:13" }, { "body": { "nodeType": "YulBlock", - "src": "26380:220:13", + "src": "22934:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "26390:74:13", + "src": "22944:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26456:3:13" + "src": "23010:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26461:2:13", + "src": "23015:2:13", "type": "", "value": "49" } @@ -12436,16 +10713,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26397:58:13" + "src": "22951:58:13" }, "nodeType": "YulFunctionCall", - "src": "26397:67:13" + "src": "22951:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26390:3:13" + "src": "22944:3:13" } ] }, @@ -12455,34 +10732,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26562:3:13" + "src": "23116:3:13" } ], "functionName": { "name": "store_literal_in_memory_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa", "nodeType": "YulIdentifier", - "src": "26473:88:13" + "src": "23027:88:13" }, "nodeType": "YulFunctionCall", - "src": "26473:93:13" + "src": "23027:93:13" }, "nodeType": "YulExpressionStatement", - "src": "26473:93:13" + "src": "23027:93:13" }, { "nodeType": "YulAssignment", - "src": "26575:19:13", + "src": "23129:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26586:3:13" + "src": "23140:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26591:2:13", + "src": "23145:2:13", "type": "", "value": "64" } @@ -12490,16 +10767,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26582:3:13" + "src": "23136:3:13" }, "nodeType": "YulFunctionCall", - "src": "26582:12:13" + "src": "23136:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "26575:3:13" + "src": "23129:3:13" } ] } @@ -12511,7 +10788,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "26368:3:13", + "src": "22922:3:13", "type": "" } ], @@ -12519,31 +10796,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "26376:3:13", + "src": "22930:3:13", "type": "" } ], - "src": "26234:366:13" + "src": "22788:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "26777:248:13", + "src": "23331:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "26787:26:13", + "src": "23341:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26799:9:13" + "src": "23353:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26810:2:13", + "src": "23364:2:13", "type": "", "value": "32" } @@ -12551,22 +10828,1374 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26795:3:13" + "src": "23349:3:13" }, "nodeType": "YulFunctionCall", - "src": "26795:18:13" + "src": "23349:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26787:4:13" + "src": "23341:4:13" } ] }, { "expression": { "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23388:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23399:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23384:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23384:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23407:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23413:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23403:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23403:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23377:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "23377:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "23377:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "23433:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23567:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23441:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "23441:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23433:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23311:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23326:4:13", + "type": "" + } + ], + "src": "23160:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23648:80:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23658:22:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "23673:6:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "23667:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "23667:13:13" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23658:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23716:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "23689:26:13" + }, + "nodeType": "YulFunctionCall", + "src": "23689:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "23689:33:13" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "23626:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23634:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23642:5:13", + "type": "" + } + ], + "src": "23585:143:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23811:274:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "23857:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "23859:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "23859:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "23859:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "23832:7:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23841:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23828:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23828:23:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23853:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "23824:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23824:32:13" + }, + "nodeType": "YulIf", + "src": "23821:119:13" + }, + { + "nodeType": "YulBlock", + "src": "23950:128:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "23965:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23979:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "23969:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "23994:74:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24040:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24051:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24036:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24036:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24060:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "24004:31:13" + }, + "nodeType": "YulFunctionCall", + "src": "24004:64:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23994:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23781:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "23792:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23804:6:13", + "type": "" + } + ], + "src": "23734:351:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24197:142:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24219:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24227:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24215:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24215:14:13" + }, + { + "hexValue": "4d61726b6574706c6163653a20627579657220646f65736e2774206861766520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24231:34:13", + "type": "", + "value": "Marketplace: buyer doesn't have " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24208:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "24208:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "24208:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24287:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24295:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24283:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24283:15:13" + }, + { + "hexValue": "656e6f75676820746f6b656e20746f206275792074686973206974656d", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24300:31:13", + "type": "", + "value": "enough token to buy this item" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24276:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "24276:56:13" + }, + "nodeType": "YulExpressionStatement", + "src": "24276:56:13" + } + ] + }, + "name": "store_literal_in_memory_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24189:6:13", + "type": "" + } + ], + "src": "24091:248:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24491:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24501:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24567:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24572:2:13", + "type": "", + "value": "61" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24508:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "24508:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24501:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24673:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421", + "nodeType": "YulIdentifier", + "src": "24584:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "24584:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "24584:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "24686:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24697:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24702:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24693:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24693:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24686:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24479:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24487:3:13", + "type": "" + } + ], + "src": "24345:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24888:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24898:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24910:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24921:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24906:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24906:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24898:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24945:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24956:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24941:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24941:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24964:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24970:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24960:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24960:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24934:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "24934:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "24934:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "24990:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25124:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24998:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "24998:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24990:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24868:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24883:4:13", + "type": "" + } + ], + "src": "24717:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25268:206:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25278:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25290:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25301:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25286:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25286:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25278:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "25358:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25371:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25382:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25367:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25367:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "25314:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "25314:71:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25314:71:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "25439:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25452:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25463:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25448:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25448:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "25395:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "25395:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25395:72:13" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25232:9:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "25244:6:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "25252:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25263:4:13", + "type": "" + } + ], + "src": "25142:332:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25586:188:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25608:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25616:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25604:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25604:14:13" + }, + { + "hexValue": "4d61726b6574706c6163653a20627579657220646f65736e277420617070726f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25620:34:13", + "type": "", + "value": "Marketplace: buyer doesn't appro" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25597:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "25597:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25597:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25676:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25684:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25672:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25672:15:13" + }, + { + "hexValue": "7665206d61726b6574706c61636520746f207370656e64207061796d656e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25689:34:13", + "type": "", + "value": "ve marketplace to spend payment " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25665:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "25665:59:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25665:59:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25745:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25753:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25741:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25741:15:13" + }, + { + "hexValue": "616d6f756e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25758:8:13", + "type": "", + "value": "amount" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25734:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "25734:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25734:33:13" + } + ] + }, + "name": "store_literal_in_memory_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25578:6:13", + "type": "" + } + ], + "src": "25480:294:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25926:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25936:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26002:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26007:2:13", + "type": "", + "value": "70" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25943:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "25943:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25936:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26108:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5", + "nodeType": "YulIdentifier", + "src": "26019:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "26019:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "26019:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "26121:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26132:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26137:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26128:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26128:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26121:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25914:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25922:3:13", + "type": "" + } + ], + "src": "25780:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26323:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26333:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26345:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26356:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26341:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26341:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26333:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26380:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26391:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26376:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26376:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26399:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26405:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26395:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26395:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26369:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "26369:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "26369:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "26425:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26559:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26433:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "26433:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26425:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26303:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26318:4:13", + "type": "" + } + ], + "src": "26152:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26731:288:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26741:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26753:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26764:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26749:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26749:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26741:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "26821:6:13" + }, { "arguments": [ { @@ -12589,792 +12218,18 @@ }, "nodeType": "YulFunctionCall", "src": "26830:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26853:4:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26859:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "26849:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "26849:20:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26823:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "26823:47:13" - }, - "nodeType": "YulExpressionStatement", - "src": "26823:47:13" - }, - { - "nodeType": "YulAssignment", - "src": "26879:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27013:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "26887:124:13" - }, - "nodeType": "YulFunctionCall", - "src": "26887:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26879:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "26757:9:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "26772:4:13", - "type": "" - } - ], - "src": "26606:419:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27094:80:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27104:22:13", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "27119:6:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "27113:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "27113:13:13" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27104:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27162:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_uint256", - "nodeType": "YulIdentifier", - "src": "27135:26:13" - }, - "nodeType": "YulFunctionCall", - "src": "27135:33:13" - }, - "nodeType": "YulExpressionStatement", - "src": "27135:33:13" - } - ] - }, - "name": "abi_decode_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "27072:6:13", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "27080:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27088:5:13", - "type": "" - } - ], - "src": "27031:143:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27257:274:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "27303:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "27305:77:13" - }, - "nodeType": "YulFunctionCall", - "src": "27305:79:13" - }, - "nodeType": "YulExpressionStatement", - "src": "27305:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "27278:7:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27287:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "27274:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "27274:23:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27299:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "27270:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "27270:32:13" - }, - "nodeType": "YulIf", - "src": "27267:119:13" - }, - { - "nodeType": "YulBlock", - "src": "27396:128:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "27411:15:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27425:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "27415:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "27440:74:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27486:9:13" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "27497:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27482:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "27482:22:13" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "27506:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_uint256_fromMemory", - "nodeType": "YulIdentifier", - "src": "27450:31:13" - }, - "nodeType": "YulFunctionCall", - "src": "27450:64:13" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "27440:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "27227:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "27238:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "27250:6:13", - "type": "" - } - ], - "src": "27180:351:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27643:142:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "27665:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27673:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27661:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "27661:14:13" - }, - { - "hexValue": "4d61726b6574706c6163653a20627579657220646f65736e2774206861766520", - "kind": "string", - "nodeType": "YulLiteral", - "src": "27677:34:13", - "type": "", - "value": "Marketplace: buyer doesn't have " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27654:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "27654:58:13" - }, - "nodeType": "YulExpressionStatement", - "src": "27654:58:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "27733:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27741:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27729:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "27729:15:13" - }, - { - "hexValue": "656e6f75676820746f6b656e20746f206275792074686973206974656d", - "kind": "string", - "nodeType": "YulLiteral", - "src": "27746:31:13", - "type": "", - "value": "enough token to buy this item" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27722:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "27722:56:13" - }, - "nodeType": "YulExpressionStatement", - "src": "27722:56:13" - } - ] - }, - "name": "store_literal_in_memory_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "27635:6:13", - "type": "" - } - ], - "src": "27537:248:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27937:220:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27947:74:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28013:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28018:2:13", - "type": "", - "value": "61" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "27954:58:13" - }, - "nodeType": "YulFunctionCall", - "src": "27954:67:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27947:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28119:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421", - "nodeType": "YulIdentifier", - "src": "28030:88:13" - }, - "nodeType": "YulFunctionCall", - "src": "28030:93:13" - }, - "nodeType": "YulExpressionStatement", - "src": "28030:93:13" - }, - { - "nodeType": "YulAssignment", - "src": "28132:19:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28143:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28148:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28139:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "28139:12:13" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "28132:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "27925:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "27933:3:13", - "type": "" - } - ], - "src": "27791:366:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28334:248:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28344:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28356:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28367:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28352:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "28352:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28344:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28391:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28402:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28387:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "28387:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28410:4:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28416:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "28406:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "28406:20:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28380:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "28380:47:13" - }, - "nodeType": "YulExpressionStatement", - "src": "28380:47:13" - }, - { - "nodeType": "YulAssignment", - "src": "28436:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28570:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "28444:124:13" - }, - "nodeType": "YulFunctionCall", - "src": "28444:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28436:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "28314:9:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "28329:4:13", - "type": "" - } - ], - "src": "28163:419:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28714:206:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28724:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28736:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28747:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28732:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "28732:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28724:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "28804:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28817:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28828:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28813:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "28813:17:13" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "28760:43:13" + "src": "26777:43:13" }, "nodeType": "YulFunctionCall", - "src": "28760:71:13" + "src": "26777:71:13" }, "nodeType": "YulExpressionStatement", - "src": "28760:71:13" + "src": "26777:71:13" }, { "expression": { @@ -13382,19 +12237,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "28885:6:13" + "src": "26902:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28898:9:13" + "src": "26915:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28909:2:13", + "src": "26926:2:13", "type": "", "value": "32" } @@ -13402,600 +12257,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28894:3:13" + "src": "26911:3:13" }, "nodeType": "YulFunctionCall", - "src": "28894:18:13" + "src": "26911:18:13" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "28841:43:13" + "src": "26858:43:13" }, "nodeType": "YulFunctionCall", - "src": "28841:72:13" + "src": "26858:72:13" }, "nodeType": "YulExpressionStatement", - "src": "28841:72:13" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "28678:9:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "28690:6:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "28698:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "28709:4:13", - "type": "" - } - ], - "src": "28588:332:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29032:188:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "29054:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29062:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29050:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "29050:14:13" - }, - { - "hexValue": "4d61726b6574706c6163653a20627579657220646f65736e277420617070726f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "29066:34:13", - "type": "", - "value": "Marketplace: buyer doesn't appro" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29043:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "29043:58:13" - }, - "nodeType": "YulExpressionStatement", - "src": "29043:58:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "29122:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29130:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29118:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "29118:15:13" - }, - { - "hexValue": "7665206d61726b6574706c61636520746f207370656e64207061796d656e7420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "29135:34:13", - "type": "", - "value": "ve marketplace to spend payment " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29111:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "29111:59:13" - }, - "nodeType": "YulExpressionStatement", - "src": "29111:59:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "29191:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29199:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29187:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "29187:15:13" - }, - { - "hexValue": "616d6f756e74", - "kind": "string", - "nodeType": "YulLiteral", - "src": "29204:8:13", - "type": "", - "value": "amount" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29180:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "29180:33:13" - }, - "nodeType": "YulExpressionStatement", - "src": "29180:33:13" - } - ] - }, - "name": "store_literal_in_memory_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "29024:6:13", - "type": "" - } - ], - "src": "28926:294:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29372:220:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29382:74:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29448:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29453:2:13", - "type": "", - "value": "70" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "29389:58:13" - }, - "nodeType": "YulFunctionCall", - "src": "29389:67:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29382:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29554:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5", - "nodeType": "YulIdentifier", - "src": "29465:88:13" - }, - "nodeType": "YulFunctionCall", - "src": "29465:93:13" - }, - "nodeType": "YulExpressionStatement", - "src": "29465:93:13" - }, - { - "nodeType": "YulAssignment", - "src": "29567:19:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29578:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29583:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29574:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "29574:12:13" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "29567:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "29360:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "29368:3:13", - "type": "" - } - ], - "src": "29226:366:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29769:248:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29779:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29791:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29802:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29787:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "29787:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "29779:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29826:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29837:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29822:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "29822:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "29845:4:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29851:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "29841:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "29841:20:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29815:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "29815:47:13" - }, - "nodeType": "YulExpressionStatement", - "src": "29815:47:13" - }, - { - "nodeType": "YulAssignment", - "src": "29871:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30005:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "29879:124:13" - }, - "nodeType": "YulFunctionCall", - "src": "29879:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "29871:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "29749:9:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "29764:4:13", - "type": "" - } - ], - "src": "29598:419:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30177:288:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "30187:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30199:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30210:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30195:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "30195:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30187:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "30267:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30280:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30291:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30276:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "30276:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "30223:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "30223:71:13" - }, - "nodeType": "YulExpressionStatement", - "src": "30223:71:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "30348:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30361:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30372:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30357:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "30357:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "30304:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "30304:72:13" - }, - "nodeType": "YulExpressionStatement", - "src": "30304:72:13" + "src": "26858:72:13" }, { "expression": { @@ -14003,19 +12280,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "30430:6:13" + "src": "26984:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30443:9:13" + "src": "26997:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30454:2:13", + "src": "27008:2:13", "type": "", "value": "64" } @@ -14023,22 +12300,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30439:3:13" + "src": "26993:3:13" }, "nodeType": "YulFunctionCall", - "src": "30439:18:13" + "src": "26993:18:13" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "30386:43:13" + "src": "26940:43:13" }, "nodeType": "YulFunctionCall", - "src": "30386:72:13" + "src": "26940:72:13" }, "nodeType": "YulExpressionStatement", - "src": "30386:72:13" + "src": "26940:72:13" } ] }, @@ -14048,25 +12325,25 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "30133:9:13", + "src": "26687:9:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "30145:6:13", + "src": "26699:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "30153:6:13", + "src": "26707:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "30161:6:13", + "src": "26715:6:13", "type": "" } ], @@ -14074,772 +12351,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "30172:4:13", + "src": "26726:4:13", "type": "" } ], - "src": "30023:442:13" + "src": "26577:442:13" }, { "body": { "nodeType": "YulBlock", - "src": "30529:40:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "30540:22:13", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "30556:5:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "30550:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "30550:12:13" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "30540:6:13" - } - ] - } - ] - }, - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "30512:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "30522:6:13", - "type": "" - } - ], - "src": "30471:98:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30624:258:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "30634:10:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30643:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "30638:1:13", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30703:63:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "30728:3:13" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "30733:1:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30724:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "30724:11:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "30747:3:13" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "30752:1:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30743:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "30743:11:13" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "30737:5:13" - }, - "nodeType": "YulFunctionCall", - "src": "30737:18:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30717:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "30717:39:13" - }, - "nodeType": "YulExpressionStatement", - "src": "30717:39:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "30664:1:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "30667:6:13" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "30661:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "30661:13:13" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "30675:19:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "30677:15:13", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "30686:1:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30689:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30682:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "30682:10:13" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "30677:1:13" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "30657:3:13", - "statements": [] - }, - "src": "30653:113:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30800:76:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "30850:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "30855:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30846:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "30846:16:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30864:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30839:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "30839:27:13" - }, - "nodeType": "YulExpressionStatement", - "src": "30839:27:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "30781:1:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "30784:6:13" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "30778:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "30778:13:13" - }, - "nodeType": "YulIf", - "src": "30775:101:13" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "30606:3:13", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "30611:3:13", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "30616:6:13", - "type": "" - } - ], - "src": "30575:307:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30996:265:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "31006:52:13", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31052:5:13" - } - ], - "functionName": { - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "31020:31:13" - }, - "nodeType": "YulFunctionCall", - "src": "31020:38:13" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "31010:6:13", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "31067:95:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31150:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "31155:6:13" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31074:75:13" - }, - "nodeType": "YulFunctionCall", - "src": "31074:88:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31067:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31197:5:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31204:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31193:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "31193:16:13" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31211:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "31216:6:13" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "31171:21:13" - }, - "nodeType": "YulFunctionCall", - "src": "31171:52:13" - }, - "nodeType": "YulExpressionStatement", - "src": "31171:52:13" - }, - { - "nodeType": "YulAssignment", - "src": "31232:23:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31243:3:13" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "31248:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31239:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "31239:16:13" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "31232:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "30977:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "30984:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "30992:3:13", - "type": "" - } - ], - "src": "30888:373:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31314:32:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31324:16:13", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31335:5:13" - }, - "variableNames": [ - { - "name": "aligned", - "nodeType": "YulIdentifier", - "src": "31324:7:13" - } - ] - } - ] - }, - "name": "leftAlign_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "31296:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "aligned", - "nodeType": "YulTypedName", - "src": "31306:7:13", - "type": "" - } - ], - "src": "31267:79:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31435:74:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31452:3:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31495:5:13" - } - ], - "functionName": { - "name": "cleanup_t_bytes32", - "nodeType": "YulIdentifier", - "src": "31477:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "31477:24:13" - } - ], - "functionName": { - "name": "leftAlign_t_bytes32", - "nodeType": "YulIdentifier", - "src": "31457:19:13" - }, - "nodeType": "YulFunctionCall", - "src": "31457:45:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31445:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "31445:58:13" - }, - "nodeType": "YulExpressionStatement", - "src": "31445:58:13" - } - ] - }, - "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "31423:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "31430:3:13", - "type": "" - } - ], - "src": "31352:157:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31677:250:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31688:100:13", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "31775:6:13" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31784:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31695:79:13" - }, - "nodeType": "YulFunctionCall", - "src": "31695:93:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31688:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "31860:6:13" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31869:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31798:61:13" - }, - "nodeType": "YulFunctionCall", - "src": "31798:75:13" - }, - "nodeType": "YulExpressionStatement", - "src": "31798:75:13" - }, - { - "nodeType": "YulAssignment", - "src": "31882:19:13", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31893:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31898:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31889:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "31889:12:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31882:3:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "31911:10:13", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31918:3:13" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "31911:3:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "31648:3:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "31654:6:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "31662:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "31673:3:13", - "type": "" - } - ], - "src": "31515:412:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32039:119:13", + "src": "27131:119:13", "statements": [ { "expression": { @@ -14849,12 +12370,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "32061:6:13" + "src": "27153:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32069:1:13", + "src": "27161:1:13", "type": "", "value": "0" } @@ -14862,16 +12383,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32057:3:13" + "src": "27149:3:13" }, "nodeType": "YulFunctionCall", - "src": "32057:14:13" + "src": "27149:14:13" }, { "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", "kind": "string", "nodeType": "YulLiteral", - "src": "32073:34:13", + "src": "27165:34:13", "type": "", "value": "Ownable: new owner is the zero a" } @@ -14879,13 +12400,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "32050:6:13" + "src": "27142:6:13" }, "nodeType": "YulFunctionCall", - "src": "32050:58:13" + "src": "27142:58:13" }, "nodeType": "YulExpressionStatement", - "src": "32050:58:13" + "src": "27142:58:13" }, { "expression": { @@ -14895,12 +12416,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "32129:6:13" + "src": "27221:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32137:2:13", + "src": "27229:2:13", "type": "", "value": "32" } @@ -14908,16 +12429,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32125:3:13" + "src": "27217:3:13" }, "nodeType": "YulFunctionCall", - "src": "32125:15:13" + "src": "27217:15:13" }, { "hexValue": "646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "32142:8:13", + "src": "27234:8:13", "type": "", "value": "ddress" } @@ -14925,13 +12446,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "32118:6:13" + "src": "27210:6:13" }, "nodeType": "YulFunctionCall", - "src": "32118:33:13" + "src": "27210:33:13" }, "nodeType": "YulExpressionStatement", - "src": "32118:33:13" + "src": "27210:33:13" } ] }, @@ -14941,31 +12462,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "32031:6:13", + "src": "27123:6:13", "type": "" } ], - "src": "31933:225:13" + "src": "27025:225:13" }, { "body": { "nodeType": "YulBlock", - "src": "32310:220:13", + "src": "27402:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "32320:74:13", + "src": "27412:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32386:3:13" + "src": "27478:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32391:2:13", + "src": "27483:2:13", "type": "", "value": "38" } @@ -14973,16 +12494,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "32327:58:13" + "src": "27419:58:13" }, "nodeType": "YulFunctionCall", - "src": "32327:67:13" + "src": "27419:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32320:3:13" + "src": "27412:3:13" } ] }, @@ -14992,34 +12513,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32492:3:13" + "src": "27584:3:13" } ], "functionName": { "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", "nodeType": "YulIdentifier", - "src": "32403:88:13" + "src": "27495:88:13" }, "nodeType": "YulFunctionCall", - "src": "32403:93:13" + "src": "27495:93:13" }, "nodeType": "YulExpressionStatement", - "src": "32403:93:13" + "src": "27495:93:13" }, { "nodeType": "YulAssignment", - "src": "32505:19:13", + "src": "27597:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32516:3:13" + "src": "27608:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32521:2:13", + "src": "27613:2:13", "type": "", "value": "64" } @@ -15027,16 +12548,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32512:3:13" + "src": "27604:3:13" }, "nodeType": "YulFunctionCall", - "src": "32512:12:13" + "src": "27604:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "32505:3:13" + "src": "27597:3:13" } ] } @@ -15048,7 +12569,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "32298:3:13", + "src": "27390:3:13", "type": "" } ], @@ -15056,31 +12577,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "32306:3:13", + "src": "27398:3:13", "type": "" } ], - "src": "32164:366:13" + "src": "27256:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "32707:248:13", + "src": "27799:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "32717:26:13", + "src": "27809:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32729:9:13" + "src": "27821:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32740:2:13", + "src": "27832:2:13", "type": "", "value": "32" } @@ -15088,16 +12609,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32725:3:13" + "src": "27817:3:13" }, "nodeType": "YulFunctionCall", - "src": "32725:18:13" + "src": "27817:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32717:4:13" + "src": "27809:4:13" } ] }, @@ -15109,12 +12630,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32764:9:13" + "src": "27856:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32775:1:13", + "src": "27867:1:13", "type": "", "value": "0" } @@ -15122,68 +12643,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32760:3:13" + "src": "27852:3:13" }, "nodeType": "YulFunctionCall", - "src": "32760:17:13" + "src": "27852:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32783:4:13" + "src": "27875:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32789:9:13" + "src": "27881:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "32779:3:13" + "src": "27871:3:13" }, "nodeType": "YulFunctionCall", - "src": "32779:20:13" + "src": "27871:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "32753:6:13" + "src": "27845:6:13" }, "nodeType": "YulFunctionCall", - "src": "32753:47:13" + "src": "27845:47:13" }, "nodeType": "YulExpressionStatement", - "src": "32753:47:13" + "src": "27845:47:13" }, { "nodeType": "YulAssignment", - "src": "32809:139:13", + "src": "27901:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32943:4:13" + "src": "28035:4:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "32817:124:13" + "src": "27909:124:13" }, "nodeType": "YulFunctionCall", - "src": "32817:131:13" + "src": "27909:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32809:4:13" + "src": "27901:4:13" } ] } @@ -15195,7 +12716,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "32687:9:13", + "src": "27779:9:13", "type": "" } ], @@ -15203,30 +12724,30 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "32702:4:13", + "src": "27794:4:13", "type": "" } ], - "src": "32536:419:13" + "src": "27628:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "33075:34:13", + "src": "28167:34:13", "statements": [ { "nodeType": "YulAssignment", - "src": "33085:18:13", + "src": "28177:18:13", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "33100:3:13" + "src": "28192:3:13" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "33085:11:13" + "src": "28177:11:13" } ] } @@ -15238,13 +12759,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "33047:3:13", + "src": "28139:3:13", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "33052:6:13", + "src": "28144:6:13", "type": "" } ], @@ -15252,16 +12773,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "33063:11:13", + "src": "28155:11:13", "type": "" } ], - "src": "32961:148:13" + "src": "28053:148:13" }, { "body": { "nodeType": "YulBlock", - "src": "33221:108:13", + "src": "28313:108:13", "statements": [ { "expression": { @@ -15271,12 +12792,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "33243:6:13" + "src": "28335:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33251:1:13", + "src": "28343:1:13", "type": "", "value": "0" } @@ -15284,15 +12805,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33239:3:13" + "src": "28331:3:13" }, "nodeType": "YulFunctionCall", - "src": "33239:14:13" + "src": "28331:14:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33255:66:13", + "src": "28347:66:13", "type": "", "value": "0x19457468657265756d205369676e6564204d6573736167653a0a333200000000" } @@ -15300,13 +12821,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33232:6:13" + "src": "28324:6:13" }, "nodeType": "YulFunctionCall", - "src": "33232:90:13" + "src": "28324:90:13" }, "nodeType": "YulExpressionStatement", - "src": "33232:90:13" + "src": "28324:90:13" } ] }, @@ -15316,31 +12837,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "33213:6:13", + "src": "28305:6:13", "type": "" } ], - "src": "33115:214:13" + "src": "28207:214:13" }, { "body": { "nodeType": "YulBlock", - "src": "33499:238:13", + "src": "28591:238:13", "statements": [ { "nodeType": "YulAssignment", - "src": "33509:92:13", + "src": "28601:92:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33593:3:13" + "src": "28685:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33598:2:13", + "src": "28690:2:13", "type": "", "value": "28" } @@ -15348,16 +12869,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "33516:76:13" + "src": "28608:76:13" }, "nodeType": "YulFunctionCall", - "src": "33516:85:13" + "src": "28608:85:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33509:3:13" + "src": "28601:3:13" } ] }, @@ -15367,34 +12888,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33699:3:13" + "src": "28791:3:13" } ], "functionName": { "name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", "nodeType": "YulIdentifier", - "src": "33610:88:13" + "src": "28702:88:13" }, "nodeType": "YulFunctionCall", - "src": "33610:93:13" + "src": "28702:93:13" }, "nodeType": "YulExpressionStatement", - "src": "33610:93:13" + "src": "28702:93:13" }, { "nodeType": "YulAssignment", - "src": "33712:19:13", + "src": "28804:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33723:3:13" + "src": "28815:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33728:2:13", + "src": "28820:2:13", "type": "", "value": "28" } @@ -15402,16 +12923,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33719:3:13" + "src": "28811:3:13" }, "nodeType": "YulFunctionCall", - "src": "33719:12:13" + "src": "28811:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "33712:3:13" + "src": "28804:3:13" } ] } @@ -15423,7 +12944,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "33487:3:13", + "src": "28579:3:13", "type": "" } ], @@ -15431,41 +12952,156 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "33495:3:13", + "src": "28587:3:13", "type": "" } ], - "src": "33335:402:13" + "src": "28427:402:13" }, { "body": { "nodeType": "YulBlock", - "src": "33960:305:13", + "src": "28882:32:13", "statements": [ { "nodeType": "YulAssignment", - "src": "33971:155:13", + "src": "28892:16:13", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28903:5:13" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "28892:7:13" + } + ] + } + ] + }, + "name": "leftAlign_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "28864:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "28874:7:13", + "type": "" + } + ], + "src": "28835:79:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29003:74:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29020:3:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29063:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "29045:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "29045:24:13" + } + ], + "functionName": { + "name": "leftAlign_t_bytes32", + "nodeType": "YulIdentifier", + "src": "29025:19:13" + }, + "nodeType": "YulFunctionCall", + "src": "29025:45:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29013:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "29013:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "29013:58:13" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "28991:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28998:3:13", + "type": "" + } + ], + "src": "28920:157:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29300:305:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29311:155:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34122:3:13" + "src": "29462:3:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "33978:142:13" + "src": "29318:142:13" }, "nodeType": "YulFunctionCall", - "src": "33978:148:13" + "src": "29318:148:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33971:3:13" + "src": "29311:3:13" } ] }, @@ -15475,39 +13111,39 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "34198:6:13" + "src": "29538:6:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "34207:3:13" + "src": "29547:3:13" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "34136:61:13" + "src": "29476:61:13" }, "nodeType": "YulFunctionCall", - "src": "34136:75:13" + "src": "29476:75:13" }, "nodeType": "YulExpressionStatement", - "src": "34136:75:13" + "src": "29476:75:13" }, { "nodeType": "YulAssignment", - "src": "34220:19:13", + "src": "29560:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34231:3:13" + "src": "29571:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34236:2:13", + "src": "29576:2:13", "type": "", "value": "32" } @@ -15515,32 +13151,32 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34227:3:13" + "src": "29567:3:13" }, "nodeType": "YulFunctionCall", - "src": "34227:12:13" + "src": "29567:12:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34220:3:13" + "src": "29560:3:13" } ] }, { "nodeType": "YulAssignment", - "src": "34249:10:13", + "src": "29589:10:13", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "34256:3:13" + "src": "29596:3:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "34249:3:13" + "src": "29589:3:13" } ] } @@ -15552,13 +13188,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "33939:3:13", + "src": "29279:3:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "33945:6:13", + "src": "29285:6:13", "type": "" } ], @@ -15566,75 +13202,75 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "33956:3:13", + "src": "29296:3:13", "type": "" } ], - "src": "33743:522:13" + "src": "29083:522:13" }, { "body": { "nodeType": "YulBlock", - "src": "34319:300:13", + "src": "29659:300:13", "statements": [ { "nodeType": "YulAssignment", - "src": "34329:25:13", + "src": "29669:25:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "34352:1:13" + "src": "29692:1:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "34334:17:13" + "src": "29674:17:13" }, "nodeType": "YulFunctionCall", - "src": "34334:20:13" + "src": "29674:20:13" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "34329:1:13" + "src": "29669:1:13" } ] }, { "nodeType": "YulAssignment", - "src": "34363:25:13", + "src": "29703:25:13", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "34386:1:13" + "src": "29726:1:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "34368:17:13" + "src": "29708:17:13" }, "nodeType": "YulFunctionCall", - "src": "34368:20:13" + "src": "29708:20:13" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "34363:1:13" + "src": "29703:1:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "34561:22:13", + "src": "29901:22:13", "statements": [ { "expression": { @@ -15642,13 +13278,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "34563:16:13" + "src": "29903:16:13" }, "nodeType": "YulFunctionCall", - "src": "34563:18:13" + "src": "29903:18:13" }, "nodeType": "YulExpressionStatement", - "src": "34563:18:13" + "src": "29903:18:13" } ] }, @@ -15661,106 +13297,106 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "34473:1:13" + "src": "29813:1:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "34466:6:13" + "src": "29806:6:13" }, "nodeType": "YulFunctionCall", - "src": "34466:9:13" + "src": "29806:9:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "34459:6:13" + "src": "29799:6:13" }, "nodeType": "YulFunctionCall", - "src": "34459:17:13" + "src": "29799:17:13" }, { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "34481:1:13" + "src": "29821:1:13" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "34488:66:13", + "src": "29828:66:13", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "x", "nodeType": "YulIdentifier", - "src": "34556:1:13" + "src": "29896:1:13" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "34484:3:13" + "src": "29824:3:13" }, "nodeType": "YulFunctionCall", - "src": "34484:74:13" + "src": "29824:74:13" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "34478:2:13" + "src": "29818:2:13" }, "nodeType": "YulFunctionCall", - "src": "34478:81:13" + "src": "29818:81:13" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "34455:3:13" + "src": "29795:3:13" }, "nodeType": "YulFunctionCall", - "src": "34455:105:13" + "src": "29795:105:13" }, "nodeType": "YulIf", - "src": "34452:131:13" + "src": "29792:131:13" }, { "nodeType": "YulAssignment", - "src": "34593:20:13", + "src": "29933:20:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "34608:1:13" + "src": "29948:1:13" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "34611:1:13" + "src": "29951:1:13" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "34604:3:13" + "src": "29944:3:13" }, "nodeType": "YulFunctionCall", - "src": "34604:9:13" + "src": "29944:9:13" }, "variableNames": [ { "name": "product", "nodeType": "YulIdentifier", - "src": "34593:7:13" + "src": "29933:7:13" } ] } @@ -15772,13 +13408,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "34302:1:13", + "src": "29642:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "34305:1:13", + "src": "29645:1:13", "type": "" } ], @@ -15786,16 +13422,16 @@ { "name": "product", "nodeType": "YulTypedName", - "src": "34311:7:13", + "src": "29651:7:13", "type": "" } ], - "src": "34271:348:13" + "src": "29611:348:13" }, { "body": { "nodeType": "YulBlock", - "src": "34653:152:13", + "src": "29993:152:13", "statements": [ { "expression": { @@ -15803,14 +13439,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "34670:1:13", + "src": "30010:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34673:77:13", + "src": "30013:77:13", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -15818,13 +13454,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "34663:6:13" + "src": "30003:6:13" }, "nodeType": "YulFunctionCall", - "src": "34663:88:13" + "src": "30003:88:13" }, "nodeType": "YulExpressionStatement", - "src": "34663:88:13" + "src": "30003:88:13" }, { "expression": { @@ -15832,14 +13468,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "34767:1:13", + "src": "30107:1:13", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34770:4:13", + "src": "30110:4:13", "type": "", "value": "0x12" } @@ -15847,13 +13483,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "34760:6:13" + "src": "30100:6:13" }, "nodeType": "YulFunctionCall", - "src": "34760:15:13" + "src": "30100:15:13" }, "nodeType": "YulExpressionStatement", - "src": "34760:15:13" + "src": "30100:15:13" }, { "expression": { @@ -15861,14 +13497,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "34791:1:13", + "src": "30131:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34794:4:13", + "src": "30134:4:13", "type": "", "value": "0x24" } @@ -15876,83 +13512,83 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "34784:6:13" + "src": "30124:6:13" }, "nodeType": "YulFunctionCall", - "src": "34784:15:13" + "src": "30124:15:13" }, "nodeType": "YulExpressionStatement", - "src": "34784:15:13" + "src": "30124:15:13" } ] }, "name": "panic_error_0x12", "nodeType": "YulFunctionDefinition", - "src": "34625:180:13" + "src": "29965:180:13" }, { "body": { "nodeType": "YulBlock", - "src": "34853:143:13", + "src": "30193:143:13", "statements": [ { "nodeType": "YulAssignment", - "src": "34863:25:13", + "src": "30203:25:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "34886:1:13" + "src": "30226:1:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "34868:17:13" + "src": "30208:17:13" }, "nodeType": "YulFunctionCall", - "src": "34868:20:13" + "src": "30208:20:13" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "34863:1:13" + "src": "30203:1:13" } ] }, { "nodeType": "YulAssignment", - "src": "34897:25:13", + "src": "30237:25:13", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "34920:1:13" + "src": "30260:1:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "34902:17:13" + "src": "30242:17:13" }, "nodeType": "YulFunctionCall", - "src": "34902:20:13" + "src": "30242:20:13" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "34897:1:13" + "src": "30237:1:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "34944:22:13", + "src": "30284:22:13", "statements": [ { "expression": { @@ -15960,13 +13596,13 @@ "functionName": { "name": "panic_error_0x12", "nodeType": "YulIdentifier", - "src": "34946:16:13" + "src": "30286:16:13" }, "nodeType": "YulFunctionCall", - "src": "34946:18:13" + "src": "30286:18:13" }, "nodeType": "YulExpressionStatement", - "src": "34946:18:13" + "src": "30286:18:13" } ] }, @@ -15975,49 +13611,49 @@ { "name": "y", "nodeType": "YulIdentifier", - "src": "34941:1:13" + "src": "30281:1:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "34934:6:13" + "src": "30274:6:13" }, "nodeType": "YulFunctionCall", - "src": "34934:9:13" + "src": "30274:9:13" }, "nodeType": "YulIf", - "src": "34931:35:13" + "src": "30271:35:13" }, { "nodeType": "YulAssignment", - "src": "34976:14:13", + "src": "30316:14:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "34985:1:13" + "src": "30325:1:13" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "34988:1:13" + "src": "30328:1:13" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "34981:3:13" + "src": "30321:3:13" }, "nodeType": "YulFunctionCall", - "src": "34981:9:13" + "src": "30321:9:13" }, "variableNames": [ { "name": "r", "nodeType": "YulIdentifier", - "src": "34976:1:13" + "src": "30316:1:13" } ] } @@ -16029,13 +13665,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "34842:1:13", + "src": "30182:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "34845:1:13", + "src": "30185:1:13", "type": "" } ], @@ -16043,75 +13679,75 @@ { "name": "r", "nodeType": "YulTypedName", - "src": "34851:1:13", + "src": "30191:1:13", "type": "" } ], - "src": "34811:185:13" + "src": "30151:185:13" }, { "body": { "nodeType": "YulBlock", - "src": "35047:146:13", + "src": "30387:146:13", "statements": [ { "nodeType": "YulAssignment", - "src": "35057:25:13", + "src": "30397:25:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "35080:1:13" + "src": "30420:1:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "35062:17:13" + "src": "30402:17:13" }, "nodeType": "YulFunctionCall", - "src": "35062:20:13" + "src": "30402:20:13" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "35057:1:13" + "src": "30397:1:13" } ] }, { "nodeType": "YulAssignment", - "src": "35091:25:13", + "src": "30431:25:13", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "35114:1:13" + "src": "30454:1:13" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "35096:17:13" + "src": "30436:17:13" }, "nodeType": "YulFunctionCall", - "src": "35096:20:13" + "src": "30436:20:13" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "35091:1:13" + "src": "30431:1:13" } ] }, { "body": { "nodeType": "YulBlock", - "src": "35138:22:13", + "src": "30478:22:13", "statements": [ { "expression": { @@ -16119,13 +13755,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "35140:16:13" + "src": "30480:16:13" }, "nodeType": "YulFunctionCall", - "src": "35140:18:13" + "src": "30480:18:13" }, "nodeType": "YulExpressionStatement", - "src": "35140:18:13" + "src": "30480:18:13" } ] }, @@ -16134,54 +13770,54 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "35132:1:13" + "src": "30472:1:13" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "35135:1:13" + "src": "30475:1:13" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "35129:2:13" + "src": "30469:2:13" }, "nodeType": "YulFunctionCall", - "src": "35129:8:13" + "src": "30469:8:13" }, "nodeType": "YulIf", - "src": "35126:34:13" + "src": "30466:34:13" }, { "nodeType": "YulAssignment", - "src": "35170:17:13", + "src": "30510:17:13", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "35182:1:13" + "src": "30522:1:13" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "35185:1:13" + "src": "30525:1:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "35178:3:13" + "src": "30518:3:13" }, "nodeType": "YulFunctionCall", - "src": "35178:9:13" + "src": "30518:9:13" }, "variableNames": [ { "name": "diff", "nodeType": "YulIdentifier", - "src": "35170:4:13" + "src": "30510:4:13" } ] } @@ -16193,13 +13829,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "35033:1:13", + "src": "30373:1:13", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "35036:1:13", + "src": "30376:1:13", "type": "" } ], @@ -16207,31 +13843,31 @@ { "name": "diff", "nodeType": "YulTypedName", - "src": "35042:4:13", + "src": "30382:4:13", "type": "" } ], - "src": "35002:191:13" + "src": "30342:191:13" }, { "body": { "nodeType": "YulBlock", - "src": "35437:537:13", + "src": "30777:537:13", "statements": [ { "nodeType": "YulAssignment", - "src": "35447:27:13", + "src": "30787:27:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35459:9:13" + "src": "30799:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35470:3:13", + "src": "30810:3:13", "type": "", "value": "192" } @@ -16239,16 +13875,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35455:3:13" + "src": "30795:3:13" }, "nodeType": "YulFunctionCall", - "src": "35455:19:13" + "src": "30795:19:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35447:4:13" + "src": "30787:4:13" } ] }, @@ -16258,19 +13894,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "35528:6:13" + "src": "30868:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35541:9:13" + "src": "30881:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35552:1:13", + "src": "30892:1:13", "type": "", "value": "0" } @@ -16278,22 +13914,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35537:3:13" + "src": "30877:3:13" }, "nodeType": "YulFunctionCall", - "src": "35537:17:13" + "src": "30877:17:13" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "35484:43:13" + "src": "30824:43:13" }, "nodeType": "YulFunctionCall", - "src": "35484:71:13" + "src": "30824:71:13" }, "nodeType": "YulExpressionStatement", - "src": "35484:71:13" + "src": "30824:71:13" }, { "expression": { @@ -16301,19 +13937,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "35609:6:13" + "src": "30949:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35622:9:13" + "src": "30962:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35633:2:13", + "src": "30973:2:13", "type": "", "value": "32" } @@ -16321,22 +13957,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35618:3:13" + "src": "30958:3:13" }, "nodeType": "YulFunctionCall", - "src": "35618:18:13" + "src": "30958:18:13" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "35565:43:13" + "src": "30905:43:13" }, "nodeType": "YulFunctionCall", - "src": "35565:72:13" + "src": "30905:72:13" }, "nodeType": "YulExpressionStatement", - "src": "35565:72:13" + "src": "30905:72:13" }, { "expression": { @@ -16344,19 +13980,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "35691:6:13" + "src": "31031:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35704:9:13" + "src": "31044:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35715:2:13", + "src": "31055:2:13", "type": "", "value": "64" } @@ -16364,22 +14000,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35700:3:13" + "src": "31040:3:13" }, "nodeType": "YulFunctionCall", - "src": "35700:18:13" + "src": "31040:18:13" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "35647:43:13" + "src": "30987:43:13" }, "nodeType": "YulFunctionCall", - "src": "35647:72:13" + "src": "30987:72:13" }, "nodeType": "YulExpressionStatement", - "src": "35647:72:13" + "src": "30987:72:13" }, { "expression": { @@ -16387,19 +14023,19 @@ { "name": "value3", "nodeType": "YulIdentifier", - "src": "35773:6:13" + "src": "31113:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35786:9:13" + "src": "31126:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35797:2:13", + "src": "31137:2:13", "type": "", "value": "96" } @@ -16407,22 +14043,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35782:3:13" + "src": "31122:3:13" }, "nodeType": "YulFunctionCall", - "src": "35782:18:13" + "src": "31122:18:13" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "35729:43:13" + "src": "31069:43:13" }, "nodeType": "YulFunctionCall", - "src": "35729:72:13" + "src": "31069:72:13" }, "nodeType": "YulExpressionStatement", - "src": "35729:72:13" + "src": "31069:72:13" }, { "expression": { @@ -16430,19 +14066,19 @@ { "name": "value4", "nodeType": "YulIdentifier", - "src": "35855:6:13" + "src": "31195:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35868:9:13" + "src": "31208:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35879:3:13", + "src": "31219:3:13", "type": "", "value": "128" } @@ -16450,22 +14086,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35864:3:13" + "src": "31204:3:13" }, "nodeType": "YulFunctionCall", - "src": "35864:19:13" + "src": "31204:19:13" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "35811:43:13" + "src": "31151:43:13" }, "nodeType": "YulFunctionCall", - "src": "35811:73:13" + "src": "31151:73:13" }, "nodeType": "YulExpressionStatement", - "src": "35811:73:13" + "src": "31151:73:13" }, { "expression": { @@ -16473,19 +14109,19 @@ { "name": "value5", "nodeType": "YulIdentifier", - "src": "35938:6:13" + "src": "31278:6:13" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35951:9:13" + "src": "31291:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35962:3:13", + "src": "31302:3:13", "type": "", "value": "160" } @@ -16493,22 +14129,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35947:3:13" + "src": "31287:3:13" }, "nodeType": "YulFunctionCall", - "src": "35947:19:13" + "src": "31287:19:13" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "35894:43:13" + "src": "31234:43:13" }, "nodeType": "YulFunctionCall", - "src": "35894:73:13" + "src": "31234:73:13" }, "nodeType": "YulExpressionStatement", - "src": "35894:73:13" + "src": "31234:73:13" } ] }, @@ -16518,43 +14154,43 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "35369:9:13", + "src": "30709:9:13", "type": "" }, { "name": "value5", "nodeType": "YulTypedName", - "src": "35381:6:13", + "src": "30721:6:13", "type": "" }, { "name": "value4", "nodeType": "YulTypedName", - "src": "35389:6:13", + "src": "30729:6:13", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "35397:6:13", + "src": "30737:6:13", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "35405:6:13", + "src": "30745:6:13", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "35413:6:13", + "src": "30753:6:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "35421:6:13", + "src": "30761:6:13", "type": "" } ], @@ -16562,21 +14198,1519 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "35432:4:13", + "src": "30772:4:13", "type": "" } ], - "src": "35199:775:13" + "src": "30539:775:13" }, { "body": { "nodeType": "YulBlock", - "src": "36020:76:13", + "src": "31348:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31365:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31368:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31358:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "31358:88:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31358:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31462:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31465:4:13", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31455:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "31455:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31455:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31486:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31489:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "31479:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "31479:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31479:15:13" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "31320:180:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31612:68:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31634:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31642:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31630:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "31630:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31646:26:13", + "type": "", + "value": "ECDSA: invalid signature" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31623:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "31623:50:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31623:50:13" + } + ] + }, + "name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31604:6:13", + "type": "" + } + ], + "src": "31506:174:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31832:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31842:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31908:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31913:2:13", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31849:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "31849:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31842:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32014:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", + "nodeType": "YulIdentifier", + "src": "31925:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "31925:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31925:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "32027:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32038:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32043:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32034:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32034:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32027:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31820:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31828:3:13", + "type": "" + } + ], + "src": "31686:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32229:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32239:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32251:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32262:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32247:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32247:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32239:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32286:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32297:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32282:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32282:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32305:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32311:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "32301:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32301:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32275:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "32275:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "32275:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "32331:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32465:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "32339:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "32339:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32331:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32209:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32224:4:13", + "type": "" + } + ], + "src": "32058:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32589:75:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32611:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32619:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32607:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32607:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32623:33:13", + "type": "", + "value": "ECDSA: invalid signature length" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32600:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "32600:57:13" + }, + "nodeType": "YulExpressionStatement", + "src": "32600:57:13" + } + ] + }, + "name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "32581:6:13", + "type": "" + } + ], + "src": "32483:181:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32816:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32826:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32892:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32897:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "32833:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "32833:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32826:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32998:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", + "nodeType": "YulIdentifier", + "src": "32909:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "32909:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "32909:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "33011:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33022:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33027:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33018:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33018:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33011:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32804:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32812:3:13", + "type": "" + } + ], + "src": "32670:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33213:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33223:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33235:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33246:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33231:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33231:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33223:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33270:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33281:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33266:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33266:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33289:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33295:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "33285:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33285:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33259:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "33259:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "33259:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "33315:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33449:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33323:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "33323:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33315:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33193:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33208:4:13", + "type": "" + } + ], + "src": "33042:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33573:115:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33595:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33603:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33591:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33591:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33607:34:13", + "type": "", + "value": "ECDSA: invalid signature 's' val" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33584:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "33584:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "33584:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33663:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33671:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33659:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33659:15:13" + }, + { + "hexValue": "7565", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33676:4:13", + "type": "", + "value": "ue" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33652:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "33652:29:13" + }, + "nodeType": "YulExpressionStatement", + "src": "33652:29:13" + } + ] + }, + "name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "33565:6:13", + "type": "" + } + ], + "src": "33467:221:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33840:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33850:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33916:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33921:2:13", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33857:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "33857:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33850:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34022:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", + "nodeType": "YulIdentifier", + "src": "33933:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "33933:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "33933:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "34035:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34046:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34051:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34042:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34042:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34035:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33828:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33836:3:13", + "type": "" + } + ], + "src": "33694:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34237:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34247:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34259:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34270:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34255:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34255:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34247:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34294:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34305:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34290:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34290:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34313:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34319:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34309:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34309:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34283:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "34283:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "34283:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "34339:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34473:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34347:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "34347:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34339:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34217:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34232:4:13", + "type": "" + } + ], + "src": "34066:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34597:115:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34619:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34627:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34615:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34615:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265202776272076616c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34631:34:13", + "type": "", + "value": "ECDSA: invalid signature 'v' val" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34608:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "34608:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "34608:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34687:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34695:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34683:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34683:15:13" + }, + { + "hexValue": "7565", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34700:4:13", + "type": "", + "value": "ue" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34676:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "34676:29:13" + }, + "nodeType": "YulExpressionStatement", + "src": "34676:29:13" + } + ] + }, + "name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "34589:6:13", + "type": "" + } + ], + "src": "34491:221:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34864:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34874:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34940:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34945:2:13", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34881:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "34881:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34874:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35046:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", + "nodeType": "YulIdentifier", + "src": "34957:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "34957:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "34957:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "35059:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35070:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35075:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35066:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "35066:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35059:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34852:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34860:3:13", + "type": "" + } + ], + "src": "34718:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35261:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35271:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35283:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35294:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35279:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "35279:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35271:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35318:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35329:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35314:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "35314:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35337:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35343:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35333:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "35333:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35307:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "35307:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "35307:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "35363:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35497:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35371:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "35371:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35363:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35241:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35256:4:13", + "type": "" + } + ], + "src": "35090:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35555:76:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "36074:16:13", + "src": "35609:16:13", "statements": [ { "expression": { @@ -16584,14 +15718,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "36083:1:13", + "src": "35618:1:13", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36086:1:13", + "src": "35621:1:13", "type": "", "value": "0" } @@ -16599,13 +15733,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "36076:6:13" + "src": "35611:6:13" }, "nodeType": "YulFunctionCall", - "src": "36076:12:13" + "src": "35611:12:13" }, "nodeType": "YulExpressionStatement", - "src": "36076:12:13" + "src": "35611:12:13" } ] }, @@ -16616,44 +15750,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "36043:5:13" + "src": "35578:5:13" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "36065:5:13" + "src": "35600:5:13" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "36050:14:13" + "src": "35585:14:13" }, "nodeType": "YulFunctionCall", - "src": "36050:21:13" + "src": "35585:21:13" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "36040:2:13" + "src": "35575:2:13" }, "nodeType": "YulFunctionCall", - "src": "36040:32:13" + "src": "35575:32:13" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "36033:6:13" + "src": "35568:6:13" }, "nodeType": "YulFunctionCall", - "src": "36033:40:13" + "src": "35568:40:13" }, "nodeType": "YulIf", - "src": "36030:60:13" + "src": "35565:60:13" } ] }, @@ -16663,41 +15797,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "36013:5:13", + "src": "35548:5:13", "type": "" } ], - "src": "35980:116:13" + "src": "35515:116:13" }, { "body": { "nodeType": "YulBlock", - "src": "36162:77:13", + "src": "35697:77:13", "statements": [ { "nodeType": "YulAssignment", - "src": "36172:22:13", + "src": "35707:22:13", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "36187:6:13" + "src": "35722:6:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "36181:5:13" + "src": "35716:5:13" }, "nodeType": "YulFunctionCall", - "src": "36181:13:13" + "src": "35716:13:13" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "36172:5:13" + "src": "35707:5:13" } ] }, @@ -16707,19 +15841,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "36227:5:13" + "src": "35762:5:13" } ], "functionName": { "name": "validator_revert_t_bool", "nodeType": "YulIdentifier", - "src": "36203:23:13" + "src": "35738:23:13" }, "nodeType": "YulFunctionCall", - "src": "36203:30:13" + "src": "35738:30:13" }, "nodeType": "YulExpressionStatement", - "src": "36203:30:13" + "src": "35738:30:13" } ] }, @@ -16729,13 +15863,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "36140:6:13", + "src": "35675:6:13", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "36148:3:13", + "src": "35683:3:13", "type": "" } ], @@ -16743,21 +15877,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "36156:5:13", + "src": "35691:5:13", "type": "" } ], - "src": "36102:137:13" + "src": "35637:137:13" }, { "body": { "nodeType": "YulBlock", - "src": "36319:271:13", + "src": "35854:271:13", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "36365:83:13", + "src": "35900:83:13", "statements": [ { "expression": { @@ -16765,13 +15899,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "36367:77:13" + "src": "35902:77:13" }, "nodeType": "YulFunctionCall", - "src": "36367:79:13" + "src": "35902:79:13" }, "nodeType": "YulExpressionStatement", - "src": "36367:79:13" + "src": "35902:79:13" } ] }, @@ -16782,26 +15916,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "36340:7:13" + "src": "35875:7:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "36349:9:13" + "src": "35884:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "36336:3:13" + "src": "35871:3:13" }, "nodeType": "YulFunctionCall", - "src": "36336:23:13" + "src": "35871:23:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36361:2:13", + "src": "35896:2:13", "type": "", "value": "32" } @@ -16809,25 +15943,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "36332:3:13" + "src": "35867:3:13" }, "nodeType": "YulFunctionCall", - "src": "36332:32:13" + "src": "35867:32:13" }, "nodeType": "YulIf", - "src": "36329:119:13" + "src": "35864:119:13" }, { "nodeType": "YulBlock", - "src": "36458:125:13", + "src": "35993:125:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "36473:15:13", + "src": "36008:15:13", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "36487:1:13", + "src": "36022:1:13", "type": "", "value": "0" }, @@ -16835,14 +15969,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "36477:6:13", + "src": "36012:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "36502:71:13", + "src": "36037:71:13", "value": { "arguments": [ { @@ -16850,41 +15984,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "36545:9:13" + "src": "36080:9:13" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "36556:6:13" + "src": "36091:6:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "36541:3:13" + "src": "36076:3:13" }, "nodeType": "YulFunctionCall", - "src": "36541:22:13" + "src": "36076:22:13" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "36565:7:13" + "src": "36100:7:13" } ], "functionName": { "name": "abi_decode_t_bool_fromMemory", "nodeType": "YulIdentifier", - "src": "36512:28:13" + "src": "36047:28:13" }, "nodeType": "YulFunctionCall", - "src": "36512:61:13" + "src": "36047:61:13" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "36502:6:13" + "src": "36037:6:13" } ] } @@ -16898,13 +16032,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "36289:9:13", + "src": "35824:9:13", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "36300:7:13", + "src": "35835:7:13", "type": "" } ], @@ -16912,16 +16046,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "36312:6:13", + "src": "35847:6:13", "type": "" } ], - "src": "36245:345:13" + "src": "35780:345:13" }, { "body": { "nodeType": "YulBlock", - "src": "36702:123:13", + "src": "36237:123:13", "statements": [ { "expression": { @@ -16931,12 +16065,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "36724:6:13" + "src": "36259:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36732:1:13", + "src": "36267:1:13", "type": "", "value": "0" } @@ -16944,16 +16078,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "36720:3:13" + "src": "36255:3:13" }, "nodeType": "YulFunctionCall", - "src": "36720:14:13" + "src": "36255:14:13" }, { "hexValue": "5361666545524332303a204552433230206f7065726174696f6e20646964206e", "kind": "string", "nodeType": "YulLiteral", - "src": "36736:34:13", + "src": "36271:34:13", "type": "", "value": "SafeERC20: ERC20 operation did n" } @@ -16961,13 +16095,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "36713:6:13" + "src": "36248:6:13" }, "nodeType": "YulFunctionCall", - "src": "36713:58:13" + "src": "36248:58:13" }, "nodeType": "YulExpressionStatement", - "src": "36713:58:13" + "src": "36248:58:13" }, { "expression": { @@ -16977,12 +16111,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "36792:6:13" + "src": "36327:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36800:2:13", + "src": "36335:2:13", "type": "", "value": "32" } @@ -16990,16 +16124,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "36788:3:13" + "src": "36323:3:13" }, "nodeType": "YulFunctionCall", - "src": "36788:15:13" + "src": "36323:15:13" }, { "hexValue": "6f742073756363656564", "kind": "string", "nodeType": "YulLiteral", - "src": "36805:12:13", + "src": "36340:12:13", "type": "", "value": "ot succeed" } @@ -17007,13 +16141,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "36781:6:13" + "src": "36316:6:13" }, "nodeType": "YulFunctionCall", - "src": "36781:37:13" + "src": "36316:37:13" }, "nodeType": "YulExpressionStatement", - "src": "36781:37:13" + "src": "36316:37:13" } ] }, @@ -17023,31 +16157,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "36694:6:13", + "src": "36229:6:13", "type": "" } ], - "src": "36596:229:13" + "src": "36131:229:13" }, { "body": { "nodeType": "YulBlock", - "src": "36977:220:13", + "src": "36512:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "36987:74:13", + "src": "36522:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37053:3:13" + "src": "36588:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37058:2:13", + "src": "36593:2:13", "type": "", "value": "42" } @@ -17055,16 +16189,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "36994:58:13" + "src": "36529:58:13" }, "nodeType": "YulFunctionCall", - "src": "36994:67:13" + "src": "36529:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "36987:3:13" + "src": "36522:3:13" } ] }, @@ -17074,34 +16208,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37159:3:13" + "src": "36694:3:13" } ], "functionName": { "name": "store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", "nodeType": "YulIdentifier", - "src": "37070:88:13" + "src": "36605:88:13" }, "nodeType": "YulFunctionCall", - "src": "37070:93:13" + "src": "36605:93:13" }, "nodeType": "YulExpressionStatement", - "src": "37070:93:13" + "src": "36605:93:13" }, { "nodeType": "YulAssignment", - "src": "37172:19:13", + "src": "36707:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37183:3:13" + "src": "36718:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37188:2:13", + "src": "36723:2:13", "type": "", "value": "64" } @@ -17109,16 +16243,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37179:3:13" + "src": "36714:3:13" }, "nodeType": "YulFunctionCall", - "src": "37179:12:13" + "src": "36714:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "37172:3:13" + "src": "36707:3:13" } ] } @@ -17130,7 +16264,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "36965:3:13", + "src": "36500:3:13", "type": "" } ], @@ -17138,31 +16272,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "36973:3:13", + "src": "36508:3:13", "type": "" } ], - "src": "36831:366:13" + "src": "36366:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "37374:248:13", + "src": "36909:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "37384:26:13", + "src": "36919:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37396:9:13" + "src": "36931:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37407:2:13", + "src": "36942:2:13", "type": "", "value": "32" } @@ -17170,16 +16304,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37392:3:13" + "src": "36927:3:13" }, "nodeType": "YulFunctionCall", - "src": "37392:18:13" + "src": "36927:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37384:4:13" + "src": "36919:4:13" } ] }, @@ -17191,12 +16325,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37431:9:13" + "src": "36966:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37442:1:13", + "src": "36977:1:13", "type": "", "value": "0" } @@ -17204,68 +16338,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37427:3:13" + "src": "36962:3:13" }, "nodeType": "YulFunctionCall", - "src": "37427:17:13" + "src": "36962:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37450:4:13" + "src": "36985:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37456:9:13" + "src": "36991:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "37446:3:13" + "src": "36981:3:13" }, "nodeType": "YulFunctionCall", - "src": "37446:20:13" + "src": "36981:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "37420:6:13" + "src": "36955:6:13" }, "nodeType": "YulFunctionCall", - "src": "37420:47:13" + "src": "36955:47:13" }, "nodeType": "YulExpressionStatement", - "src": "37420:47:13" + "src": "36955:47:13" }, { "nodeType": "YulAssignment", - "src": "37476:139:13", + "src": "37011:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37610:4:13" + "src": "37145:4:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "37484:124:13" + "src": "37019:124:13" }, "nodeType": "YulFunctionCall", - "src": "37484:131:13" + "src": "37019:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37476:4:13" + "src": "37011:4:13" } ] } @@ -17277,7 +16411,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "37354:9:13", + "src": "36889:9:13", "type": "" } ], @@ -17285,16 +16419,395 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "37369:4:13", + "src": "36904:4:13", "type": "" } ], - "src": "37203:419:13" + "src": "36738:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "37734:119:13", + "src": "37206:43:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37216:27:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37231:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37238:4:13", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "37227:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "37227:16:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "37216:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "37188:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "37198:7:13", + "type": "" + } + ], + "src": "37163:86:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37316:51:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37333:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37354:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "37338:15:13" + }, + "nodeType": "YulFunctionCall", + "src": "37338:22:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37326:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "37326:35:13" + }, + "nodeType": "YulExpressionStatement", + "src": "37326:35:13" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "37304:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37311:3:13", + "type": "" + } + ], + "src": "37255:112:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37551:367:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37561:27:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37573:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37584:3:13", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37569:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "37569:19:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37561:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "37642:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37655:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37666:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37651:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "37651:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "37598:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "37598:71:13" + }, + "nodeType": "YulExpressionStatement", + "src": "37598:71:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "37719:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37732:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37743:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37728:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "37728:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "37679:39:13" + }, + "nodeType": "YulFunctionCall", + "src": "37679:68:13" + }, + "nodeType": "YulExpressionStatement", + "src": "37679:68:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "37801:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37814:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37825:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37810:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "37810:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "37757:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "37757:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "37757:72:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "37883:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37896:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37907:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37892:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "37892:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "37839:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "37839:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "37839:72:13" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "37499:9:13", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "37511:6:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "37519:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "37527:6:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "37535:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "37546:4:13", + "type": "" + } + ], + "src": "37373:545:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38030:119:13", "statements": [ { "expression": { @@ -17304,12 +16817,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "37756:6:13" + "src": "38052:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37764:1:13", + "src": "38060:1:13", "type": "", "value": "0" } @@ -17317,16 +16830,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37752:3:13" + "src": "38048:3:13" }, "nodeType": "YulFunctionCall", - "src": "37752:14:13" + "src": "38048:14:13" }, { "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f", "kind": "string", "nodeType": "YulLiteral", - "src": "37768:34:13", + "src": "38064:34:13", "type": "", "value": "Address: insufficient balance fo" } @@ -17334,13 +16847,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "37745:6:13" + "src": "38041:6:13" }, "nodeType": "YulFunctionCall", - "src": "37745:58:13" + "src": "38041:58:13" }, "nodeType": "YulExpressionStatement", - "src": "37745:58:13" + "src": "38041:58:13" }, { "expression": { @@ -17350,12 +16863,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "37824:6:13" + "src": "38120:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37832:2:13", + "src": "38128:2:13", "type": "", "value": "32" } @@ -17363,16 +16876,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37820:3:13" + "src": "38116:3:13" }, "nodeType": "YulFunctionCall", - "src": "37820:15:13" + "src": "38116:15:13" }, { "hexValue": "722063616c6c", "kind": "string", "nodeType": "YulLiteral", - "src": "37837:8:13", + "src": "38133:8:13", "type": "", "value": "r call" } @@ -17380,13 +16893,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "37813:6:13" + "src": "38109:6:13" }, "nodeType": "YulFunctionCall", - "src": "37813:33:13" + "src": "38109:33:13" }, "nodeType": "YulExpressionStatement", - "src": "37813:33:13" + "src": "38109:33:13" } ] }, @@ -17396,31 +16909,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "37726:6:13", + "src": "38022:6:13", "type": "" } ], - "src": "37628:225:13" + "src": "37924:225:13" }, { "body": { "nodeType": "YulBlock", - "src": "38005:220:13", + "src": "38301:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "38015:74:13", + "src": "38311:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38081:3:13" + "src": "38377:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38086:2:13", + "src": "38382:2:13", "type": "", "value": "38" } @@ -17428,16 +16941,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "38022:58:13" + "src": "38318:58:13" }, "nodeType": "YulFunctionCall", - "src": "38022:67:13" + "src": "38318:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38015:3:13" + "src": "38311:3:13" } ] }, @@ -17447,34 +16960,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38187:3:13" + "src": "38483:3:13" } ], "functionName": { "name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", "nodeType": "YulIdentifier", - "src": "38098:88:13" + "src": "38394:88:13" }, "nodeType": "YulFunctionCall", - "src": "38098:93:13" + "src": "38394:93:13" }, "nodeType": "YulExpressionStatement", - "src": "38098:93:13" + "src": "38394:93:13" }, { "nodeType": "YulAssignment", - "src": "38200:19:13", + "src": "38496:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38211:3:13" + "src": "38507:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38216:2:13", + "src": "38512:2:13", "type": "", "value": "64" } @@ -17482,16 +16995,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38207:3:13" + "src": "38503:3:13" }, "nodeType": "YulFunctionCall", - "src": "38207:12:13" + "src": "38503:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "38200:3:13" + "src": "38496:3:13" } ] } @@ -17503,7 +17016,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "37993:3:13", + "src": "38289:3:13", "type": "" } ], @@ -17511,31 +17024,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "38001:3:13", + "src": "38297:3:13", "type": "" } ], - "src": "37859:366:13" + "src": "38155:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "38402:248:13", + "src": "38698:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "38412:26:13", + "src": "38708:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38424:9:13" + "src": "38720:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38435:2:13", + "src": "38731:2:13", "type": "", "value": "32" } @@ -17543,16 +17056,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38420:3:13" + "src": "38716:3:13" }, "nodeType": "YulFunctionCall", - "src": "38420:18:13" + "src": "38716:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38412:4:13" + "src": "38708:4:13" } ] }, @@ -17564,12 +17077,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38459:9:13" + "src": "38755:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38470:1:13", + "src": "38766:1:13", "type": "", "value": "0" } @@ -17577,68 +17090,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38455:3:13" + "src": "38751:3:13" }, "nodeType": "YulFunctionCall", - "src": "38455:17:13" + "src": "38751:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38478:4:13" + "src": "38774:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38484:9:13" + "src": "38780:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "38474:3:13" + "src": "38770:3:13" }, "nodeType": "YulFunctionCall", - "src": "38474:20:13" + "src": "38770:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38448:6:13" + "src": "38744:6:13" }, "nodeType": "YulFunctionCall", - "src": "38448:47:13" + "src": "38744:47:13" }, "nodeType": "YulExpressionStatement", - "src": "38448:47:13" + "src": "38744:47:13" }, { "nodeType": "YulAssignment", - "src": "38504:139:13", + "src": "38800:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38638:4:13" + "src": "38934:4:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "38512:124:13" + "src": "38808:124:13" }, "nodeType": "YulFunctionCall", - "src": "38512:131:13" + "src": "38808:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38504:4:13" + "src": "38800:4:13" } ] } @@ -17650,7 +17163,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "38382:9:13", + "src": "38678:9:13", "type": "" } ], @@ -17658,16 +17171,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "38397:4:13", + "src": "38693:4:13", "type": "" } ], - "src": "38231:419:13" + "src": "38527:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "38762:73:13", + "src": "39058:73:13", "statements": [ { "expression": { @@ -17677,12 +17190,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "38784:6:13" + "src": "39080:6:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38792:1:13", + "src": "39088:1:13", "type": "", "value": "0" } @@ -17690,16 +17203,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38780:3:13" + "src": "39076:3:13" }, "nodeType": "YulFunctionCall", - "src": "38780:14:13" + "src": "39076:14:13" }, { "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", "kind": "string", "nodeType": "YulLiteral", - "src": "38796:31:13", + "src": "39092:31:13", "type": "", "value": "Address: call to non-contract" } @@ -17707,13 +17220,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38773:6:13" + "src": "39069:6:13" }, "nodeType": "YulFunctionCall", - "src": "38773:55:13" + "src": "39069:55:13" }, "nodeType": "YulExpressionStatement", - "src": "38773:55:13" + "src": "39069:55:13" } ] }, @@ -17723,31 +17236,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "38754:6:13", + "src": "39050:6:13", "type": "" } ], - "src": "38656:179:13" + "src": "38952:179:13" }, { "body": { "nodeType": "YulBlock", - "src": "38987:220:13", + "src": "39283:220:13", "statements": [ { "nodeType": "YulAssignment", - "src": "38997:74:13", + "src": "39293:74:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39063:3:13" + "src": "39359:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39068:2:13", + "src": "39364:2:13", "type": "", "value": "29" } @@ -17755,16 +17268,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "39004:58:13" + "src": "39300:58:13" }, "nodeType": "YulFunctionCall", - "src": "39004:67:13" + "src": "39300:67:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38997:3:13" + "src": "39293:3:13" } ] }, @@ -17774,34 +17287,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39169:3:13" + "src": "39465:3:13" } ], "functionName": { "name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", "nodeType": "YulIdentifier", - "src": "39080:88:13" + "src": "39376:88:13" }, "nodeType": "YulFunctionCall", - "src": "39080:93:13" + "src": "39376:93:13" }, "nodeType": "YulExpressionStatement", - "src": "39080:93:13" + "src": "39376:93:13" }, { "nodeType": "YulAssignment", - "src": "39182:19:13", + "src": "39478:19:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39193:3:13" + "src": "39489:3:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39198:2:13", + "src": "39494:2:13", "type": "", "value": "32" } @@ -17809,16 +17322,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39189:3:13" + "src": "39485:3:13" }, "nodeType": "YulFunctionCall", - "src": "39189:12:13" + "src": "39485:12:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "39182:3:13" + "src": "39478:3:13" } ] } @@ -17830,7 +17343,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "38975:3:13", + "src": "39271:3:13", "type": "" } ], @@ -17838,31 +17351,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "38983:3:13", + "src": "39279:3:13", "type": "" } ], - "src": "38841:366:13" + "src": "39137:366:13" }, { "body": { "nodeType": "YulBlock", - "src": "39384:248:13", + "src": "39680:248:13", "statements": [ { "nodeType": "YulAssignment", - "src": "39394:26:13", + "src": "39690:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39406:9:13" + "src": "39702:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39417:2:13", + "src": "39713:2:13", "type": "", "value": "32" } @@ -17870,16 +17383,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39402:3:13" + "src": "39698:3:13" }, "nodeType": "YulFunctionCall", - "src": "39402:18:13" + "src": "39698:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39394:4:13" + "src": "39690:4:13" } ] }, @@ -17891,12 +17404,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39441:9:13" + "src": "39737:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39452:1:13", + "src": "39748:1:13", "type": "", "value": "0" } @@ -17904,68 +17417,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39437:3:13" + "src": "39733:3:13" }, "nodeType": "YulFunctionCall", - "src": "39437:17:13" + "src": "39733:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39460:4:13" + "src": "39756:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39466:9:13" + "src": "39762:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "39456:3:13" + "src": "39752:3:13" }, "nodeType": "YulFunctionCall", - "src": "39456:20:13" + "src": "39752:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39430:6:13" + "src": "39726:6:13" }, "nodeType": "YulFunctionCall", - "src": "39430:47:13" + "src": "39726:47:13" }, "nodeType": "YulExpressionStatement", - "src": "39430:47:13" + "src": "39726:47:13" }, { "nodeType": "YulAssignment", - "src": "39486:139:13", + "src": "39782:139:13", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39620:4:13" + "src": "39916:4:13" } ], "functionName": { "name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "39494:124:13" + "src": "39790:124:13" }, "nodeType": "YulFunctionCall", - "src": "39494:131:13" + "src": "39790:131:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39486:4:13" + "src": "39782:4:13" } ] } @@ -17977,7 +17490,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "39364:9:13", + "src": "39660:9:13", "type": "" } ], @@ -17985,134 +17498,53 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "39379:4:13", + "src": "39675:4:13", "type": "" } ], - "src": "39213:419:13" + "src": "39509:419:13" }, { "body": { "nodeType": "YulBlock", - "src": "39772:137:13", + "src": "39992:40:13", "statements": [ { "nodeType": "YulAssignment", - "src": "39783:100:13", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "39870:6:13" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "39879:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "39790:79:13" - }, - "nodeType": "YulFunctionCall", - "src": "39790:93:13" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "39783:3:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "39893:10:13", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "39900:3:13" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "39893:3:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "39751:3:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "39757:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "39768:3:13", - "type": "" - } - ], - "src": "39638:271:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39974:40:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "39985:22:13", + "src": "40003:22:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "40001:5:13" + "src": "40019:5:13" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "39995:5:13" + "src": "40013:5:13" }, "nodeType": "YulFunctionCall", - "src": "39995:12:13" + "src": "40013:12:13" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "39985:6:13" + "src": "40003:6:13" } ] } ] }, - "name": "array_length_t_string_memory_ptr", + "name": "array_length_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "39957:5:13", + "src": "39975:5:13", "type": "" } ], @@ -18120,74 +17552,342 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "39967:6:13", + "src": "39985:6:13", "type": "" } ], - "src": "39915:99:13" + "src": "39934:98:13" }, { "body": { "nodeType": "YulBlock", - "src": "40112:272:13", + "src": "40087:258:13", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "40122:53:13", + "src": "40097:10:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40106:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "40101:1:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40166:63:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "40191:3:13" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "40196:1:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40187:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "40187:11:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "40210:3:13" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "40215:1:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40206:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "40206:11:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "40200:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "40200:18:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40180:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "40180:39:13" + }, + "nodeType": "YulExpressionStatement", + "src": "40180:39:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "40127:1:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40130:6:13" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "40124:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "40124:13:13" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "40138:19:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40140:15:13", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "40149:1:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40152:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40145:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "40145:10:13" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "40140:1:13" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "40120:3:13", + "statements": [] + }, + "src": "40116:113:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40263:76:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "40313:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40318:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40309:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "40309:16:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40327:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40302:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "40302:27:13" + }, + "nodeType": "YulExpressionStatement", + "src": "40302:27:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "40244:1:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40247:6:13" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "40241:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "40241:13:13" + }, + "nodeType": "YulIf", + "src": "40238:101:13" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "40069:3:13", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "40074:3:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40079:6:13", + "type": "" + } + ], + "src": "40038:307:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40459:265:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "40469:52:13", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "40169:5:13" + "src": "40515:5:13" } ], "functionName": { - "name": "array_length_t_string_memory_ptr", + "name": "array_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "40136:32:13" + "src": "40483:31:13" }, "nodeType": "YulFunctionCall", - "src": "40136:39:13" + "src": "40483:38:13" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "40126:6:13", + "src": "40473:6:13", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "40184:78:13", + "src": "40530:95:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40250:3:13" + "src": "40613:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "40255:6:13" + "src": "40618:6:13" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "40191:58:13" + "src": "40537:75:13" }, "nodeType": "YulFunctionCall", - "src": "40191:71:13" + "src": "40537:88:13" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40184:3:13" + "src": "40530:3:13" } ] }, @@ -18199,12 +17899,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "40297:5:13" + "src": "40660:5:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40304:4:13", + "src": "40667:4:13", "type": "", "value": "0x20" } @@ -18212,73 +17912,381 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40293:3:13" + "src": "40656:3:13" }, "nodeType": "YulFunctionCall", - "src": "40293:16:13" + "src": "40656:16:13" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "40311:3:13" + "src": "40674:3:13" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "40316:6:13" + "src": "40679:6:13" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "40271:21:13" + "src": "40634:21:13" }, "nodeType": "YulFunctionCall", - "src": "40271:52:13" + "src": "40634:52:13" }, "nodeType": "YulExpressionStatement", - "src": "40271:52:13" + "src": "40634:52:13" }, { "nodeType": "YulAssignment", - "src": "40332:46:13", + "src": "40695:23:13", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40343:3:13" + "src": "40706:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40711:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40702:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "40702:16:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40695:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "40440:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40447:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40455:3:13", + "type": "" + } + ], + "src": "40351:373:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40864:137:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40875:100:13", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40962:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40971:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "40882:79:13" + }, + "nodeType": "YulFunctionCall", + "src": "40882:93:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40875:3:13" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "40985:10:13", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40992:3:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40985:3:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40843:3:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "40849:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40860:3:13", + "type": "" + } + ], + "src": "40730:271:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41066:40:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41077:22:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "41093:5:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "41087:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "41087:12:13" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41077:6:13" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "41049:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "41059:6:13", + "type": "" + } + ], + "src": "41007:99:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41204:272:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "41214:53:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "41261:5:13" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "41228:32:13" + }, + "nodeType": "YulFunctionCall", + "src": "41228:39:13" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "41218:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41276:78:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41342:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41347:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41283:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "41283:71:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41276:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "41389:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41396:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41385:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "41385:16:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41403:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41408:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "41363:21:13" + }, + "nodeType": "YulFunctionCall", + "src": "41363:52:13" + }, + "nodeType": "YulExpressionStatement", + "src": "41363:52:13" + }, + { + "nodeType": "YulAssignment", + "src": "41424:46:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41435:3:13" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "40370:6:13" + "src": "41462:6:13" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "40348:21:13" + "src": "41440:21:13" }, "nodeType": "YulFunctionCall", - "src": "40348:29:13" + "src": "41440:29:13" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40339:3:13" + "src": "41431:3:13" }, "nodeType": "YulFunctionCall", - "src": "40339:39:13" + "src": "41431:39:13" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "40332:3:13" + "src": "41424:3:13" } ] } @@ -18290,13 +18298,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "40093:5:13", + "src": "41185:5:13", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "40100:3:13", + "src": "41192:3:13", "type": "" } ], @@ -18304,31 +18312,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "40108:3:13", + "src": "41200:3:13", "type": "" } ], - "src": "40020:364:13" + "src": "41112:364:13" }, { "body": { "nodeType": "YulBlock", - "src": "40508:195:13", + "src": "41600:195:13", "statements": [ { "nodeType": "YulAssignment", - "src": "40518:26:13", + "src": "41610:26:13", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40530:9:13" + "src": "41622:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40541:2:13", + "src": "41633:2:13", "type": "", "value": "32" } @@ -18336,16 +18344,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40526:3:13" + "src": "41618:3:13" }, "nodeType": "YulFunctionCall", - "src": "40526:18:13" + "src": "41618:18:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40518:4:13" + "src": "41610:4:13" } ] }, @@ -18357,12 +18365,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40565:9:13" + "src": "41657:9:13" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40576:1:13", + "src": "41668:1:13", "type": "", "value": "0" } @@ -18370,73 +18378,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40561:3:13" + "src": "41653:3:13" }, "nodeType": "YulFunctionCall", - "src": "40561:17:13" + "src": "41653:17:13" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40584:4:13" + "src": "41676:4:13" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40590:9:13" + "src": "41682:9:13" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "40580:3:13" + "src": "41672:3:13" }, "nodeType": "YulFunctionCall", - "src": "40580:20:13" + "src": "41672:20:13" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "40554:6:13" + "src": "41646:6:13" }, "nodeType": "YulFunctionCall", - "src": "40554:47:13" + "src": "41646:47:13" }, "nodeType": "YulExpressionStatement", - "src": "40554:47:13" + "src": "41646:47:13" }, { "nodeType": "YulAssignment", - "src": "40610:86:13", + "src": "41702:86:13", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "40682:6:13" + "src": "41774:6:13" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "40691:4:13" + "src": "41783:4:13" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "40618:63:13" + "src": "41710:63:13" }, "nodeType": "YulFunctionCall", - "src": "40618:78:13" + "src": "41710:78:13" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40610:4:13" + "src": "41702:4:13" } ] } @@ -18448,13 +18456,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "40480:9:13", + "src": "41572:9:13", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "40492:6:13", + "src": "41584:6:13", "type": "" } ], @@ -18462,67 +18470,73 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "40503:4:13", + "src": "41595:4:13", "type": "" } ], - "src": "40390:313:13" + "src": "41482:313:13" } ] }, - "contents": "{\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_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\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 abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_address_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\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 revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { 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 let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_bytes32_t_uint8__to_t_bytes32_t_bytes32_t_uint8__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 abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value2, add(headStart, 64))\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 // address[2]\n function abi_decode_t_array$_t_address_$2_calldata_ptr(offset, end) -> arrayPos {\n arrayPos := offset\n if gt(add(arrayPos, mul(0x02, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // uint256[3]\n function abi_decode_t_array$_t_uint256_$3_calldata_ptr(offset, end) -> arrayPos {\n arrayPos := offset\n if gt(add(arrayPos, mul(0x03, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_address_$2_calldata_ptrt_array$_t_uint256_$3_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 192) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_array$_t_address_$2_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value1 := abi_decode_t_array$_t_uint256_$3_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 160))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n // address[3]\n function abi_decode_t_array$_t_address_$3_calldata_ptr(offset, end) -> arrayPos {\n arrayPos := offset\n if gt(add(arrayPos, mul(0x03, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_address_$3_calldata_ptrt_array$_t_uint256_$3_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_array$_t_address_$3_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value1 := abi_decode_t_array$_t_uint256_$3_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 192))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint8t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { 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 let offset := 32\n\n value1 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\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 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_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__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_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function shift_left_96(value) -> newValue {\n newValue :=\n\n shl(96, value)\n\n }\n\n function leftAlign_t_uint160(value) -> aligned {\n aligned := shift_left_96(value)\n }\n\n function leftAlign_t_address(value) -> aligned {\n aligned := leftAlign_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_address(cleanup_t_address(value)))\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\n }\n\n function abi_encode_tuple_packed_t_address_t_uint256_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_address_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value4, value3, value2, value1, value0) -> end {\n\n abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 20)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value2, pos)\n pos := add(pos, 20)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value3, pos)\n pos := add(pos, 32)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value4, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n function store_literal_in_memory_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87(memPtr) {\n\n mstore(add(memPtr, 0), \"invalid signature length\")\n\n }\n\n function abi_encode_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87__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_e0060b83051574ba40ded2ef248b0d17cb210e5fa4f776d436805ab1ebb12b87_to_t_string_memory_ptr_fromStack( tail)\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 // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: this signature has \")\n\n mstore(add(memPtr, 32), \"added to ignore list already\")\n\n }\n\n function abi_encode_t_stringliteral_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 60)\n store_literal_in_memory_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24__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_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: invalid signature\")\n\n }\n\n function abi_encode_t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n store_literal_in_memory_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820__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_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: invalid payment met\")\n\n mstore(add(memPtr, 32), \"hod\")\n\n }\n\n function abi_encode_t_stringliteral_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b__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_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: signature used. ple\")\n\n mstore(add(memPtr, 32), \"ase send another transaction wit\")\n\n mstore(add(memPtr, 64), \"h new signature\")\n\n }\n\n function abi_encode_t_stringliteral_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 79)\n store_literal_in_memory_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e(pos)\n end := add(pos, 96)\n }\n\n function abi_encode_tuple_t_stringliteral_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e__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_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: invalid seller sign\")\n\n mstore(add(memPtr, 32), \"ature\")\n\n }\n\n function abi_encode_t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba__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_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_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_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: seller is not owner\")\n\n mstore(add(memPtr, 32), \" of this item now\")\n\n }\n\n function abi_encode_t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa__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_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_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_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: buyer doesn't have \")\n\n mstore(add(memPtr, 32), \"enough token to buy this item\")\n\n }\n\n function abi_encode_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421__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_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: buyer doesn't appro\")\n\n mstore(add(memPtr, 32), \"ve marketplace to spend payment \")\n\n mstore(add(memPtr, 64), \"amount\")\n\n }\n\n function abi_encode_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 70)\n store_literal_in_memory_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5(pos)\n end := add(pos, 96)\n }\n\n function abi_encode_tuple_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5__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_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_encode_t_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(add(value, 0x20), pos, length)\n end := add(pos, length)\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 abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__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_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\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 store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(memPtr) {\n\n mstore(add(memPtr, 0), 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n\n }\n\n function abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(pos)\n end := add(pos, 28)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_address_t_address_t_address_t_uint256__to_t_address_t_uint256_t_address_t_address_t_address_t_uint256__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\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_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 store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(memPtr) {\n\n mstore(add(memPtr, 0), \"SafeERC20: ERC20 operation did n\")\n\n mstore(add(memPtr, 32), \"ot succeed\")\n\n }\n\n function abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__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_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: insufficient balance fo\")\n\n mstore(add(memPtr, 32), \"r call\")\n\n }\n\n function abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__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_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: call to non-contract\")\n\n }\n\n function abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack( tail)\n\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 array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n}\n", + "contents": "{\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_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\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 abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_address_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\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 revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 // address[2]\n function abi_decode_t_array$_t_address_$2_calldata_ptr(offset, end) -> arrayPos {\n arrayPos := offset\n if gt(add(arrayPos, mul(0x02, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // uint256[3]\n function abi_decode_t_array$_t_uint256_$3_calldata_ptr(offset, end) -> arrayPos {\n arrayPos := offset\n if gt(add(arrayPos, mul(0x03, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_address_$2_calldata_ptrt_array$_t_uint256_$3_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 192) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_array$_t_address_$2_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value1 := abi_decode_t_array$_t_uint256_$3_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 160))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n // address[3]\n function abi_decode_t_array$_t_address_$3_calldata_ptr(offset, end) -> arrayPos {\n arrayPos := offset\n if gt(add(arrayPos, mul(0x03, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_address_$3_calldata_ptrt_array$_t_uint256_$3_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 224) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_array$_t_address_$3_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value1 := abi_decode_t_array$_t_uint256_$3_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 192))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(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_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__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_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function shift_left_96(value) -> newValue {\n newValue :=\n\n shl(96, value)\n\n }\n\n function leftAlign_t_uint160(value) -> aligned {\n aligned := shift_left_96(value)\n }\n\n function leftAlign_t_address(value) -> aligned {\n aligned := leftAlign_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_address(cleanup_t_address(value)))\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\n }\n\n function abi_encode_tuple_packed_t_address_t_uint256_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_address_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value4, value3, value2, value1, value0) -> end {\n\n abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 20)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value2, pos)\n pos := add(pos, 20)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value3, pos)\n pos := add(pos, 32)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value4, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2(memPtr) {\n\n mstore(add(memPtr, 0), \"[BE] invalid signature length\")\n\n }\n\n function abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2__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_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a(memPtr) {\n\n mstore(add(memPtr, 0), \"[BE] invalid seller signature\")\n\n }\n\n function abi_encode_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a__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_55833f0f42ca753374c0cd97b85cc44788a3804804afe1ff03751c3a3999ab7a_to_t_string_memory_ptr_fromStack( tail)\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 // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: this signature has \")\n\n mstore(add(memPtr, 32), \"added to ignore list already\")\n\n }\n\n function abi_encode_t_stringliteral_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 60)\n store_literal_in_memory_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24__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_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: invalid payment met\")\n\n mstore(add(memPtr, 32), \"hod\")\n\n }\n\n function abi_encode_t_stringliteral_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b__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_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: signature used. ple\")\n\n mstore(add(memPtr, 32), \"ase send another transaction wit\")\n\n mstore(add(memPtr, 64), \"h new signature\")\n\n }\n\n function abi_encode_t_stringliteral_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 79)\n store_literal_in_memory_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e(pos)\n end := add(pos, 96)\n }\n\n function abi_encode_tuple_t_stringliteral_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e__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_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_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_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: seller is not owner\")\n\n mstore(add(memPtr, 32), \" of this item now\")\n\n }\n\n function abi_encode_t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa__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_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_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_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: buyer doesn't have \")\n\n mstore(add(memPtr, 32), \"enough token to buy this item\")\n\n }\n\n function abi_encode_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421__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_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5(memPtr) {\n\n mstore(add(memPtr, 0), \"Marketplace: buyer doesn't appro\")\n\n mstore(add(memPtr, 32), \"ve marketplace to spend payment \")\n\n mstore(add(memPtr, 64), \"amount\")\n\n }\n\n function abi_encode_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 70)\n store_literal_in_memory_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5(pos)\n end := add(pos, 96)\n }\n\n function abi_encode_tuple_t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5__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_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__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_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\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 store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(memPtr) {\n\n mstore(add(memPtr, 0), 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n\n }\n\n function abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(pos)\n end := add(pos, 28)\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 abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_address_t_address_t_address_t_uint256__to_t_address_t_uint256_t_address_t_address_t_address_t_uint256__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature\")\n\n }\n\n function abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__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_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature length\")\n\n }\n\n function abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__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_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 's' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__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_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 'v' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__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_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack( tail)\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_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 store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(memPtr) {\n\n mstore(add(memPtr, 0), \"SafeERC20: ERC20 operation did n\")\n\n mstore(add(memPtr, 32), \"ot succeed\")\n\n }\n\n function abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__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_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n function store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: insufficient balance fo\")\n\n mstore(add(memPtr, 32), \"r call\")\n\n }\n\n function abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__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_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: call to non-contract\")\n\n }\n\n function abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_encode_t_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(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 array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n}\n", "id": 13, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "434:5748:11:-:0;;;;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;434:5748:11;;640:96:6;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;434:5748:11:-;;;;;;;", - "deployedSourceMap": "434:5748:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1179:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5713:467;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1063:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1640:255;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1668:101:0;;;:::i;:::-;;1036:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;569:267:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;791:29:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1152:861:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;1303:331:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;614:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1901:785;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2770:2525;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;665:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;842:304:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;85:478:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;758:27:11;;;;;;;;;;;;;:::o;1179:118::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1275:15:11::1;1258:14;:32;;;;1179:118:::0;:::o;5713:467::-;5902:7;6005:11;6038:8;6068:13;6103:6;6131:10;5967:192;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5940:233;;;;;;5921:252;;5713:467;;;;;;;:::o;1063:110::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1153:13:11::1;1138:12;;:28;;;;;;;;;;;;;;;;;;1063:110:::0;:::o;1640:255::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1763:9:11::1;1758:131;1782:21;;:28;;1778:1;:32;1758:131;;;1873:5;1831:13;:39;1845:21;;1867:1;1845:24;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;1831:39;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;1812:3;;;;;:::i;:::-;;;;1758:131;;;;1640:255:::0;;:::o;1668:101:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1036:85::-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;569:267:10:-;691:7;711:9;722;733:7;744:26;759:10;744:14;:26::i;:::-;710:60;;;;;;788:41;798:21;821:1;824;827;788:41;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;781:48;;;;;569:267;;;;:::o;791:29:11:-;;;;:::o;1152:861:10:-;1252:9;1275;1298:7;1352:2;1338:3;:10;:16;1330:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;1779:2;1774:3;1770:12;1764:19;1759:24;;1847:2;1842:3;1838:12;1832:19;1827:24;;1952:2;1947:3;1943:12;1937:19;1934:1;1929:28;1924:33;;1152:861;;;;;:::o;1303:331:11:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1416:9:11::1;1411:217;1435:14;;:21;;1431:1;:25;1411:217;;;1517:4;1481:40;;:13;:32;1495:14;;1510:1;1495:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;1481:32;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;1477:87;;;1541:8;;1477:87;1613:4;1578:13:::0;:32:::1;1592:14;;1607:1;1592:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;1578:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;1411:217;1458:3;;;;;:::i;:::-;;;;1411:217;;;;1303:331:::0;;:::o;614:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;1901:785::-;2082:14;2097:9;;2082:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2081:26;2060:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;2203:27;2233:145;2261:9;2271:1;2261:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2287:6;2294:1;2287:9;;;;;;;:::i;:::-;;;;;;2310;2320:1;2310:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2336:6;2343:1;2336:9;;;;;;;:::i;:::-;;;;;;2359:6;2366:1;2359:9;;;;;;;:::i;:::-;;;;;;2233:14;:145::i;:::-;2203:175;;2389:28;2420:66;2457:19;2420:23;:66::i;:::-;2389:97;;2568:12;:10;:12::i;:::-;2518:62;;:46;2532:20;2554:9;;2518:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:46::i;:::-;:62;;;2497:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;2675:4;2647:14;2662:9;;2647:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;2050:636;;1901:785;;;;:::o;2770:2525::-;2929:4;3154;3123:35;;:13;:27;3137:9;3147:1;3137:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3123:27;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;3102:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;3252:14;3267:9;;3252:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3251:26;3230:152;;;;;;;;;;;;:::i;:::-;;;;;;;;;3393:27;3423:145;3451:9;3461:1;3451:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3477:6;3484:1;3477:9;;;;;;;:::i;:::-;;;;;;3500;3510:1;3500:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3526:6;3533:1;3526:9;;;;;;;:::i;:::-;;;;;;3549:6;3556:1;3549:9;;;;;;;:::i;:::-;;;;;;3423:14;:145::i;:::-;3393:175;;3579:28;3610:66;3647:19;3610:23;:66::i;:::-;3579:97;;3758:9;3768:1;3758:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3708:62;;:46;3722:20;3744:9;;3708:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:46::i;:::-;:62;;;3687:146;;;;;;;;;;;;:::i;:::-;;;;;;;;;3879:11;3901:9;3911:1;3901:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3879:35;;3971:9;3981:1;3971:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3945:38;;:3;:11;;;3957:6;3964:1;3957:9;;;;;;;:::i;:::-;;;;;;3945:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;;3924:134;;;;;;;;;;;;:::i;:::-;;;;;;;;;4121:22;4153:9;4163:1;4153:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;4121:45;;4240:6;4247:1;4240:9;;;;;;;:::i;:::-;;;;;;4197:15;:25;;;4223:12;:10;:12::i;:::-;4197:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;;4176:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;4425:6;4432:1;4425:9;;;;;;;:::i;:::-;;;;;;4367:15;:25;;;4393:12;:10;:12::i;:::-;4415:4;4367:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;4346:184;;;;;;;;;;;;:::i;:::-;;;;;;;;;4625:11;4639:40;4673:5;4639:29;4658:6;4665:1;4658:9;;;;;;;:::i;:::-;;;;;;4639:14;;:18;;:29;;;;:::i;:::-;:33;;:40;;;;:::i;:::-;4625:54;;4689:25;4717:18;4731:3;4717:6;4724:1;4717:9;;;;;;;:::i;:::-;;;;;;:13;;:18;;;;:::i;:::-;4689:46;;4782:125;4828:12;:10;:12::i;:::-;4854:9;4864:1;4854:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;4880:17;4782:15;:32;;;;:125;;;;;;:::i;:::-;4963:1;4957:3;:7;4953:103;;;4980:65;5013:12;:10;:12::i;:::-;5027;;;;;;;;;;;5041:3;4980:15;:32;;;;:65;;;;;;:::i;:::-;4953:103;5100:3;:20;;;5121:9;5131:1;5121:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;5135;:10;:12::i;:::-;5149:6;5156:1;5149:9;;;;;;;:::i;:::-;;;;;;5100:59;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5198:4;5170:14;5185:9;;5170:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;5239:28;5249:9;5260:6;5239:9;:28::i;:::-;5284:4;5277:11;;;;;;;;2770:2525;;;;;;:::o;665:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;842:304:10:-;929:14;955:19;:56;;;;;;;;;;;;;;;;;;;1025:20;1075:6;1082:1;1058:26;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1048:37;;;;;;1025:60;;1106:32;1116:12;1130:1;1133;1136;1106:32;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1097:41;;945:201;;842:304;;;;;;:::o;1918:198:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;85:478:10:-;185:7;512:12;418:124;;;;;;;;:::i;:::-;;;;;;;;;;;;;391:165;;;;;;372:184;;85:478;;;:::o;640:96:6:-;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;3451:96:9:-;3509:7;3539:1;3535;:5;;;;:::i;:::-;3528:12;;3451:96;;;;:::o;3836:::-;3894:7;3924:1;3920;:5;;;;:::i;:::-;3913:12;;3836:96;;;;:::o;3108:::-;3166:7;3196:1;3192;:5;;;;:::i;:::-;3185:12;;3108:96;;;;:::o;912:241:3:-;1050:96;1070:5;1100:27;;;1129:4;1135:2;1139:5;1077:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:19;:96::i;:::-;912:241;;;;:::o;5372:335:11:-;5526:6;5533:1;5526:9;;;;;;;:::i;:::-;;;;;;5496:204;5549:9;5559:1;5549:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;5575:6;5582:1;5575:9;;;;;;;:::i;:::-;;;;;;5598;5608:1;5598:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;5624:9;5634:1;5624:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;5650;:10;:12::i;:::-;5676:14;;5496:204;;;;;;;;;;;:::i;:::-;;;;;;;;5372:335;;:::o;3207:706:3:-;3626:23;3652:69;3680:4;3652:69;;;;;;;;;;;;;;;;;3660:5;3652:27;;;;:69;;;;;:::i;:::-;3626:95;;3755:1;3735:10;:17;:21;3731:176;;;3830:10;3819:30;;;;;;;;;;;;:::i;:::-;3811:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3731:176;3277:636;3207:706;;:::o;3514:223:5:-;3647:12;3678:52;3700:6;3708:4;3714:1;3717:12;3678:21;:52::i;:::-;3671:59;;3514:223;;;;;:::o;4601:499::-;4766:12;4823:5;4798:21;:30;;4790:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;4889:18;4900:6;4889:10;:18::i;:::-;4881:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;4953:12;4967:23;4994:6;:11;;5013:5;5020:4;4994:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4952:73;;;;5042:51;5059:7;5068:10;5080:12;5042:16;:51::i;:::-;5035:58;;;;4601:499;;;;;;:::o;771:377::-;831:4;1034:12;1099:7;1087:20;1079:28;;1140:1;1133:4;:8;1126:15;;;771:377;;;:::o;7214:692::-;7360:12;7388:7;7384:516;;;7418:10;7411:17;;;;7384:516;7549:1;7529:10;:17;:21;7525:365;;;7723:10;7717:17;7783:15;7770:10;7766:2;7762:19;7755:44;7525:365;7862:12;7855:20;;;;;;;;;;;:::i;:::-;;;;;;;;7214:692;;;;;;:::o;7:126:13:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:75::-;626:6;659:2;653:9;643:19;;593:75;:::o;674:117::-;783:1;780;773:12;797:117;906:1;903;896:12;920:77;957:7;986:5;975:16;;920:77;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:911::-;1979:6;1987;1995;2003;2011;2060:3;2048:9;2039:7;2035:23;2031:33;2028:120;;;2067:79;;:::i;:::-;2028:120;2187:1;2212:53;2257:7;2248:6;2237:9;2233:22;2212:53;:::i;:::-;2202:63;;2158:117;2314:2;2340:53;2385:7;2376:6;2365:9;2361:22;2340:53;:::i;:::-;2330:63;;2285:118;2442:2;2468:53;2513:7;2504:6;2493:9;2489:22;2468:53;:::i;:::-;2458:63;;2413:118;2570:2;2596:53;2641:7;2632:6;2621:9;2617:22;2596:53;:::i;:::-;2586:63;;2541:118;2698:3;2725:53;2770:7;2761:6;2750:9;2746:22;2725:53;:::i;:::-;2715:63;;2669:119;1884:911;;;;;;;;:::o;2801:77::-;2838:7;2867:5;2856:16;;2801:77;;;:::o;2884:118::-;2971:24;2989:5;2971:24;:::i;:::-;2966:3;2959:37;2884:118;;:::o;3008:222::-;3101:4;3139:2;3128:9;3124:18;3116:26;;3152:71;3220:1;3209:9;3205:17;3196:6;3152:71;:::i;:::-;3008:222;;;;:::o;3236:329::-;3295:6;3344:2;3332:9;3323:7;3319:23;3315:32;3312:119;;;3350:79;;:::i;:::-;3312:119;3470:1;3495:53;3540:7;3531:6;3520:9;3516:22;3495:53;:::i;:::-;3485:63;;3441:117;3236:329;;;;:::o;3571:117::-;3680:1;3677;3670:12;3694:117;3803:1;3800;3793:12;3817:117;3926:1;3923;3916:12;3957:568;4030:8;4040:6;4090:3;4083:4;4075:6;4071:17;4067:27;4057:122;;4098:79;;:::i;:::-;4057:122;4211:6;4198:20;4188:30;;4241:18;4233:6;4230:30;4227:117;;;4263:79;;:::i;:::-;4227:117;4377:4;4369:6;4365:17;4353:29;;4431:3;4423:4;4415:6;4411:17;4401:8;4397:32;4394:41;4391:128;;;4438:79;;:::i;:::-;4391:128;3957:568;;;;;:::o;4531:559::-;4617:6;4625;4674:2;4662:9;4653:7;4649:23;4645:32;4642:119;;;4680:79;;:::i;:::-;4642:119;4828:1;4817:9;4813:17;4800:31;4858:18;4850:6;4847:30;4844:117;;;4880:79;;:::i;:::-;4844:117;4993:80;5065:7;5056:6;5045:9;5041:22;4993:80;:::i;:::-;4975:98;;;;4771:312;4531:559;;;;;:::o;5096:122::-;5169:24;5187:5;5169:24;:::i;:::-;5162:5;5159:35;5149:63;;5208:1;5205;5198:12;5149:63;5096:122;:::o;5224:139::-;5270:5;5308:6;5295:20;5286:29;;5324:33;5351:5;5324:33;:::i;:::-;5224:139;;;;:::o;5369:117::-;5478:1;5475;5468:12;5492:102;5533:6;5584:2;5580:7;5575:2;5568:5;5564:14;5560:28;5550:38;;5492:102;;;:::o;5600:180::-;5648:77;5645:1;5638:88;5745:4;5742:1;5735:15;5769:4;5766:1;5759:15;5786:281;5869:27;5891:4;5869:27;:::i;:::-;5861:6;5857:40;5999:6;5987:10;5984:22;5963:18;5951:10;5948:34;5945:62;5942:88;;;6010:18;;:::i;:::-;5942:88;6050:10;6046:2;6039:22;5829:238;5786:281;;:::o;6073:129::-;6107:6;6134:20;;:::i;:::-;6124:30;;6163:33;6191:4;6183:6;6163:33;:::i;:::-;6073:129;;;:::o;6208:307::-;6269:4;6359:18;6351:6;6348:30;6345:56;;;6381:18;;:::i;:::-;6345:56;6419:29;6441:6;6419:29;:::i;:::-;6411:37;;6503:4;6497;6493:15;6485:23;;6208:307;;;:::o;6521:154::-;6605:6;6600:3;6595;6582:30;6667:1;6658:6;6653:3;6649:16;6642:27;6521:154;;;:::o;6681:410::-;6758:5;6783:65;6799:48;6840:6;6799:48;:::i;:::-;6783:65;:::i;:::-;6774:74;;6871:6;6864:5;6857:21;6909:4;6902:5;6898:16;6947:3;6938:6;6933:3;6929:16;6926:25;6923:112;;;6954:79;;:::i;:::-;6923:112;7044:41;7078:6;7073:3;7068;7044:41;:::i;:::-;6764:327;6681:410;;;;;:::o;7110:338::-;7165:5;7214:3;7207:4;7199:6;7195:17;7191:27;7181:122;;7222:79;;:::i;:::-;7181:122;7339:6;7326:20;7364:78;7438:3;7430:6;7423:4;7415:6;7411:17;7364:78;:::i;:::-;7355:87;;7171:277;7110:338;;;;:::o;7454:652::-;7531:6;7539;7588:2;7576:9;7567:7;7563:23;7559:32;7556:119;;;7594:79;;:::i;:::-;7556:119;7714:1;7739:53;7784:7;7775:6;7764:9;7760:22;7739:53;:::i;:::-;7729:63;;7685:117;7869:2;7858:9;7854:18;7841:32;7900:18;7892:6;7889:30;7886:117;;;7922:79;;:::i;:::-;7886:117;8027:62;8081:7;8072:6;8061:9;8057:22;8027:62;:::i;:::-;8017:72;;7812:287;7454:652;;;;;:::o;8112:118::-;8199:24;8217:5;8199:24;:::i;:::-;8194:3;8187:37;8112:118;;:::o;8236:222::-;8329:4;8367:2;8356:9;8352:18;8344:26;;8380:71;8448:1;8437:9;8433:17;8424:6;8380:71;:::i;:::-;8236:222;;;;:::o;8464:507::-;8532:6;8581:2;8569:9;8560:7;8556:23;8552:32;8549:119;;;8587:79;;:::i;:::-;8549:119;8735:1;8724:9;8720:17;8707:31;8765:18;8757:6;8754:30;8751:117;;;8787:79;;:::i;:::-;8751:117;8892:62;8946:7;8937:6;8926:9;8922:22;8892:62;:::i;:::-;8882:72;;8678:286;8464:507;;;;:::o;8977:86::-;9012:7;9052:4;9045:5;9041:16;9030:27;;8977:86;;;:::o;9069:112::-;9152:22;9168:5;9152:22;:::i;:::-;9147:3;9140:35;9069:112;;:::o;9187:434::-;9332:4;9370:2;9359:9;9355:18;9347:26;;9383:71;9451:1;9440:9;9436:17;9427:6;9383:71;:::i;:::-;9464:72;9532:2;9521:9;9517:18;9508:6;9464:72;:::i;:::-;9546:68;9610:2;9599:9;9595:18;9586:6;9546:68;:::i;:::-;9187:434;;;;;;:::o;9627:90::-;9661:7;9704:5;9697:13;9690:21;9679:32;;9627:90;;;:::o;9723:109::-;9804:21;9819:5;9804:21;:::i;:::-;9799:3;9792:34;9723:109;;:::o;9838:210::-;9925:4;9963:2;9952:9;9948:18;9940:26;;9976:65;10038:1;10027:9;10023:17;10014:6;9976:65;:::i;:::-;9838:210;;;;:::o;10072:249::-;10143:8;10174:6;10162:18;;10227:3;10219:4;10213;10209:15;10199:8;10195:30;10192:39;10189:126;;;10234:79;;:::i;:::-;10189:126;10072:249;;;;:::o;10345:::-;10416:8;10447:6;10435:18;;10500:3;10492:4;10486;10482:15;10472:8;10468:30;10465:39;10462:126;;;10507:79;;:::i;:::-;10462:126;10345:249;;;;:::o;10613:552::-;10670:8;10680:6;10730:3;10723:4;10715:6;10711:17;10707:27;10697:122;;10738:79;;:::i;:::-;10697:122;10851:6;10838:20;10828:30;;10881:18;10873:6;10870:30;10867:117;;;10903:79;;:::i;:::-;10867:117;11017:4;11009:6;11005:17;10993:29;;11071:3;11063:4;11055:6;11051:17;11041:8;11037:32;11034:41;11031:128;;;11078:79;;:::i;:::-;11031:128;10613:552;;;;;:::o;11171:919::-;11309:6;11317;11325;11333;11382:3;11370:9;11361:7;11357:23;11353:33;11350:120;;;11389:79;;:::i;:::-;11350:120;11509:1;11534:78;11604:7;11595:6;11584:9;11580:22;11534:78;:::i;:::-;11524:88;;11480:142;11661:2;11687:78;11757:7;11748:6;11737:9;11733:22;11687:78;:::i;:::-;11677:88;;11632:143;11842:3;11831:9;11827:19;11814:33;11874:18;11866:6;11863:30;11860:117;;;11896:79;;:::i;:::-;11860:117;12009:64;12065:7;12056:6;12045:9;12041:22;12009:64;:::i;:::-;11991:82;;;;11785:298;11171:919;;;;;;;:::o;12114:249::-;12185:8;12216:6;12204:18;;12269:3;12261:4;12255;12251:15;12241:8;12237:30;12234:39;12231:126;;;12276:79;;:::i;:::-;12231:126;12114:249;;;;:::o;12369:919::-;12507:6;12515;12523;12531;12580:3;12568:9;12559:7;12555:23;12551:33;12548:120;;;12587:79;;:::i;:::-;12548:120;12707:1;12732:78;12802:7;12793:6;12782:9;12778:22;12732:78;:::i;:::-;12722:88;;12678:142;12859:2;12885:78;12955:7;12946:6;12935:9;12931:22;12885:78;:::i;:::-;12875:88;;12830:143;13040:3;13029:9;13025:19;13012:33;13072:18;13064:6;13061:30;13058:117;;;13094:79;;:::i;:::-;13058:117;13207:64;13263:7;13254:6;13243:9;13239:22;13207:64;:::i;:::-;13189:82;;;;12983:298;12369:919;;;;;;;:::o;13294:118::-;13365:22;13381:5;13365:22;:::i;:::-;13358:5;13355:33;13345:61;;13402:1;13399;13392:12;13345:61;13294:118;:::o;13418:135::-;13462:5;13500:6;13487:20;13478:29;;13516:31;13541:5;13516:31;:::i;:::-;13418:135;;;;:::o;13559:761::-;13643:6;13651;13659;13667;13716:3;13704:9;13695:7;13691:23;13687:33;13684:120;;;13723:79;;:::i;:::-;13684:120;13843:1;13868:53;13913:7;13904:6;13893:9;13889:22;13868:53;:::i;:::-;13858:63;;13814:117;13970:2;13996:51;14039:7;14030:6;14019:9;14015:22;13996:51;:::i;:::-;13986:61;;13941:116;14096:2;14122:53;14167:7;14158:6;14147:9;14143:22;14122:53;:::i;:::-;14112:63;;14067:118;14224:2;14250:53;14295:7;14286:6;14275:9;14271:22;14250:53;:::i;:::-;14240:63;;14195:118;13559:761;;;;;;;:::o;14326:329::-;14385:6;14434:2;14422:9;14413:7;14409:23;14405:32;14402:119;;;14440:79;;:::i;:::-;14402:119;14560:1;14585:53;14630:7;14621:6;14610:9;14606:22;14585:53;:::i;:::-;14575:63;;14531:117;14326:329;;;;:::o;14661:169::-;14745:11;14779:6;14774:3;14767:19;14819:4;14814:3;14810:14;14795:29;;14661:169;;;;:::o;14836:182::-;14976:34;14972:1;14964:6;14960:14;14953:58;14836:182;:::o;15024:366::-;15166:3;15187:67;15251:2;15246:3;15187:67;:::i;:::-;15180:74;;15263:93;15352:3;15263:93;:::i;:::-;15381:2;15376:3;15372:12;15365:19;;15024:366;;;:::o;15396:419::-;15562:4;15600:2;15589:9;15585:18;15577:26;;15649:9;15643:4;15639:20;15635:1;15624:9;15620:17;15613:47;15677:131;15803:4;15677:131;:::i;:::-;15669:139;;15396:419;;;:::o;15821:94::-;15854:8;15902:5;15898:2;15894:14;15873:35;;15821:94;;;:::o;15921:::-;15960:7;15989:20;16003:5;15989:20;:::i;:::-;15978:31;;15921:94;;;:::o;16021:100::-;16060:7;16089:26;16109:5;16089:26;:::i;:::-;16078:37;;16021:100;;;:::o;16127:157::-;16232:45;16252:24;16270:5;16252:24;:::i;:::-;16232:45;:::i;:::-;16227:3;16220:58;16127:157;;:::o;16290:79::-;16329:7;16358:5;16347:16;;16290:79;;;:::o;16375:157::-;16480:45;16500:24;16518:5;16500:24;:::i;:::-;16480:45;:::i;:::-;16475:3;16468:58;16375:157;;:::o;16538:820::-;16762:3;16777:75;16848:3;16839:6;16777:75;:::i;:::-;16877:2;16872:3;16868:12;16861:19;;16890:75;16961:3;16952:6;16890:75;:::i;:::-;16990:2;16985:3;16981:12;16974:19;;17003:75;17074:3;17065:6;17003:75;:::i;:::-;17103:2;17098:3;17094:12;17087:19;;17116:75;17187:3;17178:6;17116:75;:::i;:::-;17216:2;17211:3;17207:12;17200:19;;17229:75;17300:3;17291:6;17229:75;:::i;:::-;17329:2;17324:3;17320:12;17313:19;;17349:3;17342:10;;16538:820;;;;;;;;:::o;17364:180::-;17412:77;17409:1;17402:88;17509:4;17506:1;17499:15;17533:4;17530:1;17523:15;17550:180;17598:77;17595:1;17588:88;17695:4;17692:1;17685:15;17719:4;17716:1;17709:15;17736:233;17775:3;17798:24;17816:5;17798:24;:::i;:::-;17789:33;;17844:66;17837:5;17834:77;17831:103;;;17914:18;;:::i;:::-;17831:103;17961:1;17954:5;17950:13;17943:20;;17736:233;;;:::o;17975:545::-;18148:4;18186:3;18175:9;18171:19;18163:27;;18200:71;18268:1;18257:9;18253:17;18244:6;18200:71;:::i;:::-;18281:68;18345:2;18334:9;18330:18;18321:6;18281:68;:::i;:::-;18359:72;18427:2;18416:9;18412:18;18403:6;18359:72;:::i;:::-;18441;18509:2;18498:9;18494:18;18485:6;18441:72;:::i;:::-;17975:545;;;;;;;:::o;18526:174::-;18666:26;18662:1;18654:6;18650:14;18643:50;18526:174;:::o;18706:366::-;18848:3;18869:67;18933:2;18928:3;18869:67;:::i;:::-;18862:74;;18945:93;19034:3;18945:93;:::i;:::-;19063:2;19058:3;19054:12;19047:19;;18706:366;;;:::o;19078:419::-;19244:4;19282:2;19271:9;19267:18;19259:26;;19331:9;19325:4;19321:20;19317:1;19306:9;19302:17;19295:47;19359:131;19485:4;19359:131;:::i;:::-;19351:139;;19078:419;;;:::o;19503:147::-;19604:11;19641:3;19626:18;;19503:147;;;;:::o;19678:314::-;19792:3;19813:88;19894:6;19889:3;19813:88;:::i;:::-;19806:95;;19911:43;19947:6;19942:3;19935:5;19911:43;:::i;:::-;19979:6;19974:3;19970:16;19963:23;;19678:314;;;;;:::o;19998:291::-;20138:3;20160:103;20259:3;20250:6;20242;20160:103;:::i;:::-;20153:110;;20280:3;20273:10;;19998:291;;;;;:::o;20295:247::-;20435:34;20431:1;20423:6;20419:14;20412:58;20504:30;20499:2;20491:6;20487:15;20480:55;20295:247;:::o;20548:366::-;20690:3;20711:67;20775:2;20770:3;20711:67;:::i;:::-;20704:74;;20787:93;20876:3;20787:93;:::i;:::-;20905:2;20900:3;20896:12;20889:19;;20548:366;;;:::o;20920:419::-;21086:4;21124:2;21113:9;21109:18;21101:26;;21173:9;21167:4;21163:20;21159:1;21148:9;21144:17;21137:47;21201:131;21327:4;21201:131;:::i;:::-;21193:139;;20920:419;;;:::o;21345:180::-;21485:32;21481:1;21473:6;21469:14;21462:56;21345:180;:::o;21531:366::-;21673:3;21694:67;21758:2;21753:3;21694:67;:::i;:::-;21687:74;;21770:93;21859:3;21770:93;:::i;:::-;21888:2;21883:3;21879:12;21872:19;;21531:366;;;:::o;21903:419::-;22069:4;22107:2;22096:9;22092:18;22084:26;;22156:9;22150:4;22146:20;22142:1;22131:9;22127:17;22120:47;22184:131;22310:4;22184:131;:::i;:::-;22176:139;;21903:419;;;:::o;22328:222::-;22468:34;22464:1;22456:6;22452:14;22445:58;22537:5;22532:2;22524:6;22520:15;22513:30;22328:222;:::o;22556:366::-;22698:3;22719:67;22783:2;22778:3;22719:67;:::i;:::-;22712:74;;22795:93;22884:3;22795:93;:::i;:::-;22913:2;22908:3;22904:12;22897:19;;22556:366;;;:::o;22928:419::-;23094:4;23132:2;23121:9;23117:18;23109:26;;23181:9;23175:4;23171:20;23167:1;23156:9;23152:17;23145:47;23209:131;23335:4;23209:131;:::i;:::-;23201:139;;22928:419;;;:::o;23353:303::-;23493:34;23489:1;23481:6;23477:14;23470:58;23562:34;23557:2;23549:6;23545:15;23538:59;23631:17;23626:2;23618:6;23614:15;23607:42;23353:303;:::o;23662:366::-;23804:3;23825:67;23889:2;23884:3;23825:67;:::i;:::-;23818:74;;23901:93;23990:3;23901:93;:::i;:::-;24019:2;24014:3;24010:12;24003:19;;23662:366;;;:::o;24034:419::-;24200:4;24238:2;24227:9;24223:18;24215:26;;24287:9;24281:4;24277:20;24273:1;24262:9;24258:17;24251:47;24315:131;24441:4;24315:131;:::i;:::-;24307:139;;24034:419;;;:::o;24459:224::-;24599:34;24595:1;24587:6;24583:14;24576:58;24668:7;24663:2;24655:6;24651:15;24644:32;24459:224;:::o;24689:366::-;24831:3;24852:67;24916:2;24911:3;24852:67;:::i;:::-;24845:74;;24928:93;25017:3;24928:93;:::i;:::-;25046:2;25041:3;25037:12;25030:19;;24689:366;;;:::o;25061:419::-;25227:4;25265:2;25254:9;25250:18;25242:26;;25314:9;25308:4;25304:20;25300:1;25289:9;25285:17;25278:47;25342:131;25468:4;25342:131;:::i;:::-;25334:139;;25061:419;;;:::o;25486:143::-;25543:5;25574:6;25568:13;25559:22;;25590:33;25617:5;25590:33;:::i;:::-;25486:143;;;;:::o;25635:351::-;25705:6;25754:2;25742:9;25733:7;25729:23;25725:32;25722:119;;;25760:79;;:::i;:::-;25722:119;25880:1;25905:64;25961:7;25952:6;25941:9;25937:22;25905:64;:::i;:::-;25895:74;;25851:128;25635:351;;;;:::o;25992:236::-;26132:34;26128:1;26120:6;26116:14;26109:58;26201:19;26196:2;26188:6;26184:15;26177:44;25992:236;:::o;26234:366::-;26376:3;26397:67;26461:2;26456:3;26397:67;:::i;:::-;26390:74;;26473:93;26562:3;26473:93;:::i;:::-;26591:2;26586:3;26582:12;26575:19;;26234:366;;;:::o;26606:419::-;26772:4;26810:2;26799:9;26795:18;26787:26;;26859:9;26853:4;26849:20;26845:1;26834:9;26830:17;26823:47;26887:131;27013:4;26887:131;:::i;:::-;26879:139;;26606:419;;;:::o;27031:143::-;27088:5;27119:6;27113:13;27104:22;;27135:33;27162:5;27135:33;:::i;:::-;27031:143;;;;:::o;27180:351::-;27250:6;27299:2;27287:9;27278:7;27274:23;27270:32;27267:119;;;27305:79;;:::i;:::-;27267:119;27425:1;27450:64;27506:7;27497:6;27486:9;27482:22;27450:64;:::i;:::-;27440:74;;27396:128;27180:351;;;;:::o;27537:248::-;27677:34;27673:1;27665:6;27661:14;27654:58;27746:31;27741:2;27733:6;27729:15;27722:56;27537:248;:::o;27791:366::-;27933:3;27954:67;28018:2;28013:3;27954:67;:::i;:::-;27947:74;;28030:93;28119:3;28030:93;:::i;:::-;28148:2;28143:3;28139:12;28132:19;;27791:366;;;:::o;28163:419::-;28329:4;28367:2;28356:9;28352:18;28344:26;;28416:9;28410:4;28406:20;28402:1;28391:9;28387:17;28380:47;28444:131;28570:4;28444:131;:::i;:::-;28436:139;;28163:419;;;:::o;28588:332::-;28709:4;28747:2;28736:9;28732:18;28724:26;;28760:71;28828:1;28817:9;28813:17;28804:6;28760:71;:::i;:::-;28841:72;28909:2;28898:9;28894:18;28885:6;28841:72;:::i;:::-;28588:332;;;;;:::o;28926:294::-;29066:34;29062:1;29054:6;29050:14;29043:58;29135:34;29130:2;29122:6;29118:15;29111:59;29204:8;29199:2;29191:6;29187:15;29180:33;28926:294;:::o;29226:366::-;29368:3;29389:67;29453:2;29448:3;29389:67;:::i;:::-;29382:74;;29465:93;29554:3;29465:93;:::i;:::-;29583:2;29578:3;29574:12;29567:19;;29226:366;;;:::o;29598:419::-;29764:4;29802:2;29791:9;29787:18;29779:26;;29851:9;29845:4;29841:20;29837:1;29826:9;29822:17;29815:47;29879:131;30005:4;29879:131;:::i;:::-;29871:139;;29598:419;;;:::o;30023:442::-;30172:4;30210:2;30199:9;30195:18;30187:26;;30223:71;30291:1;30280:9;30276:17;30267:6;30223:71;:::i;:::-;30304:72;30372:2;30361:9;30357:18;30348:6;30304:72;:::i;:::-;30386;30454:2;30443:9;30439:18;30430:6;30386:72;:::i;:::-;30023:442;;;;;;:::o;30471:98::-;30522:6;30556:5;30550:12;30540:22;;30471:98;;;:::o;30575:307::-;30643:1;30653:113;30667:6;30664:1;30661:13;30653:113;;;30752:1;30747:3;30743:11;30737:18;30733:1;30728:3;30724:11;30717:39;30689:2;30686:1;30682:10;30677:15;;30653:113;;;30784:6;30781:1;30778:13;30775:101;;;30864:1;30855:6;30850:3;30846:16;30839:27;30775:101;30624:258;30575:307;;;:::o;30888:373::-;30992:3;31020:38;31052:5;31020:38;:::i;:::-;31074:88;31155:6;31150:3;31074:88;:::i;:::-;31067:95;;31171:52;31216:6;31211:3;31204:4;31197:5;31193:16;31171:52;:::i;:::-;31248:6;31243:3;31239:16;31232:23;;30996:265;30888:373;;;;:::o;31267:79::-;31306:7;31335:5;31324:16;;31267:79;;;:::o;31352:157::-;31457:45;31477:24;31495:5;31477:24;:::i;:::-;31457:45;:::i;:::-;31452:3;31445:58;31352:157;;:::o;31515:412::-;31673:3;31695:93;31784:3;31775:6;31695:93;:::i;:::-;31688:100;;31798:75;31869:3;31860:6;31798:75;:::i;:::-;31898:2;31893:3;31889:12;31882:19;;31918:3;31911:10;;31515:412;;;;;:::o;31933:225::-;32073:34;32069:1;32061:6;32057:14;32050:58;32142:8;32137:2;32129:6;32125:15;32118:33;31933:225;:::o;32164:366::-;32306:3;32327:67;32391:2;32386:3;32327:67;:::i;:::-;32320:74;;32403:93;32492:3;32403:93;:::i;:::-;32521:2;32516:3;32512:12;32505:19;;32164:366;;;:::o;32536:419::-;32702:4;32740:2;32729:9;32725:18;32717:26;;32789:9;32783:4;32779:20;32775:1;32764:9;32760:17;32753:47;32817:131;32943:4;32817:131;:::i;:::-;32809:139;;32536:419;;;:::o;32961:148::-;33063:11;33100:3;33085:18;;32961:148;;;;:::o;33115:214::-;33255:66;33251:1;33243:6;33239:14;33232:90;33115:214;:::o;33335:402::-;33495:3;33516:85;33598:2;33593:3;33516:85;:::i;:::-;33509:92;;33610:93;33699:3;33610:93;:::i;:::-;33728:2;33723:3;33719:12;33712:19;;33335:402;;;:::o;33743:522::-;33956:3;33978:148;34122:3;33978:148;:::i;:::-;33971:155;;34136:75;34207:3;34198:6;34136:75;:::i;:::-;34236:2;34231:3;34227:12;34220:19;;34256:3;34249:10;;33743:522;;;;:::o;34271:348::-;34311:7;34334:20;34352:1;34334:20;:::i;:::-;34329:25;;34368:20;34386:1;34368:20;:::i;:::-;34363:25;;34556:1;34488:66;34484:74;34481:1;34478:81;34473:1;34466:9;34459:17;34455:105;34452:131;;;34563:18;;:::i;:::-;34452:131;34611:1;34608;34604:9;34593:20;;34271:348;;;;:::o;34625:180::-;34673:77;34670:1;34663:88;34770:4;34767:1;34760:15;34794:4;34791:1;34784:15;34811:185;34851:1;34868:20;34886:1;34868:20;:::i;:::-;34863:25;;34902:20;34920:1;34902:20;:::i;:::-;34897:25;;34941:1;34931:35;;34946:18;;:::i;:::-;34931:35;34988:1;34985;34981:9;34976:14;;34811:185;;;;:::o;35002:191::-;35042:4;35062:20;35080:1;35062:20;:::i;:::-;35057:25;;35096:20;35114:1;35096:20;:::i;:::-;35091:25;;35135:1;35132;35129:8;35126:34;;;35140:18;;:::i;:::-;35126:34;35185:1;35182;35178:9;35170:17;;35002:191;;;;:::o;35199:775::-;35432:4;35470:3;35459:9;35455:19;35447:27;;35484:71;35552:1;35541:9;35537:17;35528:6;35484:71;:::i;:::-;35565:72;35633:2;35622:9;35618:18;35609:6;35565:72;:::i;:::-;35647;35715:2;35704:9;35700:18;35691:6;35647:72;:::i;:::-;35729;35797:2;35786:9;35782:18;35773:6;35729:72;:::i;:::-;35811:73;35879:3;35868:9;35864:19;35855:6;35811:73;:::i;:::-;35894;35962:3;35951:9;35947:19;35938:6;35894:73;:::i;:::-;35199:775;;;;;;;;;:::o;35980:116::-;36050:21;36065:5;36050:21;:::i;:::-;36043:5;36040:32;36030:60;;36086:1;36083;36076:12;36030:60;35980:116;:::o;36102:137::-;36156:5;36187:6;36181:13;36172:22;;36203:30;36227:5;36203:30;:::i;:::-;36102:137;;;;:::o;36245:345::-;36312:6;36361:2;36349:9;36340:7;36336:23;36332:32;36329:119;;;36367:79;;:::i;:::-;36329:119;36487:1;36512:61;36565:7;36556:6;36545:9;36541:22;36512:61;:::i;:::-;36502:71;;36458:125;36245:345;;;;:::o;36596:229::-;36736:34;36732:1;36724:6;36720:14;36713:58;36805:12;36800:2;36792:6;36788:15;36781:37;36596:229;:::o;36831:366::-;36973:3;36994:67;37058:2;37053:3;36994:67;:::i;:::-;36987:74;;37070:93;37159:3;37070:93;:::i;:::-;37188:2;37183:3;37179:12;37172:19;;36831:366;;;:::o;37203:419::-;37369:4;37407:2;37396:9;37392:18;37384:26;;37456:9;37450:4;37446:20;37442:1;37431:9;37427:17;37420:47;37484:131;37610:4;37484:131;:::i;:::-;37476:139;;37203:419;;;:::o;37628:225::-;37768:34;37764:1;37756:6;37752:14;37745:58;37837:8;37832:2;37824:6;37820:15;37813:33;37628:225;:::o;37859:366::-;38001:3;38022:67;38086:2;38081:3;38022:67;:::i;:::-;38015:74;;38098:93;38187:3;38098:93;:::i;:::-;38216:2;38211:3;38207:12;38200:19;;37859:366;;;:::o;38231:419::-;38397:4;38435:2;38424:9;38420:18;38412:26;;38484:9;38478:4;38474:20;38470:1;38459:9;38455:17;38448:47;38512:131;38638:4;38512:131;:::i;:::-;38504:139;;38231:419;;;:::o;38656:179::-;38796:31;38792:1;38784:6;38780:14;38773:55;38656:179;:::o;38841:366::-;38983:3;39004:67;39068:2;39063:3;39004:67;:::i;:::-;38997:74;;39080:93;39169:3;39080:93;:::i;:::-;39198:2;39193:3;39189:12;39182:19;;38841:366;;;:::o;39213:419::-;39379:4;39417:2;39406:9;39402:18;39394:26;;39466:9;39460:4;39456:20;39452:1;39441:9;39437:17;39430:47;39494:131;39620:4;39494:131;:::i;:::-;39486:139;;39213:419;;;:::o;39638:271::-;39768:3;39790:93;39879:3;39870:6;39790:93;:::i;:::-;39783:100;;39900:3;39893:10;;39638:271;;;;:::o;39915:99::-;39967:6;40001:5;39995:12;39985:22;;39915:99;;;:::o;40020:364::-;40108:3;40136:39;40169:5;40136:39;:::i;:::-;40191:71;40255:6;40250:3;40191:71;:::i;:::-;40184:78;;40271:52;40316:6;40311:3;40304:4;40297:5;40293:16;40271:52;:::i;:::-;40348:29;40370:6;40348:29;:::i;:::-;40343:3;40339:39;40332:46;;40112:272;40020:364;;;;:::o;40390:313::-;40503:4;40541:2;40530:9;40526:18;40518:26;;40590:9;40584:4;40580:20;40576:1;40565:9;40561:17;40554:47;40618:78;40691:4;40682:6;40618:78;:::i;:::-;40610:86;;40390:313;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\nimport \"@openzeppelin/contracts/utils/math/Math.sol\";\nimport \"@openzeppelin/contracts/utils/math/SafeMath.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"./HasSignature.sol\";\n\ncontract Marketplace is Ownable, HasSignature {\n using SafeERC20 for IERC20;\n using SafeMath for uint256;\n\n // Supported payment token WETH & list of authorized ERC20\n mapping(address => bool) public paymentTokens;\n mapping(bytes => bool) public usedSignatures;\n\n // Address to receive transaction fee\n address public feeToAddress;\n uint256 public transactionFee;\n\n // Events\n event MatchTransaction(\n uint256 indexed tokenId,\n address contractAddress,\n uint256 price,\n address paymentToken,\n address seller,\n address buyer,\n uint256 fee\n );\n\n function setFeeToAddress(address _feeToAddress) public onlyOwner {\n feeToAddress = _feeToAddress;\n }\n\n function setTransactionFee(uint256 _transactionFee) public onlyOwner {\n transactionFee = _transactionFee;\n }\n\n function setPaymentTokens(address[] calldata _paymentTokens)\n public\n onlyOwner\n {\n for (uint256 i = 0; i < _paymentTokens.length; i++) {\n if (paymentTokens[_paymentTokens[i]] == true) {\n continue;\n }\n\n paymentTokens[_paymentTokens[i]] = true;\n }\n }\n\n function removePaymentTokens(address[] calldata _removedPaymentTokens)\n public\n onlyOwner\n {\n for (uint256 i = 0; i < _removedPaymentTokens.length; i++) {\n paymentTokens[_removedPaymentTokens[i]] = false;\n }\n }\n\n function ignoreSignature(\n address[2] calldata addresses,\n uint256[3] calldata values,\n bytes calldata signature\n ) external {\n require(\n !usedSignatures[signature],\n \"Marketplace: this signature has added to ignore list already\"\n );\n bytes32 criteriaMessageHash = getMessageHash(\n addresses[0],\n values[0],\n addresses[1],\n values[1],\n values[2]\n );\n\n bytes32 ethSignedMessageHash = getEthSignedMessageHash(\n criteriaMessageHash\n );\n\n require(\n recoverSigner(ethSignedMessageHash, signature) == _msgSender(),\n \"Marketplace: invalid signature\"\n );\n\n usedSignatures[signature] = true;\n }\n\n /**\n * @dev Function matched transaction with user signatures\n */\n function matchTransaction(\n address[3] calldata addresses,\n uint256[3] calldata values,\n bytes calldata signature\n ) external returns (bool) {\n // address[3] [seller_address,nft_address,payment_token_address]\n // uint256[3] [token_id,price,salt_nonce]\n // bytes seller_signature\n require(\n paymentTokens[addresses[2]] == true,\n \"Marketplace: invalid payment method\"\n );\n\n require(\n !usedSignatures[signature],\n \"Marketplace: signature used. please send another transaction with new signature\"\n );\n\n bytes32 criteriaMessageHash = getMessageHash(\n addresses[1],\n values[0],\n addresses[2],\n values[1],\n values[2]\n );\n\n bytes32 ethSignedMessageHash = getEthSignedMessageHash(\n criteriaMessageHash\n );\n\n require(\n recoverSigner(ethSignedMessageHash, signature) == addresses[0],\n \"Marketplace: invalid seller signature\"\n );\n\n // check current ownership\n IERC721 nft = IERC721(addresses[1]);\n require(\n nft.ownerOf(values[0]) == addresses[0],\n \"Marketplace: seller is not owner of this item now\"\n );\n\n // Check payment approval and buyer balance\n IERC20 paymentContract = IERC20(addresses[2]);\n require(\n paymentContract.balanceOf(_msgSender()) >= values[1],\n \"Marketplace: buyer doesn't have enough token to buy this item\"\n );\n require(\n paymentContract.allowance(_msgSender(), address(this)) >= values[1],\n \"Marketplace: buyer doesn't approve marketplace to spend payment amount\"\n );\n\n // We divide by 10000 to support decimal value such as 4.25% => 425 / 10000\n uint256 fee = transactionFee.mul(values[1]).div(10000);\n uint256 payToSellerAmount = values[1].sub(fee);\n\n // transfer money to seller\n paymentContract.safeTransferFrom(\n _msgSender(),\n addresses[0],\n payToSellerAmount\n );\n\n // transfer fee to address\n if (fee > 0) {\n paymentContract.safeTransferFrom(_msgSender(), feeToAddress, fee);\n }\n\n // transfer item to buyer\n nft.safeTransferFrom(addresses[0], _msgSender(), values[0]);\n\n usedSignatures[signature] = true;\n // emit sale event\n emitEvent(addresses, values);\n return true;\n }\n\n /**\n * @dev Function to emit transaction matched event\n */\n function emitEvent(\n address[3] calldata addresses,\n uint256[3] calldata values\n ) internal {\n emit MatchTransaction(\n values[0],\n addresses[1],\n values[1],\n addresses[2],\n addresses[0],\n _msgSender(),\n transactionFee\n );\n }\n\n function getMessageHash(\n address _nftAddress,\n uint256 _tokenId,\n address _paymentErc20,\n uint256 _price,\n uint256 _saltNonce\n ) public pure returns (bytes32) {\n return\n keccak256(\n abi.encodePacked(\n _nftAddress,\n _tokenId,\n _paymentErc20,\n _price,\n _saltNonce\n )\n );\n }\n}", + "sourceMap": "497:5645:12:-:0;;;;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;497:5645:12;;640:96:5;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;497:5645:12:-;;;;;;;", + "deployedSourceMap": "497:5645:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;821:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1242:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5673:467;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1126:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1703:255;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;149:452:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1668:101:0;;;:::i;:::-;;1036:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;854:29:12;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1366:331;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;677:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1964:879;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2927:2328;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;728:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;821:27:12;;;;;;;;;;;;;:::o;1242:118::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1338:15:12::1;1321:14;:32;;;;1242:118:::0;:::o;5673:467::-;5862:7;5965:11;5998:8;6028:13;6063:6;6091:10;5927:192;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5900:233;;;;;;5881:252;;5673:467;;;;;;;:::o;1126:110::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1216:13:12::1;1201:12;;:28;;;;;;;;;;;;;;;;;;1126:110:::0;:::o;1703:255::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1826:9:12::1;1821:131;1845:21;;:28;;1841:1;:32;1821:131;;;1936:5;1894:13;:39;1908:21;;1930:1;1908:24;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;1894:39;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;1875:3;;;;;:::i;:::-;;;;1821:131;;;;1703:255:::0;;:::o;149:452:11:-;305:2;285:9;:16;:22;277:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;351:28;382:56;424:4;382:28;:56::i;:::-;351:87;;457:17;477:46;491:20;513:9;477:13;:46::i;:::-;457:66;;554:6;541:19;;:9;:19;;;533:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;267:334;;149:452;;;:::o;1668:101:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1036:85::-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;854:29:12:-;;;;:::o;1366:331::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1479:9:12::1;1474:217;1498:14;;:21;;1494:1;:25;1474:217;;;1580:4;1544:40;;:13;:32;1558:14;;1573:1;1558:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;1544:32;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;1540:87;;;1604:8;;1540:87;1676:4;1641:13:::0;:32:::1;1655:14;;1670:1;1655:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;1641:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;1474:217;1521:3;;;;;:::i;:::-;;;;1474:217;;;;1366:331:::0;;:::o;677:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;1964:879::-;2145:14;2160:9;;2145:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2144:26;2123:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;2266:27;2296:145;2324:9;2334:1;2324:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2350:6;2357:1;2350:9;;;;;;;:::i;:::-;;;;;;2373;2383:1;2373:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2399:6;2406:1;2399:9;;;;;;;:::i;:::-;;;;;;2422:6;2429:1;2422:9;;;;;;;:::i;:::-;;;;;;2296:14;:145::i;:::-;2266:175;;2452:57;2464:12;:10;:12::i;:::-;2478:19;2499:9;;2452:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;:57::i;:::-;2832:4;2804:14;2819:9;;2804:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;2113:730;1964:879;;;;:::o;2927:2328::-;3086:4;3311;3280:35;;:13;:27;3294:9;3304:1;3294:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3280:27;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;3259:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;3409:14;3424:9;;3409:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3408:26;3387:152;;;;;;;;;;;;:::i;:::-;;;;;;;;;3550:27;3580:145;3608:9;3618:1;3608:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3634:6;3641:1;3634:9;;;;;;;:::i;:::-;;;;;;3657;3667:1;3657:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3683:6;3690:1;3683:9;;;;;;;:::i;:::-;;;;;;3706:6;3713:1;3706:9;;;;;;;:::i;:::-;;;;;;3580:14;:145::i;:::-;3550:175;;3736:57;3748:9;3758:1;3748:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3762:19;3783:9;;3736:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;:57::i;:::-;3839:11;3861:9;3871:1;3861:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3839:35;;3931:9;3941:1;3931:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3905:38;;:3;:11;;;3917:6;3924:1;3917:9;;;;;;;:::i;:::-;;;;;;3905:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;;3884:134;;;;;;;;;;;;:::i;:::-;;;;;;;;;4081:22;4113:9;4123:1;4113:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;4081:45;;4200:6;4207:1;4200:9;;;;;;;:::i;:::-;;;;;;4157:15;:25;;;4183:12;:10;:12::i;:::-;4157:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;;4136:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;4385:6;4392:1;4385:9;;;;;;;:::i;:::-;;;;;;4327:15;:25;;;4353:12;:10;:12::i;:::-;4375:4;4327:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;4306:184;;;;;;;;;;;;:::i;:::-;;;;;;;;;4585:11;4599:40;4633:5;4599:29;4618:6;4625:1;4618:9;;;;;;;:::i;:::-;;;;;;4599:14;;:18;;:29;;;;:::i;:::-;:33;;:40;;;;:::i;:::-;4585:54;;4649:25;4677:18;4691:3;4677:6;4684:1;4677:9;;;;;;;:::i;:::-;;;;;;:13;;:18;;;;:::i;:::-;4649:46;;4742:125;4788:12;:10;:12::i;:::-;4814:9;4824:1;4814:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;4840:17;4742:15;:32;;;;:125;;;;;;:::i;:::-;4923:1;4917:3;:7;4913:103;;;4940:65;4973:12;:10;:12::i;:::-;4987;;;;;;;;;;;5001:3;4940:15;:32;;;;:65;;;;;;:::i;:::-;4913:103;5060:3;:20;;;5081:9;5091:1;5081:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;5095;:10;:12::i;:::-;5109:6;5116:1;5109:9;;;;;;;:::i;:::-;;;;;;5060:59;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5158:4;5130:14;5145:9;;5130:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;5199:28;5209:9;5220:6;5199:9;:28::i;:::-;5244:4;5237:11;;;;;;;2927:2328;;;;;;:::o;728:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1918:198:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;8040:265:7:-;8109:7;8292:4;8239:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;8229:69;;;;;;8222:76;;8040:265;;;:::o;4293:227::-;4371:7;4391:17;4410:18;4432:27;4443:4;4449:9;4432:10;:27::i;:::-;4390:69;;;;4469:18;4481:5;4469:11;:18::i;:::-;4504:9;4497:16;;;;4293:227;;;;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;3451:96:10:-;3509:7;3539:1;3535;:5;;;;:::i;:::-;3528:12;;3451:96;;;;:::o;3836:::-;3894:7;3924:1;3920;:5;;;;:::i;:::-;3913:12;;3836:96;;;;:::o;3108:::-;3166:7;3196:1;3192;:5;;;;:::i;:::-;3185:12;;3108:96;;;;:::o;912:241:2:-;1050:96;1070:5;1100:27;;;1129:4;1135:2;1139:5;1077:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:19;:96::i;:::-;912:241;;;;:::o;5332:335:12:-;5486:6;5493:1;5486:9;;;;;;;:::i;:::-;;;;;;5456:204;5509:9;5519:1;5509:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;5535:6;5542:1;5535:9;;;;;;;:::i;:::-;;;;;;5558;5568:1;5558:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;5584:9;5594:1;5584:12;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;5610;:10;:12::i;:::-;5636:14;;5456:204;;;;;;;;;;;:::i;:::-;;;;;;;;5332:335;;:::o;2228:1279:7:-;2309:7;2318:12;2559:2;2539:9;:16;:22;2535:966;;;2577:9;2600;2623:7;2828:4;2817:9;2813:20;2807:27;2802:32;;2877:4;2866:9;2862:20;2856:27;2851:32;;2934:4;2923:9;2919:20;2913:27;2910:1;2905:36;2900:41;;2975:25;2986:4;2992:1;2995;2998;2975:10;:25::i;:::-;2968:32;;;;;;;;;2535:966;3041:2;3021:9;:16;:22;3017:484;;;3059:9;3082:10;3290:4;3279:9;3275:20;3269:27;3264:32;;3340:4;3329:9;3325:20;3319:27;3313:33;;3380:23;3391:4;3397:1;3400:2;3380:10;:23::i;:::-;3373:30;;;;;;;;3017:484;3450:1;3454:35;3434:56;;;;2228:1279;;;;;;:::o;533:631::-;610:20;601:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;597:561;;;646:7;;597:561;706:29;697:38;;;;;;;;:::i;:::-;;:5;:38;;;;;;;;:::i;:::-;;;693:465;;;751:34;;;;;;;;;;:::i;:::-;;;;;;;;693:465;815:35;806:44;;;;;;;;:::i;:::-;;:5;:44;;;;;;;;:::i;:::-;;;802:356;;;866:41;;;;;;;;;;:::i;:::-;;;;;;;;802:356;937:30;928:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;924:234;;;983:44;;;;;;;;;;:::i;:::-;;;;;;;;924:234;1057:30;1048:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;1044:114;;;1103:44;;;;;;;;;;:::i;:::-;;;;;;;;1044:114;533:631;;:::o;3207:706:2:-;3626:23;3652:69;3680:4;3652:69;;;;;;;;;;;;;;;;;3660:5;3652:27;;;;:69;;;;;:::i;:::-;3626:95;;3755:1;3735:10;:17;:21;3731:176;;;3830:10;3819:30;;;;;;;;;;;;:::i;:::-;3811:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3731:176;3277:636;3207:706;;:::o;5744:1603:7:-;5870:7;5879:12;6794:66;6789:1;6781:10;;:79;6777:161;;;6892:1;6896:30;6876:51;;;;;;6777:161;6956:2;6951:1;:7;;;;:18;;;;;6967:2;6962:1;:7;;;;6951:18;6947:100;;;7001:1;7005:30;6985:51;;;;;;6947:100;7141:14;7158:24;7168:4;7174:1;7177;7180;7158:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7141:41;;7214:1;7196:20;;:6;:20;;;7192:101;;;7248:1;7252:29;7232:50;;;;;;;7192:101;7311:6;7319:20;7303:37;;;;;5744:1603;;;;;;;;:::o;4774:379::-;4884:7;4893:12;4917:9;4936:7;4989:66;4985:2;4981:75;4976:80;;5092:2;5087;5082:3;5078:12;5074:21;5069:26;;5121:25;5132:4;5138:1;5141;5144;5121:10;:25::i;:::-;5114:32;;;;;;4774:379;;;;;;:::o;3514:223:4:-;3647:12;3678:52;3700:6;3708:4;3714:1;3717:12;3678:21;:52::i;:::-;3671:59;;3514:223;;;;;:::o;4601:499::-;4766:12;4823:5;4798:21;:30;;4790:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;4889:18;4900:6;4889:10;:18::i;:::-;4881:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;4953:12;4967:23;4994:6;:11;;5013:5;5020:4;4994:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4952:73;;;;5042:51;5059:7;5068:10;5080:12;5042:16;:51::i;:::-;5035:58;;;;4601:499;;;;;;:::o;771:377::-;831:4;1034:12;1099:7;1087:20;1079:28;;1140:1;1133:4;:8;1126:15;;;771:377;;;:::o;7214:692::-;7360:12;7388:7;7384:516;;;7418:10;7411:17;;;;7384:516;7549:1;7529:10;:17;:21;7525:365;;;7723:10;7717:17;7783:15;7770:10;7766:2;7762:19;7755:44;7525:365;7862:12;7855:20;;;;;;;;;;;:::i;:::-;;;;;;;;7214:692;;;;;;:::o;7:126:13:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:75::-;626:6;659:2;653:9;643:19;;593:75;:::o;674:117::-;783:1;780;773:12;797:117;906:1;903;896:12;920:77;957:7;986:5;975:16;;920:77;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:911::-;1979:6;1987;1995;2003;2011;2060:3;2048:9;2039:7;2035:23;2031:33;2028:120;;;2067:79;;:::i;:::-;2028:120;2187:1;2212:53;2257:7;2248:6;2237:9;2233:22;2212:53;:::i;:::-;2202:63;;2158:117;2314:2;2340:53;2385:7;2376:6;2365:9;2361:22;2340:53;:::i;:::-;2330:63;;2285:118;2442:2;2468:53;2513:7;2504:6;2493:9;2489:22;2468:53;:::i;:::-;2458:63;;2413:118;2570:2;2596:53;2641:7;2632:6;2621:9;2617:22;2596:53;:::i;:::-;2586:63;;2541:118;2698:3;2725:53;2770:7;2761:6;2750:9;2746:22;2725:53;:::i;:::-;2715:63;;2669:119;1884:911;;;;;;;;:::o;2801:77::-;2838:7;2867:5;2856:16;;2801:77;;;:::o;2884:118::-;2971:24;2989:5;2971:24;:::i;:::-;2966:3;2959:37;2884:118;;:::o;3008:222::-;3101:4;3139:2;3128:9;3124:18;3116:26;;3152:71;3220:1;3209:9;3205:17;3196:6;3152:71;:::i;:::-;3008:222;;;;:::o;3236:329::-;3295:6;3344:2;3332:9;3323:7;3319:23;3315:32;3312:119;;;3350:79;;:::i;:::-;3312:119;3470:1;3495:53;3540:7;3531:6;3520:9;3516:22;3495:53;:::i;:::-;3485:63;;3441:117;3236:329;;;;:::o;3571:117::-;3680:1;3677;3670:12;3694:117;3803:1;3800;3793:12;3817:117;3926:1;3923;3916:12;3957:568;4030:8;4040:6;4090:3;4083:4;4075:6;4071:17;4067:27;4057:122;;4098:79;;:::i;:::-;4057:122;4211:6;4198:20;4188:30;;4241:18;4233:6;4230:30;4227:117;;;4263:79;;:::i;:::-;4227:117;4377:4;4369:6;4365:17;4353:29;;4431:3;4423:4;4415:6;4411:17;4401:8;4397:32;4394:41;4391:128;;;4438:79;;:::i;:::-;4391:128;3957:568;;;;;:::o;4531:559::-;4617:6;4625;4674:2;4662:9;4653:7;4649:23;4645:32;4642:119;;;4680:79;;:::i;:::-;4642:119;4828:1;4817:9;4813:17;4800:31;4858:18;4850:6;4847:30;4844:117;;;4880:79;;:::i;:::-;4844:117;4993:80;5065:7;5056:6;5045:9;5041:22;4993:80;:::i;:::-;4975:98;;;;4771:312;4531:559;;;;;:::o;5096:122::-;5169:24;5187:5;5169:24;:::i;:::-;5162:5;5159:35;5149:63;;5208:1;5205;5198:12;5149:63;5096:122;:::o;5224:139::-;5270:5;5308:6;5295:20;5286:29;;5324:33;5351:5;5324:33;:::i;:::-;5224:139;;;;:::o;5369:117::-;5478:1;5475;5468:12;5492:102;5533:6;5584:2;5580:7;5575:2;5568:5;5564:14;5560:28;5550:38;;5492:102;;;:::o;5600:180::-;5648:77;5645:1;5638:88;5745:4;5742:1;5735:15;5769:4;5766:1;5759:15;5786:281;5869:27;5891:4;5869:27;:::i;:::-;5861:6;5857:40;5999:6;5987:10;5984:22;5963:18;5951:10;5948:34;5945:62;5942:88;;;6010:18;;:::i;:::-;5942:88;6050:10;6046:2;6039:22;5829:238;5786:281;;:::o;6073:129::-;6107:6;6134:20;;:::i;:::-;6124:30;;6163:33;6191:4;6183:6;6163:33;:::i;:::-;6073:129;;;:::o;6208:307::-;6269:4;6359:18;6351:6;6348:30;6345:56;;;6381:18;;:::i;:::-;6345:56;6419:29;6441:6;6419:29;:::i;:::-;6411:37;;6503:4;6497;6493:15;6485:23;;6208:307;;;:::o;6521:154::-;6605:6;6600:3;6595;6582:30;6667:1;6658:6;6653:3;6649:16;6642:27;6521:154;;;:::o;6681:410::-;6758:5;6783:65;6799:48;6840:6;6799:48;:::i;:::-;6783:65;:::i;:::-;6774:74;;6871:6;6864:5;6857:21;6909:4;6902:5;6898:16;6947:3;6938:6;6933:3;6929:16;6926:25;6923:112;;;6954:79;;:::i;:::-;6923:112;7044:41;7078:6;7073:3;7068;7044:41;:::i;:::-;6764:327;6681:410;;;;;:::o;7110:338::-;7165:5;7214:3;7207:4;7199:6;7195:17;7191:27;7181:122;;7222:79;;:::i;:::-;7181:122;7339:6;7326:20;7364:78;7438:3;7430:6;7423:4;7415:6;7411:17;7364:78;:::i;:::-;7355:87;;7171:277;7110:338;;;;:::o;7454:797::-;7540:6;7548;7556;7605:2;7593:9;7584:7;7580:23;7576:32;7573:119;;;7611:79;;:::i;:::-;7573:119;7731:1;7756:53;7801:7;7792:6;7781:9;7777:22;7756:53;:::i;:::-;7746:63;;7702:117;7858:2;7884:53;7929:7;7920:6;7909:9;7905:22;7884:53;:::i;:::-;7874:63;;7829:118;8014:2;8003:9;7999:18;7986:32;8045:18;8037:6;8034:30;8031:117;;;8067:79;;:::i;:::-;8031:117;8172:62;8226:7;8217:6;8206:9;8202:22;8172:62;:::i;:::-;8162:72;;7957:287;7454:797;;;;;:::o;8257:118::-;8344:24;8362:5;8344:24;:::i;:::-;8339:3;8332:37;8257:118;;:::o;8381:222::-;8474:4;8512:2;8501:9;8497:18;8489:26;;8525:71;8593:1;8582:9;8578:17;8569:6;8525:71;:::i;:::-;8381:222;;;;:::o;8609:90::-;8643:7;8686:5;8679:13;8672:21;8661:32;;8609:90;;;:::o;8705:109::-;8786:21;8801:5;8786:21;:::i;:::-;8781:3;8774:34;8705:109;;:::o;8820:210::-;8907:4;8945:2;8934:9;8930:18;8922:26;;8958:65;9020:1;9009:9;9005:17;8996:6;8958:65;:::i;:::-;8820:210;;;;:::o;9054:249::-;9125:8;9156:6;9144:18;;9209:3;9201:4;9195;9191:15;9181:8;9177:30;9174:39;9171:126;;;9216:79;;:::i;:::-;9171:126;9054:249;;;;:::o;9327:::-;9398:8;9429:6;9417:18;;9482:3;9474:4;9468;9464:15;9454:8;9450:30;9447:39;9444:126;;;9489:79;;:::i;:::-;9444:126;9327:249;;;;:::o;9595:552::-;9652:8;9662:6;9712:3;9705:4;9697:6;9693:17;9689:27;9679:122;;9720:79;;:::i;:::-;9679:122;9833:6;9820:20;9810:30;;9863:18;9855:6;9852:30;9849:117;;;9885:79;;:::i;:::-;9849:117;9999:4;9991:6;9987:17;9975:29;;10053:3;10045:4;10037:6;10033:17;10023:8;10019:32;10016:41;10013:128;;;10060:79;;:::i;:::-;10013:128;9595:552;;;;;:::o;10153:919::-;10291:6;10299;10307;10315;10364:3;10352:9;10343:7;10339:23;10335:33;10332:120;;;10371:79;;:::i;:::-;10332:120;10491:1;10516:78;10586:7;10577:6;10566:9;10562:22;10516:78;:::i;:::-;10506:88;;10462:142;10643:2;10669:78;10739:7;10730:6;10719:9;10715:22;10669:78;:::i;:::-;10659:88;;10614:143;10824:3;10813:9;10809:19;10796:33;10856:18;10848:6;10845:30;10842:117;;;10878:79;;:::i;:::-;10842:117;10991:64;11047:7;11038:6;11027:9;11023:22;10991:64;:::i;:::-;10973:82;;;;10767:298;10153:919;;;;;;;:::o;11096:249::-;11167:8;11198:6;11186:18;;11251:3;11243:4;11237;11233:15;11223:8;11219:30;11216:39;11213:126;;;11258:79;;:::i;:::-;11213:126;11096:249;;;;:::o;11351:919::-;11489:6;11497;11505;11513;11562:3;11550:9;11541:7;11537:23;11533:33;11530:120;;;11569:79;;:::i;:::-;11530:120;11689:1;11714:78;11784:7;11775:6;11764:9;11760:22;11714:78;:::i;:::-;11704:88;;11660:142;11841:2;11867:78;11937:7;11928:6;11917:9;11913:22;11867:78;:::i;:::-;11857:88;;11812:143;12022:3;12011:9;12007:19;11994:33;12054:18;12046:6;12043:30;12040:117;;;12076:79;;:::i;:::-;12040:117;12189:64;12245:7;12236:6;12225:9;12221:22;12189:64;:::i;:::-;12171:82;;;;11965:298;11351:919;;;;;;;:::o;12276:507::-;12344:6;12393:2;12381:9;12372:7;12368:23;12364:32;12361:119;;;12399:79;;:::i;:::-;12361:119;12547:1;12536:9;12532:17;12519:31;12577:18;12569:6;12566:30;12563:117;;;12599:79;;:::i;:::-;12563:117;12704:62;12758:7;12749:6;12738:9;12734:22;12704:62;:::i;:::-;12694:72;;12490:286;12276:507;;;;:::o;12789:169::-;12873:11;12907:6;12902:3;12895:19;12947:4;12942:3;12938:14;12923:29;;12789:169;;;;:::o;12964:182::-;13104:34;13100:1;13092:6;13088:14;13081:58;12964:182;:::o;13152:366::-;13294:3;13315:67;13379:2;13374:3;13315:67;:::i;:::-;13308:74;;13391:93;13480:3;13391:93;:::i;:::-;13509:2;13504:3;13500:12;13493:19;;13152:366;;;:::o;13524:419::-;13690:4;13728:2;13717:9;13713:18;13705:26;;13777:9;13771:4;13767:20;13763:1;13752:9;13748:17;13741:47;13805:131;13931:4;13805:131;:::i;:::-;13797:139;;13524:419;;;:::o;13949:94::-;13982:8;14030:5;14026:2;14022:14;14001:35;;13949:94;;;:::o;14049:::-;14088:7;14117:20;14131:5;14117:20;:::i;:::-;14106:31;;14049:94;;;:::o;14149:100::-;14188:7;14217:26;14237:5;14217:26;:::i;:::-;14206:37;;14149:100;;;:::o;14255:157::-;14360:45;14380:24;14398:5;14380:24;:::i;:::-;14360:45;:::i;:::-;14355:3;14348:58;14255:157;;:::o;14418:79::-;14457:7;14486:5;14475:16;;14418:79;;;:::o;14503:157::-;14608:45;14628:24;14646:5;14628:24;:::i;:::-;14608:45;:::i;:::-;14603:3;14596:58;14503:157;;:::o;14666:820::-;14890:3;14905:75;14976:3;14967:6;14905:75;:::i;:::-;15005:2;15000:3;14996:12;14989:19;;15018:75;15089:3;15080:6;15018:75;:::i;:::-;15118:2;15113:3;15109:12;15102:19;;15131:75;15202:3;15193:6;15131:75;:::i;:::-;15231:2;15226:3;15222:12;15215:19;;15244:75;15315:3;15306:6;15244:75;:::i;:::-;15344:2;15339:3;15335:12;15328:19;;15357:75;15428:3;15419:6;15357:75;:::i;:::-;15457:2;15452:3;15448:12;15441:19;;15477:3;15470:10;;14666:820;;;;;;;;:::o;15492:180::-;15540:77;15537:1;15530:88;15637:4;15634:1;15627:15;15661:4;15658:1;15651:15;15678:180;15726:77;15723:1;15716:88;15823:4;15820:1;15813:15;15847:4;15844:1;15837:15;15864:233;15903:3;15926:24;15944:5;15926:24;:::i;:::-;15917:33;;15972:66;15965:5;15962:77;15959:103;;;16042:18;;:::i;:::-;15959:103;16089:1;16082:5;16078:13;16071:20;;15864:233;;;:::o;16103:179::-;16243:31;16239:1;16231:6;16227:14;16220:55;16103:179;:::o;16288:366::-;16430:3;16451:67;16515:2;16510:3;16451:67;:::i;:::-;16444:74;;16527:93;16616:3;16527:93;:::i;:::-;16645:2;16640:3;16636:12;16629:19;;16288:366;;;:::o;16660:419::-;16826:4;16864:2;16853:9;16849:18;16841:26;;16913:9;16907:4;16903:20;16899:1;16888:9;16884:17;16877:47;16941:131;17067:4;16941:131;:::i;:::-;16933:139;;16660:419;;;:::o;17085:179::-;17225:31;17221:1;17213:6;17209:14;17202:55;17085:179;:::o;17270:366::-;17412:3;17433:67;17497:2;17492:3;17433:67;:::i;:::-;17426:74;;17509:93;17598:3;17509:93;:::i;:::-;17627:2;17622:3;17618:12;17611:19;;17270:366;;;:::o;17642:419::-;17808:4;17846:2;17835:9;17831:18;17823:26;;17895:9;17889:4;17885:20;17881:1;17870:9;17866:17;17859:47;17923:131;18049:4;17923:131;:::i;:::-;17915:139;;17642:419;;;:::o;18067:147::-;18168:11;18205:3;18190:18;;18067:147;;;;:::o;18242:314::-;18356:3;18377:88;18458:6;18453:3;18377:88;:::i;:::-;18370:95;;18475:43;18511:6;18506:3;18499:5;18475:43;:::i;:::-;18543:6;18538:3;18534:16;18527:23;;18242:314;;;;;:::o;18562:291::-;18702:3;18724:103;18823:3;18814:6;18806;18724:103;:::i;:::-;18717:110;;18844:3;18837:10;;18562:291;;;;;:::o;18859:247::-;18999:34;18995:1;18987:6;18983:14;18976:58;19068:30;19063:2;19055:6;19051:15;19044:55;18859:247;:::o;19112:366::-;19254:3;19275:67;19339:2;19334:3;19275:67;:::i;:::-;19268:74;;19351:93;19440:3;19351:93;:::i;:::-;19469:2;19464:3;19460:12;19453:19;;19112:366;;;:::o;19484:419::-;19650:4;19688:2;19677:9;19673:18;19665:26;;19737:9;19731:4;19727:20;19723:1;19712:9;19708:17;19701:47;19765:131;19891:4;19765:131;:::i;:::-;19757:139;;19484:419;;;:::o;19909:222::-;20049:34;20045:1;20037:6;20033:14;20026:58;20118:5;20113:2;20105:6;20101:15;20094:30;19909:222;:::o;20137:366::-;20279:3;20300:67;20364:2;20359:3;20300:67;:::i;:::-;20293:74;;20376:93;20465:3;20376:93;:::i;:::-;20494:2;20489:3;20485:12;20478:19;;20137:366;;;:::o;20509:419::-;20675:4;20713:2;20702:9;20698:18;20690:26;;20762:9;20756:4;20752:20;20748:1;20737:9;20733:17;20726:47;20790:131;20916:4;20790:131;:::i;:::-;20782:139;;20509:419;;;:::o;20934:303::-;21074:34;21070:1;21062:6;21058:14;21051:58;21143:34;21138:2;21130:6;21126:15;21119:59;21212:17;21207:2;21199:6;21195:15;21188:42;20934:303;:::o;21243:366::-;21385:3;21406:67;21470:2;21465:3;21406:67;:::i;:::-;21399:74;;21482:93;21571:3;21482:93;:::i;:::-;21600:2;21595:3;21591:12;21584:19;;21243:366;;;:::o;21615:419::-;21781:4;21819:2;21808:9;21804:18;21796:26;;21868:9;21862:4;21858:20;21854:1;21843:9;21839:17;21832:47;21896:131;22022:4;21896:131;:::i;:::-;21888:139;;21615:419;;;:::o;22040:143::-;22097:5;22128:6;22122:13;22113:22;;22144:33;22171:5;22144:33;:::i;:::-;22040:143;;;;:::o;22189:351::-;22259:6;22308:2;22296:9;22287:7;22283:23;22279:32;22276:119;;;22314:79;;:::i;:::-;22276:119;22434:1;22459:64;22515:7;22506:6;22495:9;22491:22;22459:64;:::i;:::-;22449:74;;22405:128;22189:351;;;;:::o;22546:236::-;22686:34;22682:1;22674:6;22670:14;22663:58;22755:19;22750:2;22742:6;22738:15;22731:44;22546:236;:::o;22788:366::-;22930:3;22951:67;23015:2;23010:3;22951:67;:::i;:::-;22944:74;;23027:93;23116:3;23027:93;:::i;:::-;23145:2;23140:3;23136:12;23129:19;;22788:366;;;:::o;23160:419::-;23326:4;23364:2;23353:9;23349:18;23341:26;;23413:9;23407:4;23403:20;23399:1;23388:9;23384:17;23377:47;23441:131;23567:4;23441:131;:::i;:::-;23433:139;;23160:419;;;:::o;23585:143::-;23642:5;23673:6;23667:13;23658:22;;23689:33;23716:5;23689:33;:::i;:::-;23585:143;;;;:::o;23734:351::-;23804:6;23853:2;23841:9;23832:7;23828:23;23824:32;23821:119;;;23859:79;;:::i;:::-;23821:119;23979:1;24004:64;24060:7;24051:6;24040:9;24036:22;24004:64;:::i;:::-;23994:74;;23950:128;23734:351;;;;:::o;24091:248::-;24231:34;24227:1;24219:6;24215:14;24208:58;24300:31;24295:2;24287:6;24283:15;24276:56;24091:248;:::o;24345:366::-;24487:3;24508:67;24572:2;24567:3;24508:67;:::i;:::-;24501:74;;24584:93;24673:3;24584:93;:::i;:::-;24702:2;24697:3;24693:12;24686:19;;24345:366;;;:::o;24717:419::-;24883:4;24921:2;24910:9;24906:18;24898:26;;24970:9;24964:4;24960:20;24956:1;24945:9;24941:17;24934:47;24998:131;25124:4;24998:131;:::i;:::-;24990:139;;24717:419;;;:::o;25142:332::-;25263:4;25301:2;25290:9;25286:18;25278:26;;25314:71;25382:1;25371:9;25367:17;25358:6;25314:71;:::i;:::-;25395:72;25463:2;25452:9;25448:18;25439:6;25395:72;:::i;:::-;25142:332;;;;;:::o;25480:294::-;25620:34;25616:1;25608:6;25604:14;25597:58;25689:34;25684:2;25676:6;25672:15;25665:59;25758:8;25753:2;25745:6;25741:15;25734:33;25480:294;:::o;25780:366::-;25922:3;25943:67;26007:2;26002:3;25943:67;:::i;:::-;25936:74;;26019:93;26108:3;26019:93;:::i;:::-;26137:2;26132:3;26128:12;26121:19;;25780:366;;;:::o;26152:419::-;26318:4;26356:2;26345:9;26341:18;26333:26;;26405:9;26399:4;26395:20;26391:1;26380:9;26376:17;26369:47;26433:131;26559:4;26433:131;:::i;:::-;26425:139;;26152:419;;;:::o;26577:442::-;26726:4;26764:2;26753:9;26749:18;26741:26;;26777:71;26845:1;26834:9;26830:17;26821:6;26777:71;:::i;:::-;26858:72;26926:2;26915:9;26911:18;26902:6;26858:72;:::i;:::-;26940;27008:2;26997:9;26993:18;26984:6;26940:72;:::i;:::-;26577:442;;;;;;:::o;27025:225::-;27165:34;27161:1;27153:6;27149:14;27142:58;27234:8;27229:2;27221:6;27217:15;27210:33;27025:225;:::o;27256:366::-;27398:3;27419:67;27483:2;27478:3;27419:67;:::i;:::-;27412:74;;27495:93;27584:3;27495:93;:::i;:::-;27613:2;27608:3;27604:12;27597:19;;27256:366;;;:::o;27628:419::-;27794:4;27832:2;27821:9;27817:18;27809:26;;27881:9;27875:4;27871:20;27867:1;27856:9;27852:17;27845:47;27909:131;28035:4;27909:131;:::i;:::-;27901:139;;27628:419;;;:::o;28053:148::-;28155:11;28192:3;28177:18;;28053:148;;;;:::o;28207:214::-;28347:66;28343:1;28335:6;28331:14;28324:90;28207:214;:::o;28427:402::-;28587:3;28608:85;28690:2;28685:3;28608:85;:::i;:::-;28601:92;;28702:93;28791:3;28702:93;:::i;:::-;28820:2;28815:3;28811:12;28804:19;;28427:402;;;:::o;28835:79::-;28874:7;28903:5;28892:16;;28835:79;;;:::o;28920:157::-;29025:45;29045:24;29063:5;29045:24;:::i;:::-;29025:45;:::i;:::-;29020:3;29013:58;28920:157;;:::o;29083:522::-;29296:3;29318:148;29462:3;29318:148;:::i;:::-;29311:155;;29476:75;29547:3;29538:6;29476:75;:::i;:::-;29576:2;29571:3;29567:12;29560:19;;29596:3;29589:10;;29083:522;;;;:::o;29611:348::-;29651:7;29674:20;29692:1;29674:20;:::i;:::-;29669:25;;29708:20;29726:1;29708:20;:::i;:::-;29703:25;;29896:1;29828:66;29824:74;29821:1;29818:81;29813:1;29806:9;29799:17;29795:105;29792:131;;;29903:18;;:::i;:::-;29792:131;29951:1;29948;29944:9;29933:20;;29611:348;;;;:::o;29965:180::-;30013:77;30010:1;30003:88;30110:4;30107:1;30100:15;30134:4;30131:1;30124:15;30151:185;30191:1;30208:20;30226:1;30208:20;:::i;:::-;30203:25;;30242:20;30260:1;30242:20;:::i;:::-;30237:25;;30281:1;30271:35;;30286:18;;:::i;:::-;30271:35;30328:1;30325;30321:9;30316:14;;30151:185;;;;:::o;30342:191::-;30382:4;30402:20;30420:1;30402:20;:::i;:::-;30397:25;;30436:20;30454:1;30436:20;:::i;:::-;30431:25;;30475:1;30472;30469:8;30466:34;;;30480:18;;:::i;:::-;30466:34;30525:1;30522;30518:9;30510:17;;30342:191;;;;:::o;30539:775::-;30772:4;30810:3;30799:9;30795:19;30787:27;;30824:71;30892:1;30881:9;30877:17;30868:6;30824:71;:::i;:::-;30905:72;30973:2;30962:9;30958:18;30949:6;30905:72;:::i;:::-;30987;31055:2;31044:9;31040:18;31031:6;30987:72;:::i;:::-;31069;31137:2;31126:9;31122:18;31113:6;31069:72;:::i;:::-;31151:73;31219:3;31208:9;31204:19;31195:6;31151:73;:::i;:::-;31234;31302:3;31291:9;31287:19;31278:6;31234:73;:::i;:::-;30539:775;;;;;;;;;:::o;31320:180::-;31368:77;31365:1;31358:88;31465:4;31462:1;31455:15;31489:4;31486:1;31479:15;31506:174;31646:26;31642:1;31634:6;31630:14;31623:50;31506:174;:::o;31686:366::-;31828:3;31849:67;31913:2;31908:3;31849:67;:::i;:::-;31842:74;;31925:93;32014:3;31925:93;:::i;:::-;32043:2;32038:3;32034:12;32027:19;;31686:366;;;:::o;32058:419::-;32224:4;32262:2;32251:9;32247:18;32239:26;;32311:9;32305:4;32301:20;32297:1;32286:9;32282:17;32275:47;32339:131;32465:4;32339:131;:::i;:::-;32331:139;;32058:419;;;:::o;32483:181::-;32623:33;32619:1;32611:6;32607:14;32600:57;32483:181;:::o;32670:366::-;32812:3;32833:67;32897:2;32892:3;32833:67;:::i;:::-;32826:74;;32909:93;32998:3;32909:93;:::i;:::-;33027:2;33022:3;33018:12;33011:19;;32670:366;;;:::o;33042:419::-;33208:4;33246:2;33235:9;33231:18;33223:26;;33295:9;33289:4;33285:20;33281:1;33270:9;33266:17;33259:47;33323:131;33449:4;33323:131;:::i;:::-;33315:139;;33042:419;;;:::o;33467:221::-;33607:34;33603:1;33595:6;33591:14;33584:58;33676:4;33671:2;33663:6;33659:15;33652:29;33467:221;:::o;33694:366::-;33836:3;33857:67;33921:2;33916:3;33857:67;:::i;:::-;33850:74;;33933:93;34022:3;33933:93;:::i;:::-;34051:2;34046:3;34042:12;34035:19;;33694:366;;;:::o;34066:419::-;34232:4;34270:2;34259:9;34255:18;34247:26;;34319:9;34313:4;34309:20;34305:1;34294:9;34290:17;34283:47;34347:131;34473:4;34347:131;:::i;:::-;34339:139;;34066:419;;;:::o;34491:221::-;34631:34;34627:1;34619:6;34615:14;34608:58;34700:4;34695:2;34687:6;34683:15;34676:29;34491:221;:::o;34718:366::-;34860:3;34881:67;34945:2;34940:3;34881:67;:::i;:::-;34874:74;;34957:93;35046:3;34957:93;:::i;:::-;35075:2;35070:3;35066:12;35059:19;;34718:366;;;:::o;35090:419::-;35256:4;35294:2;35283:9;35279:18;35271:26;;35343:9;35337:4;35333:20;35329:1;35318:9;35314:17;35307:47;35371:131;35497:4;35371:131;:::i;:::-;35363:139;;35090:419;;;:::o;35515:116::-;35585:21;35600:5;35585:21;:::i;:::-;35578:5;35575:32;35565:60;;35621:1;35618;35611:12;35565:60;35515:116;:::o;35637:137::-;35691:5;35722:6;35716:13;35707:22;;35738:30;35762:5;35738:30;:::i;:::-;35637:137;;;;:::o;35780:345::-;35847:6;35896:2;35884:9;35875:7;35871:23;35867:32;35864:119;;;35902:79;;:::i;:::-;35864:119;36022:1;36047:61;36100:7;36091:6;36080:9;36076:22;36047:61;:::i;:::-;36037:71;;35993:125;35780:345;;;;:::o;36131:229::-;36271:34;36267:1;36259:6;36255:14;36248:58;36340:12;36335:2;36327:6;36323:15;36316:37;36131:229;:::o;36366:366::-;36508:3;36529:67;36593:2;36588:3;36529:67;:::i;:::-;36522:74;;36605:93;36694:3;36605:93;:::i;:::-;36723:2;36718:3;36714:12;36707:19;;36366:366;;;:::o;36738:419::-;36904:4;36942:2;36931:9;36927:18;36919:26;;36991:9;36985:4;36981:20;36977:1;36966:9;36962:17;36955:47;37019:131;37145:4;37019:131;:::i;:::-;37011:139;;36738:419;;;:::o;37163:86::-;37198:7;37238:4;37231:5;37227:16;37216:27;;37163:86;;;:::o;37255:112::-;37338:22;37354:5;37338:22;:::i;:::-;37333:3;37326:35;37255:112;;:::o;37373:545::-;37546:4;37584:3;37573:9;37569:19;37561:27;;37598:71;37666:1;37655:9;37651:17;37642:6;37598:71;:::i;:::-;37679:68;37743:2;37732:9;37728:18;37719:6;37679:68;:::i;:::-;37757:72;37825:2;37814:9;37810:18;37801:6;37757:72;:::i;:::-;37839;37907:2;37896:9;37892:18;37883:6;37839:72;:::i;:::-;37373:545;;;;;;;:::o;37924:225::-;38064:34;38060:1;38052:6;38048:14;38041:58;38133:8;38128:2;38120:6;38116:15;38109:33;37924:225;:::o;38155:366::-;38297:3;38318:67;38382:2;38377:3;38318:67;:::i;:::-;38311:74;;38394:93;38483:3;38394:93;:::i;:::-;38512:2;38507:3;38503:12;38496:19;;38155:366;;;:::o;38527:419::-;38693:4;38731:2;38720:9;38716:18;38708:26;;38780:9;38774:4;38770:20;38766:1;38755:9;38751:17;38744:47;38808:131;38934:4;38808:131;:::i;:::-;38800:139;;38527:419;;;:::o;38952:179::-;39092:31;39088:1;39080:6;39076:14;39069:55;38952:179;:::o;39137:366::-;39279:3;39300:67;39364:2;39359:3;39300:67;:::i;:::-;39293:74;;39376:93;39465:3;39376:93;:::i;:::-;39494:2;39489:3;39485:12;39478:19;;39137:366;;;:::o;39509:419::-;39675:4;39713:2;39702:9;39698:18;39690:26;;39762:9;39756:4;39752:20;39748:1;39737:9;39733:17;39726:47;39790:131;39916:4;39790:131;:::i;:::-;39782:139;;39509:419;;;:::o;39934:98::-;39985:6;40019:5;40013:12;40003:22;;39934:98;;;:::o;40038:307::-;40106:1;40116:113;40130:6;40127:1;40124:13;40116:113;;;40215:1;40210:3;40206:11;40200:18;40196:1;40191:3;40187:11;40180:39;40152:2;40149:1;40145:10;40140:15;;40116:113;;;40247:6;40244:1;40241:13;40238:101;;;40327:1;40318:6;40313:3;40309:16;40302:27;40238:101;40087:258;40038:307;;;:::o;40351:373::-;40455:3;40483:38;40515:5;40483:38;:::i;:::-;40537:88;40618:6;40613:3;40537:88;:::i;:::-;40530:95;;40634:52;40679:6;40674:3;40667:4;40660:5;40656:16;40634:52;:::i;:::-;40711:6;40706:3;40702:16;40695:23;;40459:265;40351:373;;;;:::o;40730:271::-;40860:3;40882:93;40971:3;40962:6;40882:93;:::i;:::-;40875:100;;40992:3;40985:10;;40730:271;;;;:::o;41007:99::-;41059:6;41093:5;41087:12;41077:22;;41007:99;;;:::o;41112:364::-;41200:3;41228:39;41261:5;41228:39;:::i;:::-;41283:71;41347:6;41342:3;41283:71;:::i;:::-;41276:78;;41363:52;41408:6;41403:3;41396:4;41389:5;41385:16;41363:52;:::i;:::-;41440:29;41462:6;41440:29;:::i;:::-;41435:3;41431:39;41424:46;;41204:272;41112:364;;;;:::o;41482:313::-;41595:4;41633:2;41622:9;41618:18;41610:26;;41682:9;41676:4;41672:20;41668:1;41657:9;41653:17;41646:47;41710:78;41783:4;41774:6;41710:78;:::i;:::-;41702:86;;41482:313;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\nimport \"@openzeppelin/contracts/utils/math/Math.sol\";\nimport \"@openzeppelin/contracts/utils/math/SafeMath.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\";\nimport \"./HasSignature.sol\";\n\ncontract Marketplace is Ownable, HasSignature {\n using SafeERC20 for IERC20;\n using SafeMath for uint256;\n\n // Supported payment token WETH & list of authorized ERC20\n mapping(address => bool) public paymentTokens;\n mapping(bytes => bool) public usedSignatures;\n\n // Address to receive transaction fee\n address public feeToAddress;\n uint256 public transactionFee;\n\n // Events\n event MatchTransaction(\n uint256 indexed tokenId,\n address contractAddress,\n uint256 price,\n address paymentToken,\n address seller,\n address buyer,\n uint256 fee\n );\n\n function setFeeToAddress(address _feeToAddress) public onlyOwner {\n feeToAddress = _feeToAddress;\n }\n\n function setTransactionFee(uint256 _transactionFee) public onlyOwner {\n transactionFee = _transactionFee;\n }\n\n function setPaymentTokens(address[] calldata _paymentTokens)\n public\n onlyOwner\n {\n for (uint256 i = 0; i < _paymentTokens.length; i++) {\n if (paymentTokens[_paymentTokens[i]] == true) {\n continue;\n }\n\n paymentTokens[_paymentTokens[i]] = true;\n }\n }\n\n function removePaymentTokens(address[] calldata _removedPaymentTokens)\n public\n onlyOwner\n {\n for (uint256 i = 0; i < _removedPaymentTokens.length; i++) {\n paymentTokens[_removedPaymentTokens[i]] = false;\n }\n }\n\n function ignoreSignature(\n address[2] calldata addresses,\n uint256[3] calldata values,\n bytes calldata signature\n ) external {\n require(\n !usedSignatures[signature],\n \"Marketplace: this signature has added to ignore list already\"\n );\n bytes32 criteriaMessageHash = getMessageHash(\n addresses[0],\n values[0],\n addresses[1],\n values[1],\n values[2]\n );\n\n checkSigner(_msgSender(), criteriaMessageHash, signature);\n\n // bytes32 ethSignedMessageHash = ECDSA.toEthSignedMessageHash(\n // criteriaMessageHash\n // );\n\n // require(\n // recoverSigner(ethSignedMessageHash, signature) == _msgSender(),\n // \"Marketplace: invalid signature\"\n // );\n\n usedSignatures[signature] = true;\n }\n\n /**\n * @dev Function matched transaction with user signatures\n */\n function matchTransaction(\n address[3] calldata addresses,\n uint256[3] calldata values,\n bytes calldata signature\n ) external returns (bool) {\n // address[3] [seller_address,nft_address,payment_token_address]\n // uint256[3] [token_id,price,salt_nonce]\n // bytes seller_signature\n require(\n paymentTokens[addresses[2]] == true,\n \"Marketplace: invalid payment method\"\n );\n\n require(\n !usedSignatures[signature],\n \"Marketplace: signature used. please send another transaction with new signature\"\n );\n\n bytes32 criteriaMessageHash = getMessageHash(\n addresses[1],\n values[0],\n addresses[2],\n values[1],\n values[2]\n );\n\n checkSigner(addresses[0], criteriaMessageHash, signature);\n\n // check current ownership\n IERC721 nft = IERC721(addresses[1]);\n require(\n nft.ownerOf(values[0]) == addresses[0],\n \"Marketplace: seller is not owner of this item now\"\n );\n\n // Check payment approval and buyer balance\n IERC20 paymentContract = IERC20(addresses[2]);\n require(\n paymentContract.balanceOf(_msgSender()) >= values[1],\n \"Marketplace: buyer doesn't have enough token to buy this item\"\n );\n require(\n paymentContract.allowance(_msgSender(), address(this)) >= values[1],\n \"Marketplace: buyer doesn't approve marketplace to spend payment amount\"\n );\n\n // We divide by 10000 to support decimal value such as 4.25% => 425 / 10000\n uint256 fee = transactionFee.mul(values[1]).div(10000);\n uint256 payToSellerAmount = values[1].sub(fee);\n\n // transfer money to seller\n paymentContract.safeTransferFrom(\n _msgSender(),\n addresses[0],\n payToSellerAmount\n );\n\n // transfer fee to address\n if (fee > 0) {\n paymentContract.safeTransferFrom(_msgSender(), feeToAddress, fee);\n }\n\n // transfer item to buyer\n nft.safeTransferFrom(addresses[0], _msgSender(), values[0]);\n\n usedSignatures[signature] = true;\n // emit sale event\n emitEvent(addresses, values);\n return true;\n }\n\n /**\n * @dev Function to emit transaction matched event\n */\n function emitEvent(\n address[3] calldata addresses,\n uint256[3] calldata values\n ) internal {\n emit MatchTransaction(\n values[0],\n addresses[1],\n values[1],\n addresses[2],\n addresses[0],\n _msgSender(),\n transactionFee\n );\n }\n\n function getMessageHash(\n address _nftAddress,\n uint256 _tokenId,\n address _paymentErc20,\n uint256 _price,\n uint256 _saltNonce\n ) public pure returns (bytes32) {\n return\n keccak256(\n abi.encodePacked(\n _nftAddress,\n _tokenId,\n _paymentErc20,\n _price,\n _saltNonce\n )\n );\n }\n}", "sourcePath": "/Users/zhl/Documents/workspace/game/becrypto/contracts/MarketPlace.sol", "ast": { "absolutePath": "project:/contracts/MarketPlace.sol", "exportedSymbols": { "Address": [ - 893 + 819 ], "Context": [ - 915 + 841 + ], + "ECDSA": [ + 1434 ], "HasSignature": [ - 1431 + 1890 ], "IERC165": [ - 927 + 1446 ], "IERC20": [ - 256 + 182 ], "IERC721": [ - 596 + 522 ], "Marketplace": [ - 1908 + 2348 ], "Math": [ - 1015 + 1534 ], "Ownable": [ 104 ], "SafeERC20": [ - 480 + 406 ], "SafeMath": [ - 1327 + 1846 + ], + "Strings": [ + 1044 ] }, - "id": 1909, + "id": 2349, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1433, + "id": 1892, "literals": [ "solidity", "^", @@ -18530,89 +18544,101 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "32:23:11" + "src": "32:23:12" }, { "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "id": 1434, + "id": 1893, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 597, - "src": "57:58:11", + "scope": 2349, + "sourceUnit": 523, + "src": "57:58:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", "file": "@openzeppelin/contracts/utils/math/Math.sol", - "id": 1435, + "id": 1894, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 1016, - "src": "116:53:11", + "scope": 2349, + "sourceUnit": 1535, + "src": "116:53:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", "file": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "id": 1436, + "id": 1895, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 1328, - "src": "170:57:11", + "scope": 2349, + "sourceUnit": 1847, + "src": "170:57:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 1437, + "id": 1896, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 257, - "src": "228:56:11", + "scope": 2349, + "sourceUnit": 183, + "src": "228:56:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", - "id": 1438, + "id": 1897, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 481, - "src": "285:65:11", + "scope": 2349, + "sourceUnit": 407, + "src": "285:65:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 1439, + "id": 1898, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, + "scope": 2349, "sourceUnit": 105, - "src": "351:52:11", + "src": "351:52:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "file": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "id": 1899, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2349, + "sourceUnit": 1435, + "src": "404:62:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "project:/contracts/HasSignature.sol", "file": "./HasSignature.sol", - "id": 1440, + "id": 1900, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 1432, - "src": "404:28:11", + "scope": 2349, + "sourceUnit": 1891, + "src": "467:28:12", "symbolAliases": [], "unitAlias": "" }, @@ -18621,89 +18647,89 @@ "baseContracts": [ { "baseName": { - "id": 1441, + "id": 1901, "name": "Ownable", "nodeType": "IdentifierPath", "referencedDeclaration": 104, - "src": "458:7:11" + "src": "521:7:12" }, - "id": 1442, + "id": 1902, "nodeType": "InheritanceSpecifier", - "src": "458:7:11" + "src": "521:7:12" }, { "baseName": { - "id": 1443, + "id": 1903, "name": "HasSignature", "nodeType": "IdentifierPath", - "referencedDeclaration": 1431, - "src": "467:12:11" + "referencedDeclaration": 1890, + "src": "530:12:12" }, - "id": 1444, + "id": 1904, "nodeType": "InheritanceSpecifier", - "src": "467:12:11" + "src": "530:12:12" } ], "canonicalName": "Marketplace", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1908, + "id": 2348, "linearizedBaseContracts": [ - 1908, - 1431, + 2348, + 1890, 104, - 915 + 841 ], "name": "Marketplace", - "nameLocation": "443:11:11", + "nameLocation": "506:11:12", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1448, + "id": 1908, "libraryName": { - "id": 1445, + "id": 1905, "name": "SafeERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 480, - "src": "492:9:11" + "referencedDeclaration": 406, + "src": "555:9:12" }, "nodeType": "UsingForDirective", - "src": "486:27:11", + "src": "549:27:12", "typeName": { - "id": 1447, + "id": 1907, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1446, + "id": 1906, "name": "IERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 256, - "src": "506:6:11" + "referencedDeclaration": 182, + "src": "569:6:12" }, - "referencedDeclaration": 256, - "src": "506:6:11", + "referencedDeclaration": 182, + "src": "569:6:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } } }, { - "id": 1451, + "id": 1911, "libraryName": { - "id": 1449, + "id": 1909, "name": "SafeMath", "nodeType": "IdentifierPath", - "referencedDeclaration": 1327, - "src": "524:8:11" + "referencedDeclaration": 1846, + "src": "587:8:12" }, "nodeType": "UsingForDirective", - "src": "518:27:11", + "src": "581:27:12", "typeName": { - "id": 1450, + "id": 1910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "537:7:11", + "src": "600:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18713,13 +18739,13 @@ { "constant": false, "functionSelector": "c3b88b42", - "id": 1455, + "id": 1915, "mutability": "mutable", "name": "paymentTokens", - "nameLocation": "646:13:11", + "nameLocation": "709:13:12", "nodeType": "VariableDeclaration", - "scope": 1908, - "src": "614:45:11", + "scope": 2348, + "src": "677:45:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18727,28 +18753,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1454, + "id": 1914, "keyType": { - "id": 1452, + "id": 1912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "622:7:11", + "src": "685:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "614:24:11", + "src": "677:24:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1453, + "id": 1913, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "633:4:11", + "src": "696:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18760,13 +18786,13 @@ { "constant": false, "functionSelector": "e949580e", - "id": 1459, + "id": 1919, "mutability": "mutable", "name": "usedSignatures", - "nameLocation": "695:14:11", + "nameLocation": "758:14:12", "nodeType": "VariableDeclaration", - "scope": 1908, - "src": "665:44:11", + "scope": 2348, + "src": "728:44:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18774,28 +18800,28 @@ "typeString": "mapping(bytes => bool)" }, "typeName": { - "id": 1458, + "id": 1918, "keyType": { - "id": 1456, + "id": 1916, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "673:5:11", + "src": "736:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "nodeType": "Mapping", - "src": "665:22:11", + "src": "728:22:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes => bool)" }, "valueType": { - "id": 1457, + "id": 1917, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "682:4:11", + "src": "745:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18807,13 +18833,13 @@ { "constant": false, "functionSelector": "083d80f9", - "id": 1461, + "id": 1921, "mutability": "mutable", "name": "feeToAddress", - "nameLocation": "773:12:11", + "nameLocation": "836:12:12", "nodeType": "VariableDeclaration", - "scope": 1908, - "src": "758:27:11", + "scope": 2348, + "src": "821:27:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18821,10 +18847,10 @@ "typeString": "address" }, "typeName": { - "id": 1460, + "id": 1920, "name": "address", "nodeType": "ElementaryTypeName", - "src": "758:7:11", + "src": "821:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18836,13 +18862,13 @@ { "constant": false, "functionSelector": "9ed3edf0", - "id": 1463, + "id": 1923, "mutability": "mutable", "name": "transactionFee", - "nameLocation": "806:14:11", + "nameLocation": "869:14:12", "nodeType": "VariableDeclaration", - "scope": 1908, - "src": "791:29:11", + "scope": 2348, + "src": "854:29:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18850,10 +18876,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1462, + "id": 1922, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "791:7:11", + "src": "854:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18863,24 +18889,24 @@ }, { "anonymous": false, - "id": 1479, + "id": 1939, "name": "MatchTransaction", - "nameLocation": "847:16:11", + "nameLocation": "910:16:12", "nodeType": "EventDefinition", "parameters": { - "id": 1478, + "id": 1938, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1465, + "id": 1925, "indexed": true, "mutability": "mutable", "name": "tokenId", - "nameLocation": "889:7:11", + "nameLocation": "952:7:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "873:23:11", + "scope": 1939, + "src": "936:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18888,10 +18914,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1464, + "id": 1924, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "873:7:11", + "src": "936:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18901,14 +18927,14 @@ }, { "constant": false, - "id": 1467, + "id": 1927, "indexed": false, "mutability": "mutable", "name": "contractAddress", - "nameLocation": "914:15:11", + "nameLocation": "977:15:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "906:23:11", + "scope": 1939, + "src": "969:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18916,10 +18942,10 @@ "typeString": "address" }, "typeName": { - "id": 1466, + "id": 1926, "name": "address", "nodeType": "ElementaryTypeName", - "src": "906:7:11", + "src": "969:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18930,14 +18956,14 @@ }, { "constant": false, - "id": 1469, + "id": 1929, "indexed": false, "mutability": "mutable", "name": "price", - "nameLocation": "947:5:11", + "nameLocation": "1010:5:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "939:13:11", + "scope": 1939, + "src": "1002:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18945,10 +18971,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1468, + "id": 1928, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "939:7:11", + "src": "1002:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18958,14 +18984,14 @@ }, { "constant": false, - "id": 1471, + "id": 1931, "indexed": false, "mutability": "mutable", "name": "paymentToken", - "nameLocation": "970:12:11", + "nameLocation": "1033:12:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "962:20:11", + "scope": 1939, + "src": "1025:20:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18973,10 +18999,10 @@ "typeString": "address" }, "typeName": { - "id": 1470, + "id": 1930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "962:7:11", + "src": "1025:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18987,14 +19013,14 @@ }, { "constant": false, - "id": 1473, + "id": 1933, "indexed": false, "mutability": "mutable", "name": "seller", - "nameLocation": "1000:6:11", + "nameLocation": "1063:6:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "992:14:11", + "scope": 1939, + "src": "1055:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19002,10 +19028,10 @@ "typeString": "address" }, "typeName": { - "id": 1472, + "id": 1932, "name": "address", "nodeType": "ElementaryTypeName", - "src": "992:7:11", + "src": "1055:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19016,14 +19042,14 @@ }, { "constant": false, - "id": 1475, + "id": 1935, "indexed": false, "mutability": "mutable", "name": "buyer", - "nameLocation": "1024:5:11", + "nameLocation": "1087:5:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "1016:13:11", + "scope": 1939, + "src": "1079:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19031,10 +19057,10 @@ "typeString": "address" }, "typeName": { - "id": 1474, + "id": 1934, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1016:7:11", + "src": "1079:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19045,14 +19071,14 @@ }, { "constant": false, - "id": 1477, + "id": 1937, "indexed": false, "mutability": "mutable", "name": "fee", - "nameLocation": "1047:3:11", + "nameLocation": "1110:3:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "1039:11:11", + "scope": 1939, + "src": "1102:11:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19060,10 +19086,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1476, + "id": 1936, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1039:7:11", + "src": "1102:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19072,30 +19098,30 @@ "visibility": "internal" } ], - "src": "863:193:11" + "src": "926:193:12" }, - "src": "841:216:11" + "src": "904:216:12" }, { "body": { - "id": 1490, + "id": 1950, "nodeType": "Block", - "src": "1128:45:11", + "src": "1191:45:12", "statements": [ { "expression": { - "id": 1488, + "id": 1948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1486, + "id": 1946, "name": "feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "1138:12:11", + "referencedDeclaration": 1921, + "src": "1201:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19104,64 +19130,64 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1487, + "id": 1947, "name": "_feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "1153:13:11", + "referencedDeclaration": 1941, + "src": "1216:13:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1138:28:11", + "src": "1201:28:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1489, + "id": 1949, "nodeType": "ExpressionStatement", - "src": "1138:28:11" + "src": "1201:28:12" } ] }, "functionSelector": "580bb9a5", - "id": 1491, + "id": 1951, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1484, + "id": 1944, "kind": "modifierInvocation", "modifierName": { - "id": 1483, + "id": 1943, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "1118:9:11" + "src": "1181:9:12" }, "nodeType": "ModifierInvocation", - "src": "1118:9:11" + "src": "1181:9:12" } ], "name": "setFeeToAddress", - "nameLocation": "1072:15:11", + "nameLocation": "1135:15:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1482, + "id": 1942, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1481, + "id": 1941, "mutability": "mutable", "name": "_feeToAddress", - "nameLocation": "1096:13:11", + "nameLocation": "1159:13:12", "nodeType": "VariableDeclaration", - "scope": 1491, - "src": "1088:21:11", + "scope": 1951, + "src": "1151:21:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19169,10 +19195,10 @@ "typeString": "address" }, "typeName": { - "id": 1480, + "id": 1940, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1088:7:11", + "src": "1151:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19182,40 +19208,40 @@ "visibility": "internal" } ], - "src": "1087:23:11" + "src": "1150:23:12" }, "returnParameters": { - "id": 1485, + "id": 1945, "nodeType": "ParameterList", "parameters": [], - "src": "1128:0:11" + "src": "1191:0:12" }, - "scope": 1908, - "src": "1063:110:11", + "scope": 2348, + "src": "1126:110:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1502, + "id": 1962, "nodeType": "Block", - "src": "1248:49:11", + "src": "1311:49:12", "statements": [ { "expression": { - "id": 1500, + "id": 1960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1498, + "id": 1958, "name": "transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "1258:14:11", + "referencedDeclaration": 1923, + "src": "1321:14:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19224,64 +19250,64 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1499, + "id": 1959, "name": "_transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "1275:15:11", + "referencedDeclaration": 1953, + "src": "1338:15:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1258:32:11", + "src": "1321:32:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1501, + "id": 1961, "nodeType": "ExpressionStatement", - "src": "1258:32:11" + "src": "1321:32:12" } ] }, "functionSelector": "096a8ab7", - "id": 1503, + "id": 1963, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1496, + "id": 1956, "kind": "modifierInvocation", "modifierName": { - "id": 1495, + "id": 1955, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "1238:9:11" + "src": "1301:9:12" }, "nodeType": "ModifierInvocation", - "src": "1238:9:11" + "src": "1301:9:12" } ], "name": "setTransactionFee", - "nameLocation": "1188:17:11", + "nameLocation": "1251:17:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1494, + "id": 1954, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1493, + "id": 1953, "mutability": "mutable", "name": "_transactionFee", - "nameLocation": "1214:15:11", + "nameLocation": "1277:15:12", "nodeType": "VariableDeclaration", - "scope": 1503, - "src": "1206:23:11", + "scope": 1963, + "src": "1269:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19289,10 +19315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1492, + "id": 1952, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1206:7:11", + "src": "1269:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19301,31 +19327,31 @@ "visibility": "internal" } ], - "src": "1205:25:11" + "src": "1268:25:12" }, "returnParameters": { - "id": 1497, + "id": 1957, "nodeType": "ParameterList", "parameters": [], - "src": "1248:0:11" + "src": "1311:0:12" }, - "scope": 1908, - "src": "1179:118:11", + "scope": 2348, + "src": "1242:118:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1542, + "id": 2002, "nodeType": "Block", - "src": "1401:233:11", + "src": "1464:233:12", "statements": [ { "body": { - "id": 1540, + "id": 2000, "nodeType": "Block", - "src": "1463:165:11", + "src": "1526:165:12", "statements": [ { "condition": { @@ -19333,46 +19359,46 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1528, + "id": 1988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1522, + "id": 1982, "name": "paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "1481:13:11", + "referencedDeclaration": 1915, + "src": "1544:13:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1526, + "id": 1986, "indexExpression": { "baseExpression": { - "id": 1523, + "id": 1983, "name": "_paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1506, - "src": "1495:14:11", + "referencedDeclaration": 1966, + "src": "1558:14:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1525, + "id": 1985, "indexExpression": { - "id": 1524, + "id": 1984, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "1510:1:11", + "referencedDeclaration": 1972, + "src": "1573:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19383,7 +19409,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1495:17:11", + "src": "1558:17:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19394,7 +19420,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1481:32:11", + "src": "1544:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19404,84 +19430,84 @@ "operator": "==", "rightExpression": { "hexValue": "74727565", - "id": 1527, + "id": 1987, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1517:4:11", + "src": "1580:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "1481:40:11", + "src": "1544:40:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1531, + "id": 1991, "nodeType": "IfStatement", - "src": "1477:87:11", + "src": "1540:87:12", "trueBody": { - "id": 1530, + "id": 1990, "nodeType": "Block", - "src": "1523:41:11", + "src": "1586:41:12", "statements": [ { - "id": 1529, + "id": 1989, "nodeType": "Continue", - "src": "1541:8:11" + "src": "1604:8:12" } ] } }, { "expression": { - "id": 1538, + "id": 1998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1532, + "id": 1992, "name": "paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "1578:13:11", + "referencedDeclaration": 1915, + "src": "1641:13:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1536, + "id": 1996, "indexExpression": { "baseExpression": { - "id": 1533, + "id": 1993, "name": "_paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1506, - "src": "1592:14:11", + "referencedDeclaration": 1966, + "src": "1655:14:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1535, + "id": 1995, "indexExpression": { - "id": 1534, + "id": 1994, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "1607:1:11", + "referencedDeclaration": 1972, + "src": "1670:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19492,7 +19518,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1592:17:11", + "src": "1655:17:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19503,7 +19529,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1578:32:11", + "src": "1641:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19513,29 +19539,29 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1537, + "id": 1997, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1613:4:11", + "src": "1676:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "1578:39:11", + "src": "1641:39:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1539, + "id": 1999, "nodeType": "ExpressionStatement", - "src": "1578:39:11" + "src": "1641:39:12" } ] }, @@ -19544,18 +19570,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1518, + "id": 1978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1515, + "id": 1975, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "1431:1:11", + "referencedDeclaration": 1972, + "src": "1494:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19565,51 +19591,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1516, + "id": 1976, "name": "_paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1506, - "src": "1435:14:11", + "referencedDeclaration": 1966, + "src": "1498:14:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1517, + "id": 1977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1435:21:11", + "src": "1498:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1431:25:11", + "src": "1494:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1541, + "id": 2001, "initializationExpression": { "assignments": [ - 1512 + 1972 ], "declarations": [ { "constant": false, - "id": 1512, + "id": 1972, "mutability": "mutable", "name": "i", - "nameLocation": "1424:1:11", + "nameLocation": "1487:1:12", "nodeType": "VariableDeclaration", - "scope": 1541, - "src": "1416:9:11", + "scope": 2001, + "src": "1479:9:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19617,10 +19643,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1511, + "id": 1971, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1416:7:11", + "src": "1479:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19629,17 +19655,17 @@ "visibility": "internal" } ], - "id": 1514, + "id": 1974, "initialValue": { "hexValue": "30", - "id": 1513, + "id": 1973, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1428:1:11", + "src": "1491:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19647,11 +19673,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "1416:13:11" + "src": "1479:13:12" }, "loopExpression": { "expression": { - "id": 1520, + "id": 1980, "isConstant": false, "isLValue": false, "isPure": false, @@ -19659,14 +19685,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1458:3:11", + "src": "1521:3:12", "subExpression": { - "id": 1519, + "id": 1979, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "1458:1:11", + "referencedDeclaration": 1972, + "src": "1521:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19677,50 +19703,50 @@ "typeString": "uint256" } }, - "id": 1521, + "id": 1981, "nodeType": "ExpressionStatement", - "src": "1458:3:11" + "src": "1521:3:12" }, "nodeType": "ForStatement", - "src": "1411:217:11" + "src": "1474:217:12" } ] }, "functionSelector": "b88dccac", - "id": 1543, + "id": 2003, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1509, + "id": 1969, "kind": "modifierInvocation", "modifierName": { - "id": 1508, + "id": 1968, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "1387:9:11" + "src": "1450:9:12" }, "nodeType": "ModifierInvocation", - "src": "1387:9:11" + "src": "1450:9:12" } ], "name": "setPaymentTokens", - "nameLocation": "1312:16:11", + "nameLocation": "1375:16:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1507, + "id": 1967, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1506, + "id": 1966, "mutability": "mutable", "name": "_paymentTokens", - "nameLocation": "1348:14:11", + "nameLocation": "1411:14:12", "nodeType": "VariableDeclaration", - "scope": 1543, - "src": "1329:33:11", + "scope": 2003, + "src": "1392:33:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -19729,19 +19755,19 @@ }, "typeName": { "baseType": { - "id": 1504, + "id": 1964, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1329:7:11", + "src": "1392:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1505, + "id": 1965, "nodeType": "ArrayTypeName", - "src": "1329:9:11", + "src": "1392:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -19750,74 +19776,74 @@ "visibility": "internal" } ], - "src": "1328:35:11" + "src": "1391:35:12" }, "returnParameters": { - "id": 1510, + "id": 1970, "nodeType": "ParameterList", "parameters": [], - "src": "1401:0:11" + "src": "1464:0:12" }, - "scope": 1908, - "src": "1303:331:11", + "scope": 2348, + "src": "1366:331:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1572, + "id": 2032, "nodeType": "Block", - "src": "1748:147:11", + "src": "1811:147:12", "statements": [ { "body": { - "id": 1570, + "id": 2030, "nodeType": "Block", - "src": "1817:72:11", + "src": "1880:72:12", "statements": [ { "expression": { - "id": 1568, + "id": 2028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1562, + "id": 2022, "name": "paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "1831:13:11", + "referencedDeclaration": 1915, + "src": "1894:13:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1566, + "id": 2026, "indexExpression": { "baseExpression": { - "id": 1563, + "id": 2023, "name": "_removedPaymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "1845:21:11", + "referencedDeclaration": 2006, + "src": "1908:21:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1565, + "id": 2025, "indexExpression": { - "id": 1564, + "id": 2024, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "1867:1:11", + "referencedDeclaration": 2012, + "src": "1930:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19828,7 +19854,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1845:24:11", + "src": "1908:24:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19839,7 +19865,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1831:39:11", + "src": "1894:39:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19849,29 +19875,29 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 1567, + "id": 2027, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1873:5:11", + "src": "1936:5:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "1831:47:11", + "src": "1894:47:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1569, + "id": 2029, "nodeType": "ExpressionStatement", - "src": "1831:47:11" + "src": "1894:47:12" } ] }, @@ -19880,18 +19906,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1558, + "id": 2018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1555, + "id": 2015, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "1778:1:11", + "referencedDeclaration": 2012, + "src": "1841:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19901,51 +19927,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1556, + "id": 2016, "name": "_removedPaymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "1782:21:11", + "referencedDeclaration": 2006, + "src": "1845:21:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1557, + "id": 2017, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1782:28:11", + "src": "1845:28:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1778:32:11", + "src": "1841:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1571, + "id": 2031, "initializationExpression": { "assignments": [ - 1552 + 2012 ], "declarations": [ { "constant": false, - "id": 1552, + "id": 2012, "mutability": "mutable", "name": "i", - "nameLocation": "1771:1:11", + "nameLocation": "1834:1:12", "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "1763:9:11", + "scope": 2031, + "src": "1826:9:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19953,10 +19979,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1551, + "id": 2011, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1763:7:11", + "src": "1826:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19965,17 +19991,17 @@ "visibility": "internal" } ], - "id": 1554, + "id": 2014, "initialValue": { "hexValue": "30", - "id": 1553, + "id": 2013, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1775:1:11", + "src": "1838:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -19983,11 +20009,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "1763:13:11" + "src": "1826:13:12" }, "loopExpression": { "expression": { - "id": 1560, + "id": 2020, "isConstant": false, "isLValue": false, "isPure": false, @@ -19995,14 +20021,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1812:3:11", + "src": "1875:3:12", "subExpression": { - "id": 1559, + "id": 2019, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "1812:1:11", + "referencedDeclaration": 2012, + "src": "1875:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20013,50 +20039,50 @@ "typeString": "uint256" } }, - "id": 1561, + "id": 2021, "nodeType": "ExpressionStatement", - "src": "1812:3:11" + "src": "1875:3:12" }, "nodeType": "ForStatement", - "src": "1758:131:11" + "src": "1821:131:12" } ] }, "functionSelector": "64e60ef4", - "id": 1573, + "id": 2033, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1549, + "id": 2009, "kind": "modifierInvocation", "modifierName": { - "id": 1548, + "id": 2008, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "1734:9:11" + "src": "1797:9:12" }, "nodeType": "ModifierInvocation", - "src": "1734:9:11" + "src": "1797:9:12" } ], "name": "removePaymentTokens", - "nameLocation": "1649:19:11", + "nameLocation": "1712:19:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1547, + "id": 2007, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1546, + "id": 2006, "mutability": "mutable", "name": "_removedPaymentTokens", - "nameLocation": "1688:21:11", + "nameLocation": "1751:21:12", "nodeType": "VariableDeclaration", - "scope": 1573, - "src": "1669:40:11", + "scope": 2033, + "src": "1732:40:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -20065,19 +20091,19 @@ }, "typeName": { "baseType": { - "id": 1544, + "id": 2004, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1669:7:11", + "src": "1732:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1545, + "id": 2005, "nodeType": "ArrayTypeName", - "src": "1669:9:11", + "src": "1732:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -20086,31 +20112,31 @@ "visibility": "internal" } ], - "src": "1668:42:11" + "src": "1731:42:12" }, "returnParameters": { - "id": 1550, + "id": 2010, "nodeType": "ParameterList", "parameters": [], - "src": "1748:0:11" + "src": "1811:0:12" }, - "scope": 1908, - "src": "1640:255:11", + "scope": 2348, + "src": "1703:255:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1637, + "id": 2087, "nodeType": "Block", - "src": "2050:636:11", + "src": "2113:730:12", "statements": [ { "expression": { "arguments": [ { - "id": 1590, + "id": 2050, "isConstant": false, "isLValue": false, "isPure": false, @@ -20118,28 +20144,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2081:26:11", + "src": "2144:26:12", "subExpression": { "baseExpression": { - "id": 1587, + "id": 2047, "name": "usedSignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "2082:14:11", + "referencedDeclaration": 1919, + "src": "2145:14:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 1589, + "id": 2049, "indexExpression": { - "id": 1588, + "id": 2048, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1583, - "src": "2097:9:11", + "referencedDeclaration": 2043, + "src": "2160:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -20150,7 +20176,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2082:25:11", + "src": "2145:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20163,14 +20189,14 @@ }, { "hexValue": "4d61726b6574706c6163653a2074686973207369676e61747572652068617320616464656420746f2069676e6f7265206c69737420616c7265616479", - "id": 1591, + "id": 2051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2121:62:11", + "src": "2184:62:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24", "typeString": "literal_string \"Marketplace: this signature has added to ignore list already\"" @@ -20189,7 +20215,7 @@ "typeString": "literal_string \"Marketplace: this signature has added to ignore list already\"" } ], - "id": 1586, + "id": 2046, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -20197,13 +20223,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2060:7:11", + "src": "2123:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1592, + "id": 2052, "isConstant": false, "isLValue": false, "isPure": false, @@ -20211,31 +20237,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2060:133:11", + "src": "2123:133:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1593, + "id": 2053, "nodeType": "ExpressionStatement", - "src": "2060:133:11" + "src": "2123:133:12" }, { "assignments": [ - 1595 + 2055 ], "declarations": [ { "constant": false, - "id": 1595, + "id": 2055, "mutability": "mutable", "name": "criteriaMessageHash", - "nameLocation": "2211:19:11", + "nameLocation": "2274:19:12", "nodeType": "VariableDeclaration", - "scope": 1637, - "src": "2203:27:11", + "scope": 2087, + "src": "2266:27:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20243,10 +20269,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1594, + "id": 2054, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2203:7:11", + "src": "2266:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20255,33 +20281,33 @@ "visibility": "internal" } ], - "id": 1613, + "id": 2073, "initialValue": { "arguments": [ { "baseExpression": { - "id": 1597, + "id": 2057, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1577, - "src": "2261:9:11", + "referencedDeclaration": 2037, + "src": "2324:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$2_calldata_ptr", "typeString": "address[2] calldata" } }, - "id": 1599, + "id": 2059, "indexExpression": { "hexValue": "30", - "id": 1598, + "id": 2058, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2271:1:11", + "src": "2334:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -20293,7 +20319,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2261:12:11", + "src": "2324:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20301,28 +20327,28 @@ }, { "baseExpression": { - "id": 1600, + "id": 2060, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "2287:6:11", + "referencedDeclaration": 2041, + "src": "2350:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1602, + "id": 2062, "indexExpression": { "hexValue": "30", - "id": 1601, + "id": 2061, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2294:1:11", + "src": "2357:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -20334,7 +20360,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2287:9:11", + "src": "2350:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20342,28 +20368,28 @@ }, { "baseExpression": { - "id": 1603, + "id": 2063, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1577, - "src": "2310:9:11", + "referencedDeclaration": 2037, + "src": "2373:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$2_calldata_ptr", "typeString": "address[2] calldata" } }, - "id": 1605, + "id": 2065, "indexExpression": { "hexValue": "31", - "id": 1604, + "id": 2064, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2320:1:11", + "src": "2383:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -20375,7 +20401,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2310:12:11", + "src": "2373:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20383,28 +20409,28 @@ }, { "baseExpression": { - "id": 1606, + "id": 2066, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "2336:6:11", + "referencedDeclaration": 2041, + "src": "2399:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1608, + "id": 2068, "indexExpression": { "hexValue": "31", - "id": 1607, + "id": 2067, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2343:1:11", + "src": "2406:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -20416,7 +20442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2336:9:11", + "src": "2399:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20424,28 +20450,28 @@ }, { "baseExpression": { - "id": 1609, + "id": 2069, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "2359:6:11", + "referencedDeclaration": 2041, + "src": "2422:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1611, + "id": 2071, "indexExpression": { "hexValue": "32", - "id": 1610, + "id": 2070, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2366:1:11", + "src": "2429:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -20457,7 +20483,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2359:9:11", + "src": "2422:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20487,18 +20513,18 @@ "typeString": "uint256" } ], - "id": 1596, + "id": 2056, "name": "getMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "2233:14:11", + "referencedDeclaration": 2347, + "src": "2296:14:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (address,uint256,address,uint256,uint256) pure returns (bytes32)" } }, - "id": 1612, + "id": 2072, "isConstant": false, "isLValue": false, "isPure": false, @@ -20506,7 +20532,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2233:145:11", + "src": "2296:145:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -20514,251 +20540,93 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2203:175:11" - }, - { - "assignments": [ - 1615 - ], - "declarations": [ - { - "constant": false, - "id": 1615, - "mutability": "mutable", - "name": "ethSignedMessageHash", - "nameLocation": "2397:20:11", - "nodeType": "VariableDeclaration", - "scope": 1637, - "src": "2389:28:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2389:7:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1619, - "initialValue": { - "arguments": [ - { - "id": 1617, - "name": "criteriaMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1595, - "src": "2457:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1616, - "name": "getEthSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1345, - "src": "2420:23:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) pure returns (bytes32)" - } - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2420:66:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2389:97:11" + "src": "2266:175:12" }, { "expression": { "arguments": [ { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2075, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 831, + "src": "2464:10:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } }, - "id": 1627, + "id": 2076, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1622, - "name": "ethSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1615, - "src": "2532:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1623, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1583, - "src": "2554:9:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 1621, - "name": "recoverSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "2518:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (bytes32,bytes memory) pure returns (address)" - } - }, - "id": 1624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2518:46:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1625, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "2568:10:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2568:12:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2518:62:11", + "names": [], + "nodeType": "FunctionCall", + "src": "2464:12:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "hexValue": "4d61726b6574706c6163653a20696e76616c6964207369676e6174757265", - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2594:32:11", + "id": 2077, + "name": "criteriaMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2055, + "src": "2478:19:12", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820", - "typeString": "literal_string \"Marketplace: invalid signature\"" - }, - "value": "Marketplace: invalid signature" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2078, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2043, + "src": "2499:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820", - "typeString": "literal_string \"Marketplace: invalid signature\"" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } ], - "id": 1620, - "name": "require", + "id": 2074, + "name": "checkSigner", "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2497:7:11", + "overloadedDeclarations": [], + "referencedDeclaration": 1889, + "src": "2452:11:12", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,bytes32,bytes memory) pure" } }, - "id": 1629, + "id": 2079, "isConstant": false, "isLValue": false, "isPure": false, @@ -20766,45 +20634,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2497:139:11", + "src": "2452:57:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1630, + "id": 2080, "nodeType": "ExpressionStatement", - "src": "2497:139:11" + "src": "2452:57:12" }, { "expression": { - "id": 1635, + "id": 2085, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1631, + "id": 2081, "name": "usedSignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "2647:14:11", + "referencedDeclaration": 1919, + "src": "2804:14:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 1633, + "id": 2083, "indexExpression": { - "id": 1632, + "id": 2082, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1583, - "src": "2662:9:11", + "referencedDeclaration": 2043, + "src": "2819:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -20815,7 +20683,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2647:25:11", + "src": "2804:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20825,53 +20693,53 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1634, + "id": 2084, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2675:4:11", + "src": "2832:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2647:32:11", + "src": "2804:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1636, + "id": 2086, "nodeType": "ExpressionStatement", - "src": "2647:32:11" + "src": "2804:32:12" } ] }, "functionSelector": "d79f639e", - "id": 1638, + "id": 2088, "implemented": true, "kind": "function", "modifiers": [], "name": "ignoreSignature", - "nameLocation": "1910:15:11", + "nameLocation": "1973:15:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1584, + "id": 2044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1577, + "id": 2037, "mutability": "mutable", "name": "addresses", - "nameLocation": "1955:9:11", + "nameLocation": "2018:9:12", "nodeType": "VariableDeclaration", - "scope": 1638, - "src": "1935:29:11", + "scope": 2088, + "src": "1998:29:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -20880,27 +20748,27 @@ }, "typeName": { "baseType": { - "id": 1574, + "id": 2034, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1935:7:11", + "src": "1998:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1576, + "id": 2036, "length": { "hexValue": "32", - "id": 1575, + "id": 2035, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1943:1:11", + "src": "2006:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -20908,7 +20776,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "1935:10:11", + "src": "1998:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$2_storage_ptr", "typeString": "address[2]" @@ -20918,13 +20786,13 @@ }, { "constant": false, - "id": 1581, + "id": 2041, "mutability": "mutable", "name": "values", - "nameLocation": "1994:6:11", + "nameLocation": "2057:6:12", "nodeType": "VariableDeclaration", - "scope": 1638, - "src": "1974:26:11", + "scope": 2088, + "src": "2037:26:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -20933,26 +20801,26 @@ }, "typeName": { "baseType": { - "id": 1578, + "id": 2038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1974:7:11", + "src": "2037:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1580, + "id": 2040, "length": { "hexValue": "33", - "id": 1579, + "id": 2039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1982:1:11", + "src": "2045:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -20960,7 +20828,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "1974:10:11", + "src": "2037:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -20970,13 +20838,13 @@ }, { "constant": false, - "id": 1583, + "id": 2043, "mutability": "mutable", "name": "signature", - "nameLocation": "2025:9:11", + "nameLocation": "2088:9:12", "nodeType": "VariableDeclaration", - "scope": 1638, - "src": "2010:24:11", + "scope": 2088, + "src": "2073:24:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -20984,10 +20852,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1582, + "id": 2042, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2010:5:11", + "src": "2073:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -20996,25 +20864,25 @@ "visibility": "internal" } ], - "src": "1925:115:11" + "src": "1988:115:12" }, "returnParameters": { - "id": 1585, + "id": 2045, "nodeType": "ParameterList", "parameters": [], - "src": "2050:0:11" + "src": "2113:0:12" }, - "scope": 1908, - "src": "1901:785:11", + "scope": 2348, + "src": "1964:879:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1845, + "id": 2285, "nodeType": "Block", - "src": "2935:2360:11", + "src": "3092:2163:12", "statements": [ { "expression": { @@ -21024,49 +20892,49 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1661, + "id": 2111, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1655, + "id": 2105, "name": "paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "3123:13:11", + "referencedDeclaration": 1915, + "src": "3280:13:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1659, + "id": 2109, "indexExpression": { "baseExpression": { - "id": 1656, + "id": 2106, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3137:9:11", + "referencedDeclaration": 2093, + "src": "3294:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1658, + "id": 2108, "indexExpression": { "hexValue": "32", - "id": 1657, + "id": 2107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3147:1:11", + "src": "3304:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -21078,7 +20946,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3137:12:11", + "src": "3294:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21089,7 +20957,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3123:27:11", + "src": "3280:27:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21099,21 +20967,21 @@ "operator": "==", "rightExpression": { "hexValue": "74727565", - "id": 1660, + "id": 2110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3154:4:11", + "src": "3311:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "3123:35:11", + "src": "3280:35:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21121,14 +20989,14 @@ }, { "hexValue": "4d61726b6574706c6163653a20696e76616c6964207061796d656e74206d6574686f64", - "id": 1662, + "id": 2112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3172:37:11", + "src": "3329:37:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b", "typeString": "literal_string \"Marketplace: invalid payment method\"" @@ -21147,7 +21015,7 @@ "typeString": "literal_string \"Marketplace: invalid payment method\"" } ], - "id": 1654, + "id": 2104, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -21155,13 +21023,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3102:7:11", + "src": "3259:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1663, + "id": 2113, "isConstant": false, "isLValue": false, "isPure": false, @@ -21169,22 +21037,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3102:117:11", + "src": "3259:117:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1664, + "id": 2114, "nodeType": "ExpressionStatement", - "src": "3102:117:11" + "src": "3259:117:12" }, { "expression": { "arguments": [ { - "id": 1669, + "id": 2119, "isConstant": false, "isLValue": false, "isPure": false, @@ -21192,28 +21060,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3251:26:11", + "src": "3408:26:12", "subExpression": { "baseExpression": { - "id": 1666, + "id": 2116, "name": "usedSignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "3252:14:11", + "referencedDeclaration": 1919, + "src": "3409:14:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 1668, + "id": 2118, "indexExpression": { - "id": 1667, + "id": 2117, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "3267:9:11", + "referencedDeclaration": 2099, + "src": "3424:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -21224,7 +21092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3252:25:11", + "src": "3409:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21237,14 +21105,14 @@ }, { "hexValue": "4d61726b6574706c6163653a207369676e617475726520757365642e20706c656173652073656e6420616e6f74686572207472616e73616374696f6e2077697468206e6577207369676e6174757265", - "id": 1670, + "id": 2120, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3291:81:11", + "src": "3448:81:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e", "typeString": "literal_string \"Marketplace: signature used. please send another transaction with new signature\"" @@ -21263,7 +21131,7 @@ "typeString": "literal_string \"Marketplace: signature used. please send another transaction with new signature\"" } ], - "id": 1665, + "id": 2115, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -21271,13 +21139,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3230:7:11", + "src": "3387:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1671, + "id": 2121, "isConstant": false, "isLValue": false, "isPure": false, @@ -21285,31 +21153,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3230:152:11", + "src": "3387:152:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1672, + "id": 2122, "nodeType": "ExpressionStatement", - "src": "3230:152:11" + "src": "3387:152:12" }, { "assignments": [ - 1674 + 2124 ], "declarations": [ { "constant": false, - "id": 1674, + "id": 2124, "mutability": "mutable", "name": "criteriaMessageHash", - "nameLocation": "3401:19:11", + "nameLocation": "3558:19:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "3393:27:11", + "scope": 2285, + "src": "3550:27:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21317,10 +21185,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1673, + "id": 2123, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3393:7:11", + "src": "3550:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21329,33 +21197,33 @@ "visibility": "internal" } ], - "id": 1692, + "id": 2142, "initialValue": { "arguments": [ { "baseExpression": { - "id": 1676, + "id": 2126, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3451:9:11", + "referencedDeclaration": 2093, + "src": "3608:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1678, + "id": 2128, "indexExpression": { "hexValue": "31", - "id": 1677, + "id": 2127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3461:1:11", + "src": "3618:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -21367,7 +21235,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3451:12:11", + "src": "3608:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21375,28 +21243,28 @@ }, { "baseExpression": { - "id": 1679, + "id": 2129, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3477:6:11", + "referencedDeclaration": 2097, + "src": "3634:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1681, + "id": 2131, "indexExpression": { "hexValue": "30", - "id": 1680, + "id": 2130, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3484:1:11", + "src": "3641:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -21408,7 +21276,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3477:9:11", + "src": "3634:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21416,28 +21284,28 @@ }, { "baseExpression": { - "id": 1682, + "id": 2132, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3500:9:11", + "referencedDeclaration": 2093, + "src": "3657:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1684, + "id": 2134, "indexExpression": { "hexValue": "32", - "id": 1683, + "id": 2133, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3510:1:11", + "src": "3667:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -21449,7 +21317,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3500:12:11", + "src": "3657:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21457,28 +21325,28 @@ }, { "baseExpression": { - "id": 1685, + "id": 2135, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3526:6:11", + "referencedDeclaration": 2097, + "src": "3683:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1687, + "id": 2137, "indexExpression": { "hexValue": "31", - "id": 1686, + "id": 2136, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3533:1:11", + "src": "3690:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -21490,7 +21358,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3526:9:11", + "src": "3683:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21498,28 +21366,28 @@ }, { "baseExpression": { - "id": 1688, + "id": 2138, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3549:6:11", + "referencedDeclaration": 2097, + "src": "3706:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1690, + "id": 2140, "indexExpression": { "hexValue": "32", - "id": 1689, + "id": 2139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3556:1:11", + "src": "3713:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -21531,7 +21399,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3549:9:11", + "src": "3706:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21561,18 +21429,18 @@ "typeString": "uint256" } ], - "id": 1675, + "id": 2125, "name": "getMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "3423:14:11", + "referencedDeclaration": 2347, + "src": "3580:14:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (address,uint256,address,uint256,uint256) pure returns (bytes32)" } }, - "id": 1691, + "id": 2141, "isConstant": false, "isLValue": false, "isPure": false, @@ -21580,7 +21448,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3423:145:11", + "src": "3580:145:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -21588,262 +21456,104 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3393:175:11" - }, - { - "assignments": [ - 1694 - ], - "declarations": [ - { - "constant": false, - "id": 1694, - "mutability": "mutable", - "name": "ethSignedMessageHash", - "nameLocation": "3587:20:11", - "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "3579:28:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1693, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3579:7:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1698, - "initialValue": { - "arguments": [ - { - "id": 1696, - "name": "criteriaMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1674, - "src": "3647:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1695, - "name": "getEthSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1345, - "src": "3610:23:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) pure returns (bytes32)" - } - }, - "id": 1697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3610:66:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3579:97:11" + "src": "3550:175:12" }, { "expression": { "arguments": [ { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "baseExpression": { + "id": 2144, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2093, + "src": "3748:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", + "typeString": "address[3] calldata" + } + }, + "id": 2146, + "indexExpression": { + "hexValue": "30", + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3758:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "id": 1707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1701, - "name": "ethSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1694, - "src": "3722:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1702, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "3744:9:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 1700, - "name": "recoverSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "3708:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (bytes32,bytes memory) pure returns (address)" - } - }, - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3708:46:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "baseExpression": { - "id": 1704, - "name": "addresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3758:9:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", - "typeString": "address[3] calldata" - } - }, - "id": 1706, - "indexExpression": { - "hexValue": "30", - "id": 1705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3768:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3758:12:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3708:62:11", + "nodeType": "IndexAccess", + "src": "3748:12:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "hexValue": "4d61726b6574706c6163653a20696e76616c69642073656c6c6572207369676e6174757265", - "id": 1708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3784:39:11", + "id": 2147, + "name": "criteriaMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2124, + "src": "3762:19:12", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba", - "typeString": "literal_string \"Marketplace: invalid seller signature\"" - }, - "value": "Marketplace: invalid seller signature" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2148, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2099, + "src": "3783:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba", - "typeString": "literal_string \"Marketplace: invalid seller signature\"" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } ], - "id": 1699, - "name": "require", + "id": 2143, + "name": "checkSigner", "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3687:7:11", + "overloadedDeclarations": [], + "referencedDeclaration": 1889, + "src": "3736:11:12", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,bytes32,bytes memory) pure" } }, - "id": 1709, + "id": 2149, "isConstant": false, "isLValue": false, "isPure": false, @@ -21851,84 +21561,84 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3687:146:11", + "src": "3736:57:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1710, + "id": 2150, "nodeType": "ExpressionStatement", - "src": "3687:146:11" + "src": "3736:57:12" }, { "assignments": [ - 1713 + 2153 ], "declarations": [ { "constant": false, - "id": 1713, + "id": 2153, "mutability": "mutable", "name": "nft", - "nameLocation": "3887:3:11", + "nameLocation": "3847:3:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "3879:11:11", + "scope": 2285, + "src": "3839:11:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" }, "typeName": { - "id": 1712, + "id": 2152, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1711, + "id": 2151, "name": "IERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 596, - "src": "3879:7:11" + "referencedDeclaration": 522, + "src": "3839:7:12" }, - "referencedDeclaration": 596, - "src": "3879:7:11", + "referencedDeclaration": 522, + "src": "3839:7:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" } }, "visibility": "internal" } ], - "id": 1719, + "id": 2159, "initialValue": { "arguments": [ { "baseExpression": { - "id": 1715, + "id": 2155, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3901:9:11", + "referencedDeclaration": 2093, + "src": "3861:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1717, + "id": 2157, "indexExpression": { "hexValue": "31", - "id": 1716, + "id": 2156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3911:1:11", + "src": "3871:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -21940,7 +21650,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3901:12:11", + "src": "3861:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21954,18 +21664,18 @@ "typeString": "address" } ], - "id": 1714, + "id": 2154, "name": "IERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "3893:7:11", + "referencedDeclaration": 522, + "src": "3853:7:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721_$596_$", + "typeIdentifier": "t_type$_t_contract$_IERC721_$522_$", "typeString": "type(contract IERC721)" } }, - "id": 1718, + "id": 2158, "isConstant": false, "isLValue": false, "isPure": false, @@ -21973,15 +21683,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3893:21:11", + "src": "3853:21:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" } }, "nodeType": "VariableDeclarationStatement", - "src": "3879:35:11" + "src": "3839:35:12" }, { "expression": { @@ -21991,7 +21701,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1730, + "id": 2170, "isConstant": false, "isLValue": false, "isPure": false, @@ -22000,28 +21710,28 @@ "arguments": [ { "baseExpression": { - "id": 1723, + "id": 2163, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3957:6:11", + "referencedDeclaration": 2097, + "src": "3917:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1725, + "id": 2165, "indexExpression": { "hexValue": "30", - "id": 1724, + "id": 2164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3964:1:11", + "src": "3924:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -22033,7 +21743,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3957:9:11", + "src": "3917:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22048,32 +21758,32 @@ } ], "expression": { - "id": 1721, + "id": 2161, "name": "nft", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1713, - "src": "3945:3:11", + "referencedDeclaration": 2153, + "src": "3905:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" } }, - "id": 1722, + "id": 2162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 529, - "src": "3945:11:11", + "referencedDeclaration": 455, + "src": "3905:11:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1726, + "id": 2166, "isConstant": false, "isLValue": false, "isPure": false, @@ -22081,7 +21791,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3945:22:11", + "src": "3905:22:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -22092,28 +21802,28 @@ "operator": "==", "rightExpression": { "baseExpression": { - "id": 1727, + "id": 2167, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3971:9:11", + "referencedDeclaration": 2093, + "src": "3931:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1729, + "id": 2169, "indexExpression": { "hexValue": "30", - "id": 1728, + "id": 2168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3981:1:11", + "src": "3941:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -22125,13 +21835,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3971:12:11", + "src": "3931:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3945:38:11", + "src": "3905:38:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22139,14 +21849,14 @@ }, { "hexValue": "4d61726b6574706c6163653a2073656c6c6572206973206e6f74206f776e6572206f662074686973206974656d206e6f77", - "id": 1731, + "id": 2171, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3997:51:11", + "src": "3957:51:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa", "typeString": "literal_string \"Marketplace: seller is not owner of this item now\"" @@ -22165,7 +21875,7 @@ "typeString": "literal_string \"Marketplace: seller is not owner of this item now\"" } ], - "id": 1720, + "id": 2160, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -22173,13 +21883,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3924:7:11", + "src": "3884:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1732, + "id": 2172, "isConstant": false, "isLValue": false, "isPure": false, @@ -22187,84 +21897,84 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3924:134:11", + "src": "3884:134:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1733, + "id": 2173, "nodeType": "ExpressionStatement", - "src": "3924:134:11" + "src": "3884:134:12" }, { "assignments": [ - 1736 + 2176 ], "declarations": [ { "constant": false, - "id": 1736, + "id": 2176, "mutability": "mutable", "name": "paymentContract", - "nameLocation": "4128:15:11", + "nameLocation": "4088:15:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "4121:22:11", + "scope": 2285, + "src": "4081:22:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" }, "typeName": { - "id": 1735, + "id": 2175, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1734, + "id": 2174, "name": "IERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 256, - "src": "4121:6:11" + "referencedDeclaration": 182, + "src": "4081:6:12" }, - "referencedDeclaration": 256, - "src": "4121:6:11", + "referencedDeclaration": 182, + "src": "4081:6:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, "visibility": "internal" } ], - "id": 1742, + "id": 2182, "initialValue": { "arguments": [ { "baseExpression": { - "id": 1738, + "id": 2178, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "4153:9:11", + "referencedDeclaration": 2093, + "src": "4113:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1740, + "id": 2180, "indexExpression": { "hexValue": "32", - "id": 1739, + "id": 2179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4163:1:11", + "src": "4123:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -22276,7 +21986,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4153:12:11", + "src": "4113:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22290,18 +22000,18 @@ "typeString": "address" } ], - "id": 1737, + "id": 2177, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "4146:6:11", + "referencedDeclaration": 182, + "src": "4106:6:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$256_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$182_$", "typeString": "type(contract IERC20)" } }, - "id": 1741, + "id": 2181, "isConstant": false, "isLValue": false, "isPure": false, @@ -22309,15 +22019,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4146:20:11", + "src": "4106:20:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, "nodeType": "VariableDeclarationStatement", - "src": "4121:45:11" + "src": "4081:45:12" }, { "expression": { @@ -22327,7 +22037,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1752, + "id": 2192, "isConstant": false, "isLValue": false, "isPure": false, @@ -22338,18 +22048,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1746, + "id": 2186, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "4223:10:11", + "referencedDeclaration": 831, + "src": "4183:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1747, + "id": 2187, "isConstant": false, "isLValue": false, "isPure": false, @@ -22357,7 +22067,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4223:12:11", + "src": "4183:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -22373,32 +22083,32 @@ } ], "expression": { - "id": 1744, + "id": 2184, "name": "paymentContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "4197:15:11", + "referencedDeclaration": 2176, + "src": "4157:15:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, - "id": 1745, + "id": 2185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 195, - "src": "4197:25:11", + "referencedDeclaration": 121, + "src": "4157:25:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 1748, + "id": 2188, "isConstant": false, "isLValue": false, "isPure": false, @@ -22406,7 +22116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4197:39:11", + "src": "4157:39:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22417,28 +22127,28 @@ "operator": ">=", "rightExpression": { "baseExpression": { - "id": 1749, + "id": 2189, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "4240:6:11", + "referencedDeclaration": 2097, + "src": "4200:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1751, + "id": 2191, "indexExpression": { "hexValue": "31", - "id": 1750, + "id": 2190, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4247:1:11", + "src": "4207:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -22450,13 +22160,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4240:9:11", + "src": "4200:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4197:52:11", + "src": "4157:52:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22464,14 +22174,14 @@ }, { "hexValue": "4d61726b6574706c6163653a20627579657220646f65736e2774206861766520656e6f75676820746f6b656e20746f206275792074686973206974656d", - "id": 1753, + "id": 2193, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4263:63:11", + "src": "4223:63:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421", "typeString": "literal_string \"Marketplace: buyer doesn't have enough token to buy this item\"" @@ -22490,7 +22200,7 @@ "typeString": "literal_string \"Marketplace: buyer doesn't have enough token to buy this item\"" } ], - "id": 1743, + "id": 2183, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -22498,13 +22208,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4176:7:11", + "src": "4136:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1754, + "id": 2194, "isConstant": false, "isLValue": false, "isPure": false, @@ -22512,16 +22222,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4176:160:11", + "src": "4136:160:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1755, + "id": 2195, "nodeType": "ExpressionStatement", - "src": "4176:160:11" + "src": "4136:160:12" }, { "expression": { @@ -22531,7 +22241,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1769, + "id": 2209, "isConstant": false, "isLValue": false, "isPure": false, @@ -22542,18 +22252,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1759, + "id": 2199, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "4393:10:11", + "referencedDeclaration": 831, + "src": "4353:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1760, + "id": 2200, "isConstant": false, "isLValue": false, "isPure": false, @@ -22561,7 +22271,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4393:12:11", + "src": "4353:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -22571,14 +22281,14 @@ { "arguments": [ { - "id": 1763, + "id": 2203, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, - "src": "4415:4:11", + "src": "4375:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$1908", + "typeIdentifier": "t_contract$_Marketplace_$2348", "typeString": "contract Marketplace" } } @@ -22586,30 +22296,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Marketplace_$1908", + "typeIdentifier": "t_contract$_Marketplace_$2348", "typeString": "contract Marketplace" } ], - "id": 1762, + "id": 2202, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4407:7:11", + "src": "4367:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1761, + "id": 2201, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4407:7:11", + "src": "4367:7:12", "typeDescriptions": {} } }, - "id": 1764, + "id": 2204, "isConstant": false, "isLValue": false, "isPure": false, @@ -22617,7 +22327,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4407:13:11", + "src": "4367:13:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -22637,32 +22347,32 @@ } ], "expression": { - "id": 1757, + "id": 2197, "name": "paymentContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "4367:15:11", + "referencedDeclaration": 2176, + "src": "4327:15:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, - "id": 1758, + "id": 2198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "4367:25:11", + "referencedDeclaration": 141, + "src": "4327:25:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1765, + "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, @@ -22670,7 +22380,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4367:54:11", + "src": "4327:54:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22681,28 +22391,28 @@ "operator": ">=", "rightExpression": { "baseExpression": { - "id": 1766, + "id": 2206, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "4425:6:11", + "referencedDeclaration": 2097, + "src": "4385:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1768, + "id": 2208, "indexExpression": { "hexValue": "31", - "id": 1767, + "id": 2207, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4432:1:11", + "src": "4392:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -22714,13 +22424,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4425:9:11", + "src": "4385:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4367:67:11", + "src": "4327:67:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22728,14 +22438,14 @@ }, { "hexValue": "4d61726b6574706c6163653a20627579657220646f65736e277420617070726f7665206d61726b6574706c61636520746f207370656e64207061796d656e7420616d6f756e74", - "id": 1770, + "id": 2210, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4448:72:11", + "src": "4408:72:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5", "typeString": "literal_string \"Marketplace: buyer doesn't approve marketplace to spend payment amount\"" @@ -22754,7 +22464,7 @@ "typeString": "literal_string \"Marketplace: buyer doesn't approve marketplace to spend payment amount\"" } ], - "id": 1756, + "id": 2196, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -22762,13 +22472,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4346:7:11", + "src": "4306:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1771, + "id": 2211, "isConstant": false, "isLValue": false, "isPure": false, @@ -22776,31 +22486,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4346:184:11", + "src": "4306:184:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1772, + "id": 2212, "nodeType": "ExpressionStatement", - "src": "4346:184:11" + "src": "4306:184:12" }, { "assignments": [ - 1774 + 2214 ], "declarations": [ { "constant": false, - "id": 1774, + "id": 2214, "mutability": "mutable", "name": "fee", - "nameLocation": "4633:3:11", + "nameLocation": "4593:3:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "4625:11:11", + "scope": 2285, + "src": "4585:11:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22808,10 +22518,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1773, + "id": 2213, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4625:7:11", + "src": "4585:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22820,19 +22530,19 @@ "visibility": "internal" } ], - "id": 1784, + "id": 2224, "initialValue": { "arguments": [ { "hexValue": "3130303030", - "id": 1782, + "id": 2222, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4673:5:11", + "src": "4633:5:12", "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" @@ -22851,28 +22561,28 @@ "arguments": [ { "baseExpression": { - "id": 1777, + "id": 2217, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "4658:6:11", + "referencedDeclaration": 2097, + "src": "4618:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1779, + "id": 2219, "indexExpression": { "hexValue": "31", - "id": 1778, + "id": 2218, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4665:1:11", + "src": "4625:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -22884,7 +22594,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4658:9:11", + "src": "4618:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22899,32 +22609,32 @@ } ], "expression": { - "id": 1775, + "id": 2215, "name": "transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "4639:14:11", + "referencedDeclaration": 1923, + "src": "4599:14:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1776, + "id": 2216, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1221, - "src": "4639:18:11", + "referencedDeclaration": 1740, + "src": "4599:18:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1780, + "id": 2220, "isConstant": false, "isLValue": false, "isPure": false, @@ -22932,28 +22642,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4639:29:11", + "src": "4599:29:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1781, + "id": 2221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 1236, - "src": "4639:33:11", + "referencedDeclaration": 1755, + "src": "4599:33:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1783, + "id": 2223, "isConstant": false, "isLValue": false, "isPure": false, @@ -22961,7 +22671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4639:40:11", + "src": "4599:40:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22969,22 +22679,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4625:54:11" + "src": "4585:54:12" }, { "assignments": [ - 1786 + 2226 ], "declarations": [ { "constant": false, - "id": 1786, + "id": 2226, "mutability": "mutable", "name": "payToSellerAmount", - "nameLocation": "4697:17:11", + "nameLocation": "4657:17:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "4689:25:11", + "scope": 2285, + "src": "4649:25:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22992,10 +22702,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1785, + "id": 2225, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4689:7:11", + "src": "4649:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23004,16 +22714,16 @@ "visibility": "internal" } ], - "id": 1793, + "id": 2233, "initialValue": { "arguments": [ { - "id": 1791, + "id": 2231, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1774, - "src": "4731:3:11", + "referencedDeclaration": 2214, + "src": "4691:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23029,28 +22739,28 @@ ], "expression": { "baseExpression": { - "id": 1787, + "id": 2227, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "4717:6:11", + "referencedDeclaration": 2097, + "src": "4677:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1789, + "id": 2229, "indexExpression": { "hexValue": "31", - "id": 1788, + "id": 2228, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4724:1:11", + "src": "4684:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -23062,27 +22772,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4717:9:11", + "src": "4677:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1790, + "id": 2230, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1206, - "src": "4717:13:11", + "referencedDeclaration": 1725, + "src": "4677:13:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1792, + "id": 2232, "isConstant": false, "isLValue": false, "isPure": false, @@ -23090,7 +22800,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4717:18:11", + "src": "4677:18:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23098,7 +22808,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4689:46:11" + "src": "4649:46:12" }, { "expression": { @@ -23107,18 +22817,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1797, + "id": 2237, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "4828:10:11", + "referencedDeclaration": 831, + "src": "4788:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1798, + "id": 2238, "isConstant": false, "isLValue": false, "isPure": false, @@ -23126,7 +22836,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4828:12:11", + "src": "4788:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -23135,28 +22845,28 @@ }, { "baseExpression": { - "id": 1799, + "id": 2239, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "4854:9:11", + "referencedDeclaration": 2093, + "src": "4814:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1801, + "id": 2241, "indexExpression": { "hexValue": "30", - "id": 1800, + "id": 2240, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4864:1:11", + "src": "4824:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -23168,19 +22878,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4854:12:11", + "src": "4814:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1802, + "id": 2242, "name": "payToSellerAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1786, - "src": "4880:17:11", + "referencedDeclaration": 2226, + "src": "4840:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23203,32 +22913,32 @@ } ], "expression": { - "id": 1794, + "id": 2234, "name": "paymentContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "4782:15:11", + "referencedDeclaration": 2176, + "src": "4742:15:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, - "id": 1796, + "id": 2236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "4782:32:11", + "referencedDeclaration": 239, + "src": "4742:32:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$256_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$256_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$182_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$182_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 1803, + "id": 2243, "isConstant": false, "isLValue": false, "isPure": false, @@ -23236,16 +22946,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4782:125:11", + "src": "4742:125:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1804, + "id": 2244, "nodeType": "ExpressionStatement", - "src": "4782:125:11" + "src": "4742:125:12" }, { "condition": { @@ -23253,18 +22963,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1807, + "id": 2247, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1805, + "id": 2245, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1774, - "src": "4957:3:11", + "referencedDeclaration": 2214, + "src": "4917:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23274,33 +22984,33 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1806, + "id": 2246, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4963:1:11", + "src": "4923:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "4957:7:11", + "src": "4917:7:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1818, + "id": 2258, "nodeType": "IfStatement", - "src": "4953:103:11", + "src": "4913:103:12", "trueBody": { - "id": 1817, + "id": 2257, "nodeType": "Block", - "src": "4966:90:11", + "src": "4926:90:12", "statements": [ { "expression": { @@ -23309,18 +23019,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1811, + "id": 2251, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "5013:10:11", + "referencedDeclaration": 831, + "src": "4973:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1812, + "id": 2252, "isConstant": false, "isLValue": false, "isPure": false, @@ -23328,7 +23038,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5013:12:11", + "src": "4973:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -23336,24 +23046,24 @@ } }, { - "id": 1813, + "id": 2253, "name": "feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "5027:12:11", + "referencedDeclaration": 1921, + "src": "4987:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1814, + "id": 2254, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1774, - "src": "5041:3:11", + "referencedDeclaration": 2214, + "src": "5001:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23376,32 +23086,32 @@ } ], "expression": { - "id": 1808, + "id": 2248, "name": "paymentContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "4980:15:11", + "referencedDeclaration": 2176, + "src": "4940:15:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, - "id": 1810, + "id": 2250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "4980:32:11", + "referencedDeclaration": 239, + "src": "4940:32:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$256_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$256_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$182_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$182_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 1815, + "id": 2255, "isConstant": false, "isLValue": false, "isPure": false, @@ -23409,16 +23119,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4980:65:11", + "src": "4940:65:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1816, + "id": 2256, "nodeType": "ExpressionStatement", - "src": "4980:65:11" + "src": "4940:65:12" } ] } @@ -23428,28 +23138,28 @@ "arguments": [ { "baseExpression": { - "id": 1822, + "id": 2262, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "5121:9:11", + "referencedDeclaration": 2093, + "src": "5081:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1824, + "id": 2264, "indexExpression": { "hexValue": "30", - "id": 1823, + "id": 2263, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5131:1:11", + "src": "5091:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -23461,7 +23171,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5121:12:11", + "src": "5081:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23471,18 +23181,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1825, + "id": 2265, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "5135:10:11", + "referencedDeclaration": 831, + "src": "5095:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1826, + "id": 2266, "isConstant": false, "isLValue": false, "isPure": false, @@ -23490,7 +23200,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5135:12:11", + "src": "5095:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -23499,28 +23209,28 @@ }, { "baseExpression": { - "id": 1827, + "id": 2267, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "5149:6:11", + "referencedDeclaration": 2097, + "src": "5109:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1829, + "id": 2269, "indexExpression": { "hexValue": "30", - "id": 1828, + "id": 2268, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5156:1:11", + "src": "5116:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -23532,7 +23242,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5149:9:11", + "src": "5109:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23555,32 +23265,32 @@ } ], "expression": { - "id": 1819, + "id": 2259, "name": "nft", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1713, - "src": "5100:3:11", + "referencedDeclaration": 2153, + "src": "5060:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" } }, - "id": 1821, + "id": 2261, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 539, - "src": "5100:20:11", + "referencedDeclaration": 465, + "src": "5060:20:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 1830, + "id": 2270, "isConstant": false, "isLValue": false, "isPure": false, @@ -23588,45 +23298,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5100:59:11", + "src": "5060:59:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1831, + "id": 2271, "nodeType": "ExpressionStatement", - "src": "5100:59:11" + "src": "5060:59:12" }, { "expression": { - "id": 1836, + "id": 2276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1832, + "id": 2272, "name": "usedSignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "5170:14:11", + "referencedDeclaration": 1919, + "src": "5130:14:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 1834, + "id": 2274, "indexExpression": { - "id": 1833, + "id": 2273, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "5185:9:11", + "referencedDeclaration": 2099, + "src": "5145:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -23637,7 +23347,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5170:25:11", + "src": "5130:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23647,52 +23357,52 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1835, + "id": 2275, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5198:4:11", + "src": "5158:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "5170:32:11", + "src": "5130:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1837, + "id": 2277, "nodeType": "ExpressionStatement", - "src": "5170:32:11" + "src": "5130:32:12" }, { "expression": { "arguments": [ { - "id": 1839, + "id": 2279, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "5249:9:11", + "referencedDeclaration": 2093, + "src": "5209:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, { - "id": 1840, + "id": 2280, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "5260:6:11", + "referencedDeclaration": 2097, + "src": "5220:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" @@ -23710,18 +23420,18 @@ "typeString": "uint256[3] calldata" } ], - "id": 1838, + "id": 2278, "name": "emitEvent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "5239:9:11", + "referencedDeclaration": 2320, + "src": "5199:9:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$3_calldata_ptr_$_t_array$_t_uint256_$3_calldata_ptr_$returns$__$", "typeString": "function (address[3] calldata,uint256[3] calldata)" } }, - "id": 1841, + "id": 2281, "isConstant": false, "isLValue": false, "isPure": false, @@ -23729,68 +23439,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5239:28:11", + "src": "5199:28:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1842, + "id": 2282, "nodeType": "ExpressionStatement", - "src": "5239:28:11" + "src": "5199:28:12" }, { "expression": { "hexValue": "74727565", - "id": 1843, + "id": 2283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5284:4:11", + "src": "5244:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 1653, - "id": 1844, + "functionReturnParameters": 2103, + "id": 2284, "nodeType": "Return", - "src": "5277:11:11" + "src": "5237:11:12" } ] }, "documentation": { - "id": 1639, + "id": 2089, "nodeType": "StructuredDocumentation", - "src": "2692:73:11", + "src": "2849:73:12", "text": " @dev Function matched transaction with user signatures" }, "functionSelector": "e8e8e872", - "id": 1846, + "id": 2286, "implemented": true, "kind": "function", "modifiers": [], "name": "matchTransaction", - "nameLocation": "2779:16:11", + "nameLocation": "2936:16:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1650, + "id": 2100, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1643, + "id": 2093, "mutability": "mutable", "name": "addresses", - "nameLocation": "2825:9:11", + "nameLocation": "2982:9:12", "nodeType": "VariableDeclaration", - "scope": 1846, - "src": "2805:29:11", + "scope": 2286, + "src": "2962:29:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -23799,27 +23509,27 @@ }, "typeName": { "baseType": { - "id": 1640, + "id": 2090, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2805:7:11", + "src": "2962:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1642, + "id": 2092, "length": { "hexValue": "33", - "id": 1641, + "id": 2091, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2813:1:11", + "src": "2970:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -23827,7 +23537,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "2805:10:11", + "src": "2962:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_storage_ptr", "typeString": "address[3]" @@ -23837,13 +23547,13 @@ }, { "constant": false, - "id": 1647, + "id": 2097, "mutability": "mutable", "name": "values", - "nameLocation": "2864:6:11", + "nameLocation": "3021:6:12", "nodeType": "VariableDeclaration", - "scope": 1846, - "src": "2844:26:11", + "scope": 2286, + "src": "3001:26:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -23852,26 +23562,26 @@ }, "typeName": { "baseType": { - "id": 1644, + "id": 2094, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2844:7:11", + "src": "3001:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1646, + "id": 2096, "length": { "hexValue": "33", - "id": 1645, + "id": 2095, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2852:1:11", + "src": "3009:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -23879,7 +23589,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "2844:10:11", + "src": "3001:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -23889,13 +23599,13 @@ }, { "constant": false, - "id": 1649, + "id": 2099, "mutability": "mutable", "name": "signature", - "nameLocation": "2895:9:11", + "nameLocation": "3052:9:12", "nodeType": "VariableDeclaration", - "scope": 1846, - "src": "2880:24:11", + "scope": 2286, + "src": "3037:24:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -23903,10 +23613,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1648, + "id": 2098, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2880:5:11", + "src": "3037:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -23915,21 +23625,21 @@ "visibility": "internal" } ], - "src": "2795:115:11" + "src": "2952:115:12" }, "returnParameters": { - "id": 1653, + "id": 2103, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1652, + "id": 2102, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1846, - "src": "2929:4:11", + "scope": 2286, + "src": "3086:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23937,10 +23647,10 @@ "typeString": "bool" }, "typeName": { - "id": 1651, + "id": 2101, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2929:4:11", + "src": "3086:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23949,47 +23659,47 @@ "visibility": "internal" } ], - "src": "2928:6:11" + "src": "3085:6:12" }, - "scope": 1908, - "src": "2770:2525:11", + "scope": 2348, + "src": "2927:2328:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1879, + "id": 2319, "nodeType": "Block", - "src": "5481:226:11", + "src": "5441:226:12", "statements": [ { "eventCall": { "arguments": [ { "baseExpression": { - "id": 1859, + "id": 2299, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1855, - "src": "5526:6:11", + "referencedDeclaration": 2295, + "src": "5486:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1861, + "id": 2301, "indexExpression": { "hexValue": "30", - "id": 1860, + "id": 2300, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5533:1:11", + "src": "5493:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -24001,7 +23711,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5526:9:11", + "src": "5486:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24009,28 +23719,28 @@ }, { "baseExpression": { - "id": 1862, + "id": 2302, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "5549:9:11", + "referencedDeclaration": 2291, + "src": "5509:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1864, + "id": 2304, "indexExpression": { "hexValue": "31", - "id": 1863, + "id": 2303, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5559:1:11", + "src": "5519:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -24042,7 +23752,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5549:12:11", + "src": "5509:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24050,28 +23760,28 @@ }, { "baseExpression": { - "id": 1865, + "id": 2305, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1855, - "src": "5575:6:11", + "referencedDeclaration": 2295, + "src": "5535:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1867, + "id": 2307, "indexExpression": { "hexValue": "31", - "id": 1866, + "id": 2306, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5582:1:11", + "src": "5542:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -24083,7 +23793,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5575:9:11", + "src": "5535:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24091,28 +23801,28 @@ }, { "baseExpression": { - "id": 1868, + "id": 2308, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "5598:9:11", + "referencedDeclaration": 2291, + "src": "5558:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1870, + "id": 2310, "indexExpression": { "hexValue": "32", - "id": 1869, + "id": 2309, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5608:1:11", + "src": "5568:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -24124,7 +23834,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5598:12:11", + "src": "5558:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24132,28 +23842,28 @@ }, { "baseExpression": { - "id": 1871, + "id": 2311, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "5624:9:11", + "referencedDeclaration": 2291, + "src": "5584:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1873, + "id": 2313, "indexExpression": { "hexValue": "30", - "id": 1872, + "id": 2312, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5634:1:11", + "src": "5594:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -24165,7 +23875,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5624:12:11", + "src": "5584:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24175,18 +23885,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1874, + "id": 2314, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "5650:10:11", + "referencedDeclaration": 831, + "src": "5610:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1875, + "id": 2315, "isConstant": false, "isLValue": false, "isPure": false, @@ -24194,7 +23904,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5650:12:11", + "src": "5610:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -24202,12 +23912,12 @@ } }, { - "id": 1876, + "id": 2316, "name": "transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "5676:14:11", + "referencedDeclaration": 1923, + "src": "5636:14:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24245,18 +23955,18 @@ "typeString": "uint256" } ], - "id": 1858, + "id": 2298, "name": "MatchTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5496:16:11", + "referencedDeclaration": 1939, + "src": "5456:16:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,address,uint256,address,address,address,uint256)" } }, - "id": 1877, + "id": 2317, "isConstant": false, "isLValue": false, "isPure": false, @@ -24264,45 +23974,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5496:204:11", + "src": "5456:204:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1878, + "id": 2318, "nodeType": "EmitStatement", - "src": "5491:209:11" + "src": "5451:209:12" } ] }, "documentation": { - "id": 1847, + "id": 2287, "nodeType": "StructuredDocumentation", - "src": "5301:66:11", + "src": "5261:66:12", "text": " @dev Function to emit transaction matched event" }, - "id": 1880, + "id": 2320, "implemented": true, "kind": "function", "modifiers": [], "name": "emitEvent", - "nameLocation": "5381:9:11", + "nameLocation": "5341:9:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1856, + "id": 2296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1851, + "id": 2291, "mutability": "mutable", "name": "addresses", - "nameLocation": "5420:9:11", + "nameLocation": "5380:9:12", "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "5400:29:11", + "scope": 2320, + "src": "5360:29:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -24311,27 +24021,27 @@ }, "typeName": { "baseType": { - "id": 1848, + "id": 2288, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5400:7:11", + "src": "5360:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1850, + "id": 2290, "length": { "hexValue": "33", - "id": 1849, + "id": 2289, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5408:1:11", + "src": "5368:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -24339,7 +24049,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "5400:10:11", + "src": "5360:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_storage_ptr", "typeString": "address[3]" @@ -24349,13 +24059,13 @@ }, { "constant": false, - "id": 1855, + "id": 2295, "mutability": "mutable", "name": "values", - "nameLocation": "5459:6:11", + "nameLocation": "5419:6:12", "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "5439:26:11", + "scope": 2320, + "src": "5399:26:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -24364,26 +24074,26 @@ }, "typeName": { "baseType": { - "id": 1852, + "id": 2292, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5439:7:11", + "src": "5399:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1854, + "id": 2294, "length": { "hexValue": "33", - "id": 1853, + "id": 2293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5447:1:11", + "src": "5407:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -24391,7 +24101,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "5439:10:11", + "src": "5399:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -24400,25 +24110,25 @@ "visibility": "internal" } ], - "src": "5390:81:11" + "src": "5350:81:12" }, "returnParameters": { - "id": 1857, + "id": 2297, "nodeType": "ParameterList", "parameters": [], - "src": "5481:0:11" + "src": "5441:0:12" }, - "scope": 1908, - "src": "5372:335:11", + "scope": 2348, + "src": "5332:335:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1906, + "id": 2346, "nodeType": "Block", - "src": "5911:269:11", + "src": "5871:269:12", "statements": [ { "expression": { @@ -24426,60 +24136,60 @@ { "arguments": [ { - "id": 1898, + "id": 2338, "name": "_nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "6005:11:11", + "referencedDeclaration": 2322, + "src": "5965:11:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1899, + "id": 2339, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1884, - "src": "6038:8:11", + "referencedDeclaration": 2324, + "src": "5998:8:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1900, + "id": 2340, "name": "_paymentErc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1886, - "src": "6068:13:11", + "referencedDeclaration": 2326, + "src": "6028:13:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1901, + "id": 2341, "name": "_price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "6103:6:11", + "referencedDeclaration": 2328, + "src": "6063:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1902, + "id": 2342, "name": "_saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1890, - "src": "6131:10:11", + "referencedDeclaration": 2330, + "src": "6091:10:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24510,31 +24220,31 @@ } ], "expression": { - "id": 1896, + "id": 2336, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "5967:3:11", + "src": "5927:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 1897, + "id": 2337, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "5967:16:11", + "src": "5927:16:12", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 1903, + "id": 2343, "isConstant": false, "isLValue": false, "isPure": false, @@ -24542,7 +24252,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5967:192:11", + "src": "5927:192:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -24557,18 +24267,18 @@ "typeString": "bytes memory" } ], - "id": 1895, + "id": 2335, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "5940:9:11", + "src": "5900:9:12", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 1904, + "id": 2344, "isConstant": false, "isLValue": false, "isPure": false, @@ -24576,41 +24286,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5940:233:11", + "src": "5900:233:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 1894, - "id": 1905, + "functionReturnParameters": 2334, + "id": 2345, "nodeType": "Return", - "src": "5921:252:11" + "src": "5881:252:12" } ] }, "functionSelector": "1e5192e5", - "id": 1907, + "id": 2347, "implemented": true, "kind": "function", "modifiers": [], "name": "getMessageHash", - "nameLocation": "5722:14:11", + "nameLocation": "5682:14:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1891, + "id": 2331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1882, + "id": 2322, "mutability": "mutable", "name": "_nftAddress", - "nameLocation": "5754:11:11", + "nameLocation": "5714:11:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5746:19:11", + "scope": 2347, + "src": "5706:19:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24618,10 +24328,10 @@ "typeString": "address" }, "typeName": { - "id": 1881, + "id": 2321, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5746:7:11", + "src": "5706:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24632,13 +24342,13 @@ }, { "constant": false, - "id": 1884, + "id": 2324, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5783:8:11", + "nameLocation": "5743:8:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5775:16:11", + "scope": 2347, + "src": "5735:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24646,10 +24356,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1883, + "id": 2323, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5775:7:11", + "src": "5735:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24659,13 +24369,13 @@ }, { "constant": false, - "id": 1886, + "id": 2326, "mutability": "mutable", "name": "_paymentErc20", - "nameLocation": "5809:13:11", + "nameLocation": "5769:13:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5801:21:11", + "scope": 2347, + "src": "5761:21:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24673,10 +24383,10 @@ "typeString": "address" }, "typeName": { - "id": 1885, + "id": 2325, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5801:7:11", + "src": "5761:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24687,13 +24397,13 @@ }, { "constant": false, - "id": 1888, + "id": 2328, "mutability": "mutable", "name": "_price", - "nameLocation": "5840:6:11", + "nameLocation": "5800:6:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5832:14:11", + "scope": 2347, + "src": "5792:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24701,10 +24411,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1887, + "id": 2327, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5832:7:11", + "src": "5792:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24714,13 +24424,13 @@ }, { "constant": false, - "id": 1890, + "id": 2330, "mutability": "mutable", "name": "_saltNonce", - "nameLocation": "5864:10:11", + "nameLocation": "5824:10:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5856:18:11", + "scope": 2347, + "src": "5816:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24728,10 +24438,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1889, + "id": 2329, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5856:7:11", + "src": "5816:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24740,21 +24450,21 @@ "visibility": "internal" } ], - "src": "5736:144:11" + "src": "5696:144:12" }, "returnParameters": { - "id": 1894, + "id": 2334, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1893, + "id": 2333, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5902:7:11", + "scope": 2347, + "src": "5862:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24762,10 +24472,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1892, + "id": 2332, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5902:7:11", + "src": "5862:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24774,65 +24484,71 @@ "visibility": "internal" } ], - "src": "5901:9:11" + "src": "5861:9:12" }, - "scope": 1908, - "src": "5713:467:11", + "scope": 2348, + "src": "5673:467:12", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], - "scope": 1909, - "src": "434:5748:11", + "scope": 2349, + "src": "497:5645:12", "usedErrors": [] } ], - "src": "32:6150:11" + "src": "32:6110:12" }, "legacyAST": { "absolutePath": "project:/contracts/MarketPlace.sol", "exportedSymbols": { "Address": [ - 893 + 819 ], "Context": [ - 915 + 841 + ], + "ECDSA": [ + 1434 ], "HasSignature": [ - 1431 + 1890 ], "IERC165": [ - 927 + 1446 ], "IERC20": [ - 256 + 182 ], "IERC721": [ - 596 + 522 ], "Marketplace": [ - 1908 + 2348 ], "Math": [ - 1015 + 1534 ], "Ownable": [ 104 ], "SafeERC20": [ - 480 + 406 ], "SafeMath": [ - 1327 + 1846 + ], + "Strings": [ + 1044 ] }, - "id": 1909, + "id": 2349, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1433, + "id": 1892, "literals": [ "solidity", "^", @@ -24840,89 +24556,101 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "32:23:11" + "src": "32:23:12" }, { "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "id": 1434, + "id": 1893, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 597, - "src": "57:58:11", + "scope": 2349, + "sourceUnit": 523, + "src": "57:58:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", "file": "@openzeppelin/contracts/utils/math/Math.sol", - "id": 1435, + "id": 1894, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 1016, - "src": "116:53:11", + "scope": 2349, + "sourceUnit": 1535, + "src": "116:53:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", "file": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "id": 1436, + "id": 1895, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 1328, - "src": "170:57:11", + "scope": 2349, + "sourceUnit": 1847, + "src": "170:57:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 1437, + "id": 1896, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 257, - "src": "228:56:11", + "scope": 2349, + "sourceUnit": 183, + "src": "228:56:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", - "id": 1438, + "id": 1897, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 481, - "src": "285:65:11", + "scope": 2349, + "sourceUnit": 407, + "src": "285:65:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 1439, + "id": 1898, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, + "scope": 2349, "sourceUnit": 105, - "src": "351:52:11", + "src": "351:52:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "file": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "id": 1899, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2349, + "sourceUnit": 1435, + "src": "404:62:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "project:/contracts/HasSignature.sol", "file": "./HasSignature.sol", - "id": 1440, + "id": 1900, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1909, - "sourceUnit": 1432, - "src": "404:28:11", + "scope": 2349, + "sourceUnit": 1891, + "src": "467:28:12", "symbolAliases": [], "unitAlias": "" }, @@ -24931,89 +24659,89 @@ "baseContracts": [ { "baseName": { - "id": 1441, + "id": 1901, "name": "Ownable", "nodeType": "IdentifierPath", "referencedDeclaration": 104, - "src": "458:7:11" + "src": "521:7:12" }, - "id": 1442, + "id": 1902, "nodeType": "InheritanceSpecifier", - "src": "458:7:11" + "src": "521:7:12" }, { "baseName": { - "id": 1443, + "id": 1903, "name": "HasSignature", "nodeType": "IdentifierPath", - "referencedDeclaration": 1431, - "src": "467:12:11" + "referencedDeclaration": 1890, + "src": "530:12:12" }, - "id": 1444, + "id": 1904, "nodeType": "InheritanceSpecifier", - "src": "467:12:11" + "src": "530:12:12" } ], "canonicalName": "Marketplace", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1908, + "id": 2348, "linearizedBaseContracts": [ - 1908, - 1431, + 2348, + 1890, 104, - 915 + 841 ], "name": "Marketplace", - "nameLocation": "443:11:11", + "nameLocation": "506:11:12", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1448, + "id": 1908, "libraryName": { - "id": 1445, + "id": 1905, "name": "SafeERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 480, - "src": "492:9:11" + "referencedDeclaration": 406, + "src": "555:9:12" }, "nodeType": "UsingForDirective", - "src": "486:27:11", + "src": "549:27:12", "typeName": { - "id": 1447, + "id": 1907, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1446, + "id": 1906, "name": "IERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 256, - "src": "506:6:11" + "referencedDeclaration": 182, + "src": "569:6:12" }, - "referencedDeclaration": 256, - "src": "506:6:11", + "referencedDeclaration": 182, + "src": "569:6:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } } }, { - "id": 1451, + "id": 1911, "libraryName": { - "id": 1449, + "id": 1909, "name": "SafeMath", "nodeType": "IdentifierPath", - "referencedDeclaration": 1327, - "src": "524:8:11" + "referencedDeclaration": 1846, + "src": "587:8:12" }, "nodeType": "UsingForDirective", - "src": "518:27:11", + "src": "581:27:12", "typeName": { - "id": 1450, + "id": 1910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "537:7:11", + "src": "600:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25023,13 +24751,13 @@ { "constant": false, "functionSelector": "c3b88b42", - "id": 1455, + "id": 1915, "mutability": "mutable", "name": "paymentTokens", - "nameLocation": "646:13:11", + "nameLocation": "709:13:12", "nodeType": "VariableDeclaration", - "scope": 1908, - "src": "614:45:11", + "scope": 2348, + "src": "677:45:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25037,28 +24765,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1454, + "id": 1914, "keyType": { - "id": 1452, + "id": 1912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "622:7:11", + "src": "685:7:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "614:24:11", + "src": "677:24:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1453, + "id": 1913, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "633:4:11", + "src": "696:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25070,13 +24798,13 @@ { "constant": false, "functionSelector": "e949580e", - "id": 1459, + "id": 1919, "mutability": "mutable", "name": "usedSignatures", - "nameLocation": "695:14:11", + "nameLocation": "758:14:12", "nodeType": "VariableDeclaration", - "scope": 1908, - "src": "665:44:11", + "scope": 2348, + "src": "728:44:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25084,28 +24812,28 @@ "typeString": "mapping(bytes => bool)" }, "typeName": { - "id": 1458, + "id": 1918, "keyType": { - "id": 1456, + "id": 1916, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "673:5:11", + "src": "736:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "nodeType": "Mapping", - "src": "665:22:11", + "src": "728:22:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes => bool)" }, "valueType": { - "id": 1457, + "id": 1917, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "682:4:11", + "src": "745:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25117,13 +24845,13 @@ { "constant": false, "functionSelector": "083d80f9", - "id": 1461, + "id": 1921, "mutability": "mutable", "name": "feeToAddress", - "nameLocation": "773:12:11", + "nameLocation": "836:12:12", "nodeType": "VariableDeclaration", - "scope": 1908, - "src": "758:27:11", + "scope": 2348, + "src": "821:27:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25131,10 +24859,10 @@ "typeString": "address" }, "typeName": { - "id": 1460, + "id": 1920, "name": "address", "nodeType": "ElementaryTypeName", - "src": "758:7:11", + "src": "821:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25146,13 +24874,13 @@ { "constant": false, "functionSelector": "9ed3edf0", - "id": 1463, + "id": 1923, "mutability": "mutable", "name": "transactionFee", - "nameLocation": "806:14:11", + "nameLocation": "869:14:12", "nodeType": "VariableDeclaration", - "scope": 1908, - "src": "791:29:11", + "scope": 2348, + "src": "854:29:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25160,10 +24888,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1462, + "id": 1922, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "791:7:11", + "src": "854:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25173,24 +24901,24 @@ }, { "anonymous": false, - "id": 1479, + "id": 1939, "name": "MatchTransaction", - "nameLocation": "847:16:11", + "nameLocation": "910:16:12", "nodeType": "EventDefinition", "parameters": { - "id": 1478, + "id": 1938, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1465, + "id": 1925, "indexed": true, "mutability": "mutable", "name": "tokenId", - "nameLocation": "889:7:11", + "nameLocation": "952:7:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "873:23:11", + "scope": 1939, + "src": "936:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25198,10 +24926,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1464, + "id": 1924, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "873:7:11", + "src": "936:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25211,14 +24939,14 @@ }, { "constant": false, - "id": 1467, + "id": 1927, "indexed": false, "mutability": "mutable", "name": "contractAddress", - "nameLocation": "914:15:11", + "nameLocation": "977:15:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "906:23:11", + "scope": 1939, + "src": "969:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25226,10 +24954,10 @@ "typeString": "address" }, "typeName": { - "id": 1466, + "id": 1926, "name": "address", "nodeType": "ElementaryTypeName", - "src": "906:7:11", + "src": "969:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25240,14 +24968,14 @@ }, { "constant": false, - "id": 1469, + "id": 1929, "indexed": false, "mutability": "mutable", "name": "price", - "nameLocation": "947:5:11", + "nameLocation": "1010:5:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "939:13:11", + "scope": 1939, + "src": "1002:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25255,10 +24983,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1468, + "id": 1928, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "939:7:11", + "src": "1002:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25268,14 +24996,14 @@ }, { "constant": false, - "id": 1471, + "id": 1931, "indexed": false, "mutability": "mutable", "name": "paymentToken", - "nameLocation": "970:12:11", + "nameLocation": "1033:12:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "962:20:11", + "scope": 1939, + "src": "1025:20:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25283,10 +25011,10 @@ "typeString": "address" }, "typeName": { - "id": 1470, + "id": 1930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "962:7:11", + "src": "1025:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25297,14 +25025,14 @@ }, { "constant": false, - "id": 1473, + "id": 1933, "indexed": false, "mutability": "mutable", "name": "seller", - "nameLocation": "1000:6:11", + "nameLocation": "1063:6:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "992:14:11", + "scope": 1939, + "src": "1055:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25312,10 +25040,10 @@ "typeString": "address" }, "typeName": { - "id": 1472, + "id": 1932, "name": "address", "nodeType": "ElementaryTypeName", - "src": "992:7:11", + "src": "1055:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25326,14 +25054,14 @@ }, { "constant": false, - "id": 1475, + "id": 1935, "indexed": false, "mutability": "mutable", "name": "buyer", - "nameLocation": "1024:5:11", + "nameLocation": "1087:5:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "1016:13:11", + "scope": 1939, + "src": "1079:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25341,10 +25069,10 @@ "typeString": "address" }, "typeName": { - "id": 1474, + "id": 1934, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1016:7:11", + "src": "1079:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25355,14 +25083,14 @@ }, { "constant": false, - "id": 1477, + "id": 1937, "indexed": false, "mutability": "mutable", "name": "fee", - "nameLocation": "1047:3:11", + "nameLocation": "1110:3:12", "nodeType": "VariableDeclaration", - "scope": 1479, - "src": "1039:11:11", + "scope": 1939, + "src": "1102:11:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25370,10 +25098,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1476, + "id": 1936, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1039:7:11", + "src": "1102:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25382,30 +25110,30 @@ "visibility": "internal" } ], - "src": "863:193:11" + "src": "926:193:12" }, - "src": "841:216:11" + "src": "904:216:12" }, { "body": { - "id": 1490, + "id": 1950, "nodeType": "Block", - "src": "1128:45:11", + "src": "1191:45:12", "statements": [ { "expression": { - "id": 1488, + "id": 1948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1486, + "id": 1946, "name": "feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "1138:12:11", + "referencedDeclaration": 1921, + "src": "1201:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25414,64 +25142,64 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1487, + "id": 1947, "name": "_feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "1153:13:11", + "referencedDeclaration": 1941, + "src": "1216:13:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1138:28:11", + "src": "1201:28:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1489, + "id": 1949, "nodeType": "ExpressionStatement", - "src": "1138:28:11" + "src": "1201:28:12" } ] }, "functionSelector": "580bb9a5", - "id": 1491, + "id": 1951, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1484, + "id": 1944, "kind": "modifierInvocation", "modifierName": { - "id": 1483, + "id": 1943, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "1118:9:11" + "src": "1181:9:12" }, "nodeType": "ModifierInvocation", - "src": "1118:9:11" + "src": "1181:9:12" } ], "name": "setFeeToAddress", - "nameLocation": "1072:15:11", + "nameLocation": "1135:15:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1482, + "id": 1942, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1481, + "id": 1941, "mutability": "mutable", "name": "_feeToAddress", - "nameLocation": "1096:13:11", + "nameLocation": "1159:13:12", "nodeType": "VariableDeclaration", - "scope": 1491, - "src": "1088:21:11", + "scope": 1951, + "src": "1151:21:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25479,10 +25207,10 @@ "typeString": "address" }, "typeName": { - "id": 1480, + "id": 1940, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1088:7:11", + "src": "1151:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25492,40 +25220,40 @@ "visibility": "internal" } ], - "src": "1087:23:11" + "src": "1150:23:12" }, "returnParameters": { - "id": 1485, + "id": 1945, "nodeType": "ParameterList", "parameters": [], - "src": "1128:0:11" + "src": "1191:0:12" }, - "scope": 1908, - "src": "1063:110:11", + "scope": 2348, + "src": "1126:110:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1502, + "id": 1962, "nodeType": "Block", - "src": "1248:49:11", + "src": "1311:49:12", "statements": [ { "expression": { - "id": 1500, + "id": 1960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1498, + "id": 1958, "name": "transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "1258:14:11", + "referencedDeclaration": 1923, + "src": "1321:14:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25534,64 +25262,64 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1499, + "id": 1959, "name": "_transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "1275:15:11", + "referencedDeclaration": 1953, + "src": "1338:15:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1258:32:11", + "src": "1321:32:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1501, + "id": 1961, "nodeType": "ExpressionStatement", - "src": "1258:32:11" + "src": "1321:32:12" } ] }, "functionSelector": "096a8ab7", - "id": 1503, + "id": 1963, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1496, + "id": 1956, "kind": "modifierInvocation", "modifierName": { - "id": 1495, + "id": 1955, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "1238:9:11" + "src": "1301:9:12" }, "nodeType": "ModifierInvocation", - "src": "1238:9:11" + "src": "1301:9:12" } ], "name": "setTransactionFee", - "nameLocation": "1188:17:11", + "nameLocation": "1251:17:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1494, + "id": 1954, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1493, + "id": 1953, "mutability": "mutable", "name": "_transactionFee", - "nameLocation": "1214:15:11", + "nameLocation": "1277:15:12", "nodeType": "VariableDeclaration", - "scope": 1503, - "src": "1206:23:11", + "scope": 1963, + "src": "1269:23:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25599,10 +25327,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1492, + "id": 1952, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1206:7:11", + "src": "1269:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25611,31 +25339,31 @@ "visibility": "internal" } ], - "src": "1205:25:11" + "src": "1268:25:12" }, "returnParameters": { - "id": 1497, + "id": 1957, "nodeType": "ParameterList", "parameters": [], - "src": "1248:0:11" + "src": "1311:0:12" }, - "scope": 1908, - "src": "1179:118:11", + "scope": 2348, + "src": "1242:118:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1542, + "id": 2002, "nodeType": "Block", - "src": "1401:233:11", + "src": "1464:233:12", "statements": [ { "body": { - "id": 1540, + "id": 2000, "nodeType": "Block", - "src": "1463:165:11", + "src": "1526:165:12", "statements": [ { "condition": { @@ -25643,46 +25371,46 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1528, + "id": 1988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1522, + "id": 1982, "name": "paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "1481:13:11", + "referencedDeclaration": 1915, + "src": "1544:13:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1526, + "id": 1986, "indexExpression": { "baseExpression": { - "id": 1523, + "id": 1983, "name": "_paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1506, - "src": "1495:14:11", + "referencedDeclaration": 1966, + "src": "1558:14:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1525, + "id": 1985, "indexExpression": { - "id": 1524, + "id": 1984, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "1510:1:11", + "referencedDeclaration": 1972, + "src": "1573:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25693,7 +25421,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1495:17:11", + "src": "1558:17:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25704,7 +25432,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1481:32:11", + "src": "1544:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25714,84 +25442,84 @@ "operator": "==", "rightExpression": { "hexValue": "74727565", - "id": 1527, + "id": 1987, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1517:4:11", + "src": "1580:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "1481:40:11", + "src": "1544:40:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1531, + "id": 1991, "nodeType": "IfStatement", - "src": "1477:87:11", + "src": "1540:87:12", "trueBody": { - "id": 1530, + "id": 1990, "nodeType": "Block", - "src": "1523:41:11", + "src": "1586:41:12", "statements": [ { - "id": 1529, + "id": 1989, "nodeType": "Continue", - "src": "1541:8:11" + "src": "1604:8:12" } ] } }, { "expression": { - "id": 1538, + "id": 1998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1532, + "id": 1992, "name": "paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "1578:13:11", + "referencedDeclaration": 1915, + "src": "1641:13:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1536, + "id": 1996, "indexExpression": { "baseExpression": { - "id": 1533, + "id": 1993, "name": "_paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1506, - "src": "1592:14:11", + "referencedDeclaration": 1966, + "src": "1655:14:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1535, + "id": 1995, "indexExpression": { - "id": 1534, + "id": 1994, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "1607:1:11", + "referencedDeclaration": 1972, + "src": "1670:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25802,7 +25530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1592:17:11", + "src": "1655:17:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25813,7 +25541,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1578:32:11", + "src": "1641:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25823,29 +25551,29 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1537, + "id": 1997, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1613:4:11", + "src": "1676:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "1578:39:11", + "src": "1641:39:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1539, + "id": 1999, "nodeType": "ExpressionStatement", - "src": "1578:39:11" + "src": "1641:39:12" } ] }, @@ -25854,18 +25582,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1518, + "id": 1978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1515, + "id": 1975, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "1431:1:11", + "referencedDeclaration": 1972, + "src": "1494:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25875,51 +25603,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1516, + "id": 1976, "name": "_paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1506, - "src": "1435:14:11", + "referencedDeclaration": 1966, + "src": "1498:14:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1517, + "id": 1977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1435:21:11", + "src": "1498:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1431:25:11", + "src": "1494:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1541, + "id": 2001, "initializationExpression": { "assignments": [ - 1512 + 1972 ], "declarations": [ { "constant": false, - "id": 1512, + "id": 1972, "mutability": "mutable", "name": "i", - "nameLocation": "1424:1:11", + "nameLocation": "1487:1:12", "nodeType": "VariableDeclaration", - "scope": 1541, - "src": "1416:9:11", + "scope": 2001, + "src": "1479:9:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25927,10 +25655,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1511, + "id": 1971, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1416:7:11", + "src": "1479:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25939,17 +25667,17 @@ "visibility": "internal" } ], - "id": 1514, + "id": 1974, "initialValue": { "hexValue": "30", - "id": 1513, + "id": 1973, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1428:1:11", + "src": "1491:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -25957,11 +25685,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "1416:13:11" + "src": "1479:13:12" }, "loopExpression": { "expression": { - "id": 1520, + "id": 1980, "isConstant": false, "isLValue": false, "isPure": false, @@ -25969,14 +25697,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1458:3:11", + "src": "1521:3:12", "subExpression": { - "id": 1519, + "id": 1979, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "1458:1:11", + "referencedDeclaration": 1972, + "src": "1521:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25987,50 +25715,50 @@ "typeString": "uint256" } }, - "id": 1521, + "id": 1981, "nodeType": "ExpressionStatement", - "src": "1458:3:11" + "src": "1521:3:12" }, "nodeType": "ForStatement", - "src": "1411:217:11" + "src": "1474:217:12" } ] }, "functionSelector": "b88dccac", - "id": 1543, + "id": 2003, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1509, + "id": 1969, "kind": "modifierInvocation", "modifierName": { - "id": 1508, + "id": 1968, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "1387:9:11" + "src": "1450:9:12" }, "nodeType": "ModifierInvocation", - "src": "1387:9:11" + "src": "1450:9:12" } ], "name": "setPaymentTokens", - "nameLocation": "1312:16:11", + "nameLocation": "1375:16:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1507, + "id": 1967, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1506, + "id": 1966, "mutability": "mutable", "name": "_paymentTokens", - "nameLocation": "1348:14:11", + "nameLocation": "1411:14:12", "nodeType": "VariableDeclaration", - "scope": 1543, - "src": "1329:33:11", + "scope": 2003, + "src": "1392:33:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -26039,19 +25767,19 @@ }, "typeName": { "baseType": { - "id": 1504, + "id": 1964, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1329:7:11", + "src": "1392:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1505, + "id": 1965, "nodeType": "ArrayTypeName", - "src": "1329:9:11", + "src": "1392:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26060,74 +25788,74 @@ "visibility": "internal" } ], - "src": "1328:35:11" + "src": "1391:35:12" }, "returnParameters": { - "id": 1510, + "id": 1970, "nodeType": "ParameterList", "parameters": [], - "src": "1401:0:11" + "src": "1464:0:12" }, - "scope": 1908, - "src": "1303:331:11", + "scope": 2348, + "src": "1366:331:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1572, + "id": 2032, "nodeType": "Block", - "src": "1748:147:11", + "src": "1811:147:12", "statements": [ { "body": { - "id": 1570, + "id": 2030, "nodeType": "Block", - "src": "1817:72:11", + "src": "1880:72:12", "statements": [ { "expression": { - "id": 1568, + "id": 2028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1562, + "id": 2022, "name": "paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "1831:13:11", + "referencedDeclaration": 1915, + "src": "1894:13:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1566, + "id": 2026, "indexExpression": { "baseExpression": { - "id": 1563, + "id": 2023, "name": "_removedPaymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "1845:21:11", + "referencedDeclaration": 2006, + "src": "1908:21:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1565, + "id": 2025, "indexExpression": { - "id": 1564, + "id": 2024, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "1867:1:11", + "referencedDeclaration": 2012, + "src": "1930:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26138,7 +25866,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1845:24:11", + "src": "1908:24:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26149,7 +25877,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1831:39:11", + "src": "1894:39:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26159,29 +25887,29 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 1567, + "id": 2027, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1873:5:11", + "src": "1936:5:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "1831:47:11", + "src": "1894:47:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1569, + "id": 2029, "nodeType": "ExpressionStatement", - "src": "1831:47:11" + "src": "1894:47:12" } ] }, @@ -26190,18 +25918,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1558, + "id": 2018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1555, + "id": 2015, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "1778:1:11", + "referencedDeclaration": 2012, + "src": "1841:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26211,51 +25939,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1556, + "id": 2016, "name": "_removedPaymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "1782:21:11", + "referencedDeclaration": 2006, + "src": "1845:21:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 1557, + "id": 2017, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1782:28:11", + "src": "1845:28:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1778:32:11", + "src": "1841:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1571, + "id": 2031, "initializationExpression": { "assignments": [ - 1552 + 2012 ], "declarations": [ { "constant": false, - "id": 1552, + "id": 2012, "mutability": "mutable", "name": "i", - "nameLocation": "1771:1:11", + "nameLocation": "1834:1:12", "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "1763:9:11", + "scope": 2031, + "src": "1826:9:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26263,10 +25991,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1551, + "id": 2011, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1763:7:11", + "src": "1826:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26275,17 +26003,17 @@ "visibility": "internal" } ], - "id": 1554, + "id": 2014, "initialValue": { "hexValue": "30", - "id": 1553, + "id": 2013, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1775:1:11", + "src": "1838:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26293,11 +26021,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "1763:13:11" + "src": "1826:13:12" }, "loopExpression": { "expression": { - "id": 1560, + "id": 2020, "isConstant": false, "isLValue": false, "isPure": false, @@ -26305,14 +26033,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1812:3:11", + "src": "1875:3:12", "subExpression": { - "id": 1559, + "id": 2019, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "1812:1:11", + "referencedDeclaration": 2012, + "src": "1875:1:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26323,50 +26051,50 @@ "typeString": "uint256" } }, - "id": 1561, + "id": 2021, "nodeType": "ExpressionStatement", - "src": "1812:3:11" + "src": "1875:3:12" }, "nodeType": "ForStatement", - "src": "1758:131:11" + "src": "1821:131:12" } ] }, "functionSelector": "64e60ef4", - "id": 1573, + "id": 2033, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1549, + "id": 2009, "kind": "modifierInvocation", "modifierName": { - "id": 1548, + "id": 2008, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "1734:9:11" + "src": "1797:9:12" }, "nodeType": "ModifierInvocation", - "src": "1734:9:11" + "src": "1797:9:12" } ], "name": "removePaymentTokens", - "nameLocation": "1649:19:11", + "nameLocation": "1712:19:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1547, + "id": 2007, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1546, + "id": 2006, "mutability": "mutable", "name": "_removedPaymentTokens", - "nameLocation": "1688:21:11", + "nameLocation": "1751:21:12", "nodeType": "VariableDeclaration", - "scope": 1573, - "src": "1669:40:11", + "scope": 2033, + "src": "1732:40:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -26375,19 +26103,19 @@ }, "typeName": { "baseType": { - "id": 1544, + "id": 2004, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1669:7:11", + "src": "1732:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1545, + "id": 2005, "nodeType": "ArrayTypeName", - "src": "1669:9:11", + "src": "1732:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26396,31 +26124,31 @@ "visibility": "internal" } ], - "src": "1668:42:11" + "src": "1731:42:12" }, "returnParameters": { - "id": 1550, + "id": 2010, "nodeType": "ParameterList", "parameters": [], - "src": "1748:0:11" + "src": "1811:0:12" }, - "scope": 1908, - "src": "1640:255:11", + "scope": 2348, + "src": "1703:255:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1637, + "id": 2087, "nodeType": "Block", - "src": "2050:636:11", + "src": "2113:730:12", "statements": [ { "expression": { "arguments": [ { - "id": 1590, + "id": 2050, "isConstant": false, "isLValue": false, "isPure": false, @@ -26428,28 +26156,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2081:26:11", + "src": "2144:26:12", "subExpression": { "baseExpression": { - "id": 1587, + "id": 2047, "name": "usedSignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "2082:14:11", + "referencedDeclaration": 1919, + "src": "2145:14:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 1589, + "id": 2049, "indexExpression": { - "id": 1588, + "id": 2048, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1583, - "src": "2097:9:11", + "referencedDeclaration": 2043, + "src": "2160:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -26460,7 +26188,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2082:25:11", + "src": "2145:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26473,14 +26201,14 @@ }, { "hexValue": "4d61726b6574706c6163653a2074686973207369676e61747572652068617320616464656420746f2069676e6f7265206c69737420616c7265616479", - "id": 1591, + "id": 2051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2121:62:11", + "src": "2184:62:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_488c1b4eb2fe350d7b4d1d79ecdbaec4676258ea81a423875e8c9b5159560f24", "typeString": "literal_string \"Marketplace: this signature has added to ignore list already\"" @@ -26499,7 +26227,7 @@ "typeString": "literal_string \"Marketplace: this signature has added to ignore list already\"" } ], - "id": 1586, + "id": 2046, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -26507,13 +26235,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2060:7:11", + "src": "2123:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1592, + "id": 2052, "isConstant": false, "isLValue": false, "isPure": false, @@ -26521,31 +26249,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2060:133:11", + "src": "2123:133:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1593, + "id": 2053, "nodeType": "ExpressionStatement", - "src": "2060:133:11" + "src": "2123:133:12" }, { "assignments": [ - 1595 + 2055 ], "declarations": [ { "constant": false, - "id": 1595, + "id": 2055, "mutability": "mutable", "name": "criteriaMessageHash", - "nameLocation": "2211:19:11", + "nameLocation": "2274:19:12", "nodeType": "VariableDeclaration", - "scope": 1637, - "src": "2203:27:11", + "scope": 2087, + "src": "2266:27:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26553,10 +26281,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1594, + "id": 2054, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2203:7:11", + "src": "2266:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26565,33 +26293,33 @@ "visibility": "internal" } ], - "id": 1613, + "id": 2073, "initialValue": { "arguments": [ { "baseExpression": { - "id": 1597, + "id": 2057, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1577, - "src": "2261:9:11", + "referencedDeclaration": 2037, + "src": "2324:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$2_calldata_ptr", "typeString": "address[2] calldata" } }, - "id": 1599, + "id": 2059, "indexExpression": { "hexValue": "30", - "id": 1598, + "id": 2058, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2271:1:11", + "src": "2334:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26603,7 +26331,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2261:12:11", + "src": "2324:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26611,28 +26339,28 @@ }, { "baseExpression": { - "id": 1600, + "id": 2060, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "2287:6:11", + "referencedDeclaration": 2041, + "src": "2350:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1602, + "id": 2062, "indexExpression": { "hexValue": "30", - "id": 1601, + "id": 2061, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2294:1:11", + "src": "2357:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26644,7 +26372,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2287:9:11", + "src": "2350:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26652,28 +26380,28 @@ }, { "baseExpression": { - "id": 1603, + "id": 2063, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1577, - "src": "2310:9:11", + "referencedDeclaration": 2037, + "src": "2373:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$2_calldata_ptr", "typeString": "address[2] calldata" } }, - "id": 1605, + "id": 2065, "indexExpression": { "hexValue": "31", - "id": 1604, + "id": 2064, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2320:1:11", + "src": "2383:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -26685,7 +26413,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2310:12:11", + "src": "2373:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26693,28 +26421,28 @@ }, { "baseExpression": { - "id": 1606, + "id": 2066, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "2336:6:11", + "referencedDeclaration": 2041, + "src": "2399:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1608, + "id": 2068, "indexExpression": { "hexValue": "31", - "id": 1607, + "id": 2067, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2343:1:11", + "src": "2406:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -26726,7 +26454,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2336:9:11", + "src": "2399:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26734,28 +26462,28 @@ }, { "baseExpression": { - "id": 1609, + "id": 2069, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "2359:6:11", + "referencedDeclaration": 2041, + "src": "2422:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1611, + "id": 2071, "indexExpression": { "hexValue": "32", - "id": 1610, + "id": 2070, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2366:1:11", + "src": "2429:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -26767,7 +26495,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2359:9:11", + "src": "2422:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26797,18 +26525,18 @@ "typeString": "uint256" } ], - "id": 1596, + "id": 2056, "name": "getMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "2233:14:11", + "referencedDeclaration": 2347, + "src": "2296:14:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (address,uint256,address,uint256,uint256) pure returns (bytes32)" } }, - "id": 1612, + "id": 2072, "isConstant": false, "isLValue": false, "isPure": false, @@ -26816,7 +26544,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2233:145:11", + "src": "2296:145:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -26824,251 +26552,93 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2203:175:11" - }, - { - "assignments": [ - 1615 - ], - "declarations": [ - { - "constant": false, - "id": 1615, - "mutability": "mutable", - "name": "ethSignedMessageHash", - "nameLocation": "2397:20:11", - "nodeType": "VariableDeclaration", - "scope": 1637, - "src": "2389:28:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2389:7:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1619, - "initialValue": { - "arguments": [ - { - "id": 1617, - "name": "criteriaMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1595, - "src": "2457:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1616, - "name": "getEthSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1345, - "src": "2420:23:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) pure returns (bytes32)" - } - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2420:66:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2389:97:11" + "src": "2266:175:12" }, { "expression": { "arguments": [ { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2075, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 831, + "src": "2464:10:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } }, - "id": 1627, + "id": 2076, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1622, - "name": "ethSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1615, - "src": "2532:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1623, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1583, - "src": "2554:9:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 1621, - "name": "recoverSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "2518:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (bytes32,bytes memory) pure returns (address)" - } - }, - "id": 1624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2518:46:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1625, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "2568:10:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2568:12:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2518:62:11", + "names": [], + "nodeType": "FunctionCall", + "src": "2464:12:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "hexValue": "4d61726b6574706c6163653a20696e76616c6964207369676e6174757265", - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2594:32:11", + "id": 2077, + "name": "criteriaMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2055, + "src": "2478:19:12", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820", - "typeString": "literal_string \"Marketplace: invalid signature\"" - }, - "value": "Marketplace: invalid signature" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2078, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2043, + "src": "2499:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_stringliteral_5413cf2d294b56187c46128b182087cd348d0e5a456a7baec2b92411e93ca820", - "typeString": "literal_string \"Marketplace: invalid signature\"" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } ], - "id": 1620, - "name": "require", + "id": 2074, + "name": "checkSigner", "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2497:7:11", + "overloadedDeclarations": [], + "referencedDeclaration": 1889, + "src": "2452:11:12", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,bytes32,bytes memory) pure" } }, - "id": 1629, + "id": 2079, "isConstant": false, "isLValue": false, "isPure": false, @@ -27076,45 +26646,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2497:139:11", + "src": "2452:57:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1630, + "id": 2080, "nodeType": "ExpressionStatement", - "src": "2497:139:11" + "src": "2452:57:12" }, { "expression": { - "id": 1635, + "id": 2085, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1631, + "id": 2081, "name": "usedSignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "2647:14:11", + "referencedDeclaration": 1919, + "src": "2804:14:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 1633, + "id": 2083, "indexExpression": { - "id": 1632, + "id": 2082, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1583, - "src": "2662:9:11", + "referencedDeclaration": 2043, + "src": "2819:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -27125,7 +26695,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2647:25:11", + "src": "2804:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27135,53 +26705,53 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1634, + "id": 2084, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2675:4:11", + "src": "2832:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2647:32:11", + "src": "2804:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1636, + "id": 2086, "nodeType": "ExpressionStatement", - "src": "2647:32:11" + "src": "2804:32:12" } ] }, "functionSelector": "d79f639e", - "id": 1638, + "id": 2088, "implemented": true, "kind": "function", "modifiers": [], "name": "ignoreSignature", - "nameLocation": "1910:15:11", + "nameLocation": "1973:15:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1584, + "id": 2044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1577, + "id": 2037, "mutability": "mutable", "name": "addresses", - "nameLocation": "1955:9:11", + "nameLocation": "2018:9:12", "nodeType": "VariableDeclaration", - "scope": 1638, - "src": "1935:29:11", + "scope": 2088, + "src": "1998:29:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -27190,27 +26760,27 @@ }, "typeName": { "baseType": { - "id": 1574, + "id": 2034, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1935:7:11", + "src": "1998:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1576, + "id": 2036, "length": { "hexValue": "32", - "id": 1575, + "id": 2035, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1943:1:11", + "src": "2006:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -27218,7 +26788,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "1935:10:11", + "src": "1998:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$2_storage_ptr", "typeString": "address[2]" @@ -27228,13 +26798,13 @@ }, { "constant": false, - "id": 1581, + "id": 2041, "mutability": "mutable", "name": "values", - "nameLocation": "1994:6:11", + "nameLocation": "2057:6:12", "nodeType": "VariableDeclaration", - "scope": 1638, - "src": "1974:26:11", + "scope": 2088, + "src": "2037:26:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -27243,26 +26813,26 @@ }, "typeName": { "baseType": { - "id": 1578, + "id": 2038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1974:7:11", + "src": "2037:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1580, + "id": 2040, "length": { "hexValue": "33", - "id": 1579, + "id": 2039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1982:1:11", + "src": "2045:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -27270,7 +26840,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "1974:10:11", + "src": "2037:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -27280,13 +26850,13 @@ }, { "constant": false, - "id": 1583, + "id": 2043, "mutability": "mutable", "name": "signature", - "nameLocation": "2025:9:11", + "nameLocation": "2088:9:12", "nodeType": "VariableDeclaration", - "scope": 1638, - "src": "2010:24:11", + "scope": 2088, + "src": "2073:24:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -27294,10 +26864,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1582, + "id": 2042, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2010:5:11", + "src": "2073:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -27306,25 +26876,25 @@ "visibility": "internal" } ], - "src": "1925:115:11" + "src": "1988:115:12" }, "returnParameters": { - "id": 1585, + "id": 2045, "nodeType": "ParameterList", "parameters": [], - "src": "2050:0:11" + "src": "2113:0:12" }, - "scope": 1908, - "src": "1901:785:11", + "scope": 2348, + "src": "1964:879:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1845, + "id": 2285, "nodeType": "Block", - "src": "2935:2360:11", + "src": "3092:2163:12", "statements": [ { "expression": { @@ -27334,49 +26904,49 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1661, + "id": 2111, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1655, + "id": 2105, "name": "paymentTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "3123:13:11", + "referencedDeclaration": 1915, + "src": "3280:13:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1659, + "id": 2109, "indexExpression": { "baseExpression": { - "id": 1656, + "id": 2106, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3137:9:11", + "referencedDeclaration": 2093, + "src": "3294:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1658, + "id": 2108, "indexExpression": { "hexValue": "32", - "id": 1657, + "id": 2107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3147:1:11", + "src": "3304:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -27388,7 +26958,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3137:12:11", + "src": "3294:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27399,7 +26969,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3123:27:11", + "src": "3280:27:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27409,21 +26979,21 @@ "operator": "==", "rightExpression": { "hexValue": "74727565", - "id": 1660, + "id": 2110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3154:4:11", + "src": "3311:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "3123:35:11", + "src": "3280:35:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27431,14 +27001,14 @@ }, { "hexValue": "4d61726b6574706c6163653a20696e76616c6964207061796d656e74206d6574686f64", - "id": 1662, + "id": 2112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3172:37:11", + "src": "3329:37:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_63e309871c51249d9419afa99c8dfb4de4ec543b7d58cd5a78ecff93a19a488b", "typeString": "literal_string \"Marketplace: invalid payment method\"" @@ -27457,7 +27027,7 @@ "typeString": "literal_string \"Marketplace: invalid payment method\"" } ], - "id": 1654, + "id": 2104, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27465,13 +27035,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3102:7:11", + "src": "3259:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1663, + "id": 2113, "isConstant": false, "isLValue": false, "isPure": false, @@ -27479,22 +27049,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3102:117:11", + "src": "3259:117:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1664, + "id": 2114, "nodeType": "ExpressionStatement", - "src": "3102:117:11" + "src": "3259:117:12" }, { "expression": { "arguments": [ { - "id": 1669, + "id": 2119, "isConstant": false, "isLValue": false, "isPure": false, @@ -27502,28 +27072,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3251:26:11", + "src": "3408:26:12", "subExpression": { "baseExpression": { - "id": 1666, + "id": 2116, "name": "usedSignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "3252:14:11", + "referencedDeclaration": 1919, + "src": "3409:14:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 1668, + "id": 2118, "indexExpression": { - "id": 1667, + "id": 2117, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "3267:9:11", + "referencedDeclaration": 2099, + "src": "3424:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -27534,7 +27104,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3252:25:11", + "src": "3409:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27547,14 +27117,14 @@ }, { "hexValue": "4d61726b6574706c6163653a207369676e617475726520757365642e20706c656173652073656e6420616e6f74686572207472616e73616374696f6e2077697468206e6577207369676e6174757265", - "id": 1670, + "id": 2120, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3291:81:11", + "src": "3448:81:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_efc3905c605ef6381282f0ece5c94a1e7cf18954ecb200e0b2a223621adb802e", "typeString": "literal_string \"Marketplace: signature used. please send another transaction with new signature\"" @@ -27573,7 +27143,7 @@ "typeString": "literal_string \"Marketplace: signature used. please send another transaction with new signature\"" } ], - "id": 1665, + "id": 2115, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27581,13 +27151,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3230:7:11", + "src": "3387:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1671, + "id": 2121, "isConstant": false, "isLValue": false, "isPure": false, @@ -27595,31 +27165,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3230:152:11", + "src": "3387:152:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1672, + "id": 2122, "nodeType": "ExpressionStatement", - "src": "3230:152:11" + "src": "3387:152:12" }, { "assignments": [ - 1674 + 2124 ], "declarations": [ { "constant": false, - "id": 1674, + "id": 2124, "mutability": "mutable", "name": "criteriaMessageHash", - "nameLocation": "3401:19:11", + "nameLocation": "3558:19:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "3393:27:11", + "scope": 2285, + "src": "3550:27:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27627,10 +27197,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1673, + "id": 2123, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3393:7:11", + "src": "3550:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -27639,33 +27209,33 @@ "visibility": "internal" } ], - "id": 1692, + "id": 2142, "initialValue": { "arguments": [ { "baseExpression": { - "id": 1676, + "id": 2126, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3451:9:11", + "referencedDeclaration": 2093, + "src": "3608:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1678, + "id": 2128, "indexExpression": { "hexValue": "31", - "id": 1677, + "id": 2127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3461:1:11", + "src": "3618:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -27677,7 +27247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3451:12:11", + "src": "3608:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27685,28 +27255,28 @@ }, { "baseExpression": { - "id": 1679, + "id": 2129, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3477:6:11", + "referencedDeclaration": 2097, + "src": "3634:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1681, + "id": 2131, "indexExpression": { "hexValue": "30", - "id": 1680, + "id": 2130, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3484:1:11", + "src": "3641:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27718,7 +27288,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3477:9:11", + "src": "3634:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27726,28 +27296,28 @@ }, { "baseExpression": { - "id": 1682, + "id": 2132, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3500:9:11", + "referencedDeclaration": 2093, + "src": "3657:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1684, + "id": 2134, "indexExpression": { "hexValue": "32", - "id": 1683, + "id": 2133, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3510:1:11", + "src": "3667:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -27759,7 +27329,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3500:12:11", + "src": "3657:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27767,28 +27337,28 @@ }, { "baseExpression": { - "id": 1685, + "id": 2135, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3526:6:11", + "referencedDeclaration": 2097, + "src": "3683:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1687, + "id": 2137, "indexExpression": { "hexValue": "31", - "id": 1686, + "id": 2136, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3533:1:11", + "src": "3690:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -27800,7 +27370,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3526:9:11", + "src": "3683:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27808,28 +27378,28 @@ }, { "baseExpression": { - "id": 1688, + "id": 2138, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3549:6:11", + "referencedDeclaration": 2097, + "src": "3706:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1690, + "id": 2140, "indexExpression": { "hexValue": "32", - "id": 1689, + "id": 2139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3556:1:11", + "src": "3713:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -27841,7 +27411,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3549:9:11", + "src": "3706:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27871,18 +27441,18 @@ "typeString": "uint256" } ], - "id": 1675, + "id": 2125, "name": "getMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "3423:14:11", + "referencedDeclaration": 2347, + "src": "3580:14:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (address,uint256,address,uint256,uint256) pure returns (bytes32)" } }, - "id": 1691, + "id": 2141, "isConstant": false, "isLValue": false, "isPure": false, @@ -27890,7 +27460,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3423:145:11", + "src": "3580:145:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -27898,262 +27468,104 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3393:175:11" - }, - { - "assignments": [ - 1694 - ], - "declarations": [ - { - "constant": false, - "id": 1694, - "mutability": "mutable", - "name": "ethSignedMessageHash", - "nameLocation": "3587:20:11", - "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "3579:28:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1693, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3579:7:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1698, - "initialValue": { - "arguments": [ - { - "id": 1696, - "name": "criteriaMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1674, - "src": "3647:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1695, - "name": "getEthSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1345, - "src": "3610:23:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) pure returns (bytes32)" - } - }, - "id": 1697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3610:66:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3579:97:11" + "src": "3550:175:12" }, { "expression": { "arguments": [ { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "baseExpression": { + "id": 2144, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2093, + "src": "3748:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", + "typeString": "address[3] calldata" + } + }, + "id": 2146, + "indexExpression": { + "hexValue": "30", + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3758:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "id": 1707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1701, - "name": "ethSignedMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1694, - "src": "3722:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1702, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "3744:9:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 1700, - "name": "recoverSigner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "3708:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (bytes32,bytes memory) pure returns (address)" - } - }, - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3708:46:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "baseExpression": { - "id": 1704, - "name": "addresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3758:9:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", - "typeString": "address[3] calldata" - } - }, - "id": 1706, - "indexExpression": { - "hexValue": "30", - "id": 1705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3768:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3758:12:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3708:62:11", + "nodeType": "IndexAccess", + "src": "3748:12:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "hexValue": "4d61726b6574706c6163653a20696e76616c69642073656c6c6572207369676e6174757265", - "id": 1708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3784:39:11", + "id": 2147, + "name": "criteriaMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2124, + "src": "3762:19:12", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba", - "typeString": "literal_string \"Marketplace: invalid seller signature\"" - }, - "value": "Marketplace: invalid seller signature" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2148, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2099, + "src": "3783:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_stringliteral_144c0fb85fb31ff81af7146a57e8d570a2772cf6f904931e84cc84b58700a5ba", - "typeString": "literal_string \"Marketplace: invalid seller signature\"" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } ], - "id": 1699, - "name": "require", + "id": 2143, + "name": "checkSigner", "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3687:7:11", + "overloadedDeclarations": [], + "referencedDeclaration": 1889, + "src": "3736:11:12", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,bytes32,bytes memory) pure" } }, - "id": 1709, + "id": 2149, "isConstant": false, "isLValue": false, "isPure": false, @@ -28161,84 +27573,84 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3687:146:11", + "src": "3736:57:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1710, + "id": 2150, "nodeType": "ExpressionStatement", - "src": "3687:146:11" + "src": "3736:57:12" }, { "assignments": [ - 1713 + 2153 ], "declarations": [ { "constant": false, - "id": 1713, + "id": 2153, "mutability": "mutable", "name": "nft", - "nameLocation": "3887:3:11", + "nameLocation": "3847:3:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "3879:11:11", + "scope": 2285, + "src": "3839:11:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" }, "typeName": { - "id": 1712, + "id": 2152, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1711, + "id": 2151, "name": "IERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 596, - "src": "3879:7:11" + "referencedDeclaration": 522, + "src": "3839:7:12" }, - "referencedDeclaration": 596, - "src": "3879:7:11", + "referencedDeclaration": 522, + "src": "3839:7:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" } }, "visibility": "internal" } ], - "id": 1719, + "id": 2159, "initialValue": { "arguments": [ { "baseExpression": { - "id": 1715, + "id": 2155, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3901:9:11", + "referencedDeclaration": 2093, + "src": "3861:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1717, + "id": 2157, "indexExpression": { "hexValue": "31", - "id": 1716, + "id": 2156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3911:1:11", + "src": "3871:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -28250,7 +27662,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3901:12:11", + "src": "3861:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28264,18 +27676,18 @@ "typeString": "address" } ], - "id": 1714, + "id": 2154, "name": "IERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "3893:7:11", + "referencedDeclaration": 522, + "src": "3853:7:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721_$596_$", + "typeIdentifier": "t_type$_t_contract$_IERC721_$522_$", "typeString": "type(contract IERC721)" } }, - "id": 1718, + "id": 2158, "isConstant": false, "isLValue": false, "isPure": false, @@ -28283,15 +27695,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3893:21:11", + "src": "3853:21:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" } }, "nodeType": "VariableDeclarationStatement", - "src": "3879:35:11" + "src": "3839:35:12" }, { "expression": { @@ -28301,7 +27713,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1730, + "id": 2170, "isConstant": false, "isLValue": false, "isPure": false, @@ -28310,28 +27722,28 @@ "arguments": [ { "baseExpression": { - "id": 1723, + "id": 2163, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3957:6:11", + "referencedDeclaration": 2097, + "src": "3917:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1725, + "id": 2165, "indexExpression": { "hexValue": "30", - "id": 1724, + "id": 2164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3964:1:11", + "src": "3924:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28343,7 +27755,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3957:9:11", + "src": "3917:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28358,32 +27770,32 @@ } ], "expression": { - "id": 1721, + "id": 2161, "name": "nft", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1713, - "src": "3945:3:11", + "referencedDeclaration": 2153, + "src": "3905:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" } }, - "id": 1722, + "id": 2162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 529, - "src": "3945:11:11", + "referencedDeclaration": 455, + "src": "3905:11:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 1726, + "id": 2166, "isConstant": false, "isLValue": false, "isPure": false, @@ -28391,7 +27803,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3945:22:11", + "src": "3905:22:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -28402,28 +27814,28 @@ "operator": "==", "rightExpression": { "baseExpression": { - "id": 1727, + "id": 2167, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "3971:9:11", + "referencedDeclaration": 2093, + "src": "3931:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1729, + "id": 2169, "indexExpression": { "hexValue": "30", - "id": 1728, + "id": 2168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3981:1:11", + "src": "3941:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28435,13 +27847,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3971:12:11", + "src": "3931:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3945:38:11", + "src": "3905:38:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28449,14 +27861,14 @@ }, { "hexValue": "4d61726b6574706c6163653a2073656c6c6572206973206e6f74206f776e6572206f662074686973206974656d206e6f77", - "id": 1731, + "id": 2171, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3997:51:11", + "src": "3957:51:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b71982fb79c9f935da85fa00c85359f7102341295d7d040cf24162544f600daa", "typeString": "literal_string \"Marketplace: seller is not owner of this item now\"" @@ -28475,7 +27887,7 @@ "typeString": "literal_string \"Marketplace: seller is not owner of this item now\"" } ], - "id": 1720, + "id": 2160, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -28483,13 +27895,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3924:7:11", + "src": "3884:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1732, + "id": 2172, "isConstant": false, "isLValue": false, "isPure": false, @@ -28497,84 +27909,84 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3924:134:11", + "src": "3884:134:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1733, + "id": 2173, "nodeType": "ExpressionStatement", - "src": "3924:134:11" + "src": "3884:134:12" }, { "assignments": [ - 1736 + 2176 ], "declarations": [ { "constant": false, - "id": 1736, + "id": 2176, "mutability": "mutable", "name": "paymentContract", - "nameLocation": "4128:15:11", + "nameLocation": "4088:15:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "4121:22:11", + "scope": 2285, + "src": "4081:22:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" }, "typeName": { - "id": 1735, + "id": 2175, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1734, + "id": 2174, "name": "IERC20", "nodeType": "IdentifierPath", - "referencedDeclaration": 256, - "src": "4121:6:11" + "referencedDeclaration": 182, + "src": "4081:6:12" }, - "referencedDeclaration": 256, - "src": "4121:6:11", + "referencedDeclaration": 182, + "src": "4081:6:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, "visibility": "internal" } ], - "id": 1742, + "id": 2182, "initialValue": { "arguments": [ { "baseExpression": { - "id": 1738, + "id": 2178, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "4153:9:11", + "referencedDeclaration": 2093, + "src": "4113:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1740, + "id": 2180, "indexExpression": { "hexValue": "32", - "id": 1739, + "id": 2179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4163:1:11", + "src": "4123:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -28586,7 +27998,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4153:12:11", + "src": "4113:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28600,18 +28012,18 @@ "typeString": "address" } ], - "id": 1737, + "id": 2177, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "4146:6:11", + "referencedDeclaration": 182, + "src": "4106:6:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$256_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$182_$", "typeString": "type(contract IERC20)" } }, - "id": 1741, + "id": 2181, "isConstant": false, "isLValue": false, "isPure": false, @@ -28619,15 +28031,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4146:20:11", + "src": "4106:20:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, "nodeType": "VariableDeclarationStatement", - "src": "4121:45:11" + "src": "4081:45:12" }, { "expression": { @@ -28637,7 +28049,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1752, + "id": 2192, "isConstant": false, "isLValue": false, "isPure": false, @@ -28648,18 +28060,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1746, + "id": 2186, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "4223:10:11", + "referencedDeclaration": 831, + "src": "4183:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1747, + "id": 2187, "isConstant": false, "isLValue": false, "isPure": false, @@ -28667,7 +28079,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4223:12:11", + "src": "4183:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -28683,32 +28095,32 @@ } ], "expression": { - "id": 1744, + "id": 2184, "name": "paymentContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "4197:15:11", + "referencedDeclaration": 2176, + "src": "4157:15:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, - "id": 1745, + "id": 2185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 195, - "src": "4197:25:11", + "referencedDeclaration": 121, + "src": "4157:25:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 1748, + "id": 2188, "isConstant": false, "isLValue": false, "isPure": false, @@ -28716,7 +28128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4197:39:11", + "src": "4157:39:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28727,28 +28139,28 @@ "operator": ">=", "rightExpression": { "baseExpression": { - "id": 1749, + "id": 2189, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "4240:6:11", + "referencedDeclaration": 2097, + "src": "4200:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1751, + "id": 2191, "indexExpression": { "hexValue": "31", - "id": 1750, + "id": 2190, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4247:1:11", + "src": "4207:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -28760,13 +28172,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4240:9:11", + "src": "4200:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4197:52:11", + "src": "4157:52:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28774,14 +28186,14 @@ }, { "hexValue": "4d61726b6574706c6163653a20627579657220646f65736e2774206861766520656e6f75676820746f6b656e20746f206275792074686973206974656d", - "id": 1753, + "id": 2193, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4263:63:11", + "src": "4223:63:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d3e4ac526e1c61aaf9de4f864750f22500adf6605b26d5fdfe2ba94b88002421", "typeString": "literal_string \"Marketplace: buyer doesn't have enough token to buy this item\"" @@ -28800,7 +28212,7 @@ "typeString": "literal_string \"Marketplace: buyer doesn't have enough token to buy this item\"" } ], - "id": 1743, + "id": 2183, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -28808,13 +28220,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4176:7:11", + "src": "4136:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1754, + "id": 2194, "isConstant": false, "isLValue": false, "isPure": false, @@ -28822,16 +28234,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4176:160:11", + "src": "4136:160:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1755, + "id": 2195, "nodeType": "ExpressionStatement", - "src": "4176:160:11" + "src": "4136:160:12" }, { "expression": { @@ -28841,7 +28253,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1769, + "id": 2209, "isConstant": false, "isLValue": false, "isPure": false, @@ -28852,18 +28264,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1759, + "id": 2199, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "4393:10:11", + "referencedDeclaration": 831, + "src": "4353:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1760, + "id": 2200, "isConstant": false, "isLValue": false, "isPure": false, @@ -28871,7 +28283,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4393:12:11", + "src": "4353:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -28881,14 +28293,14 @@ { "arguments": [ { - "id": 1763, + "id": 2203, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, - "src": "4415:4:11", + "src": "4375:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$1908", + "typeIdentifier": "t_contract$_Marketplace_$2348", "typeString": "contract Marketplace" } } @@ -28896,30 +28308,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Marketplace_$1908", + "typeIdentifier": "t_contract$_Marketplace_$2348", "typeString": "contract Marketplace" } ], - "id": 1762, + "id": 2202, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4407:7:11", + "src": "4367:7:12", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1761, + "id": 2201, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4407:7:11", + "src": "4367:7:12", "typeDescriptions": {} } }, - "id": 1764, + "id": 2204, "isConstant": false, "isLValue": false, "isPure": false, @@ -28927,7 +28339,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4407:13:11", + "src": "4367:13:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -28947,32 +28359,32 @@ } ], "expression": { - "id": 1757, + "id": 2197, "name": "paymentContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "4367:15:11", + "referencedDeclaration": 2176, + "src": "4327:15:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, - "id": 1758, + "id": 2198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "4367:25:11", + "referencedDeclaration": 141, + "src": "4327:25:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1765, + "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, @@ -28980,7 +28392,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4367:54:11", + "src": "4327:54:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28991,28 +28403,28 @@ "operator": ">=", "rightExpression": { "baseExpression": { - "id": 1766, + "id": 2206, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "4425:6:11", + "referencedDeclaration": 2097, + "src": "4385:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1768, + "id": 2208, "indexExpression": { "hexValue": "31", - "id": 1767, + "id": 2207, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4432:1:11", + "src": "4392:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -29024,13 +28436,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4425:9:11", + "src": "4385:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4367:67:11", + "src": "4327:67:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29038,14 +28450,14 @@ }, { "hexValue": "4d61726b6574706c6163653a20627579657220646f65736e277420617070726f7665206d61726b6574706c61636520746f207370656e64207061796d656e7420616d6f756e74", - "id": 1770, + "id": 2210, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4448:72:11", + "src": "4408:72:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_87178b5a42f1682f6dbb3cec2985c1b0c18c6ddb672c1fb12fe88e010ca94af5", "typeString": "literal_string \"Marketplace: buyer doesn't approve marketplace to spend payment amount\"" @@ -29064,7 +28476,7 @@ "typeString": "literal_string \"Marketplace: buyer doesn't approve marketplace to spend payment amount\"" } ], - "id": 1756, + "id": 2196, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29072,13 +28484,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4346:7:11", + "src": "4306:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1771, + "id": 2211, "isConstant": false, "isLValue": false, "isPure": false, @@ -29086,31 +28498,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4346:184:11", + "src": "4306:184:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1772, + "id": 2212, "nodeType": "ExpressionStatement", - "src": "4346:184:11" + "src": "4306:184:12" }, { "assignments": [ - 1774 + 2214 ], "declarations": [ { "constant": false, - "id": 1774, + "id": 2214, "mutability": "mutable", "name": "fee", - "nameLocation": "4633:3:11", + "nameLocation": "4593:3:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "4625:11:11", + "scope": 2285, + "src": "4585:11:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29118,10 +28530,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1773, + "id": 2213, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4625:7:11", + "src": "4585:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29130,19 +28542,19 @@ "visibility": "internal" } ], - "id": 1784, + "id": 2224, "initialValue": { "arguments": [ { "hexValue": "3130303030", - "id": 1782, + "id": 2222, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4673:5:11", + "src": "4633:5:12", "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" @@ -29161,28 +28573,28 @@ "arguments": [ { "baseExpression": { - "id": 1777, + "id": 2217, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "4658:6:11", + "referencedDeclaration": 2097, + "src": "4618:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1779, + "id": 2219, "indexExpression": { "hexValue": "31", - "id": 1778, + "id": 2218, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4665:1:11", + "src": "4625:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -29194,7 +28606,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4658:9:11", + "src": "4618:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29209,32 +28621,32 @@ } ], "expression": { - "id": 1775, + "id": 2215, "name": "transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "4639:14:11", + "referencedDeclaration": 1923, + "src": "4599:14:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1776, + "id": 2216, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1221, - "src": "4639:18:11", + "referencedDeclaration": 1740, + "src": "4599:18:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1780, + "id": 2220, "isConstant": false, "isLValue": false, "isPure": false, @@ -29242,28 +28654,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4639:29:11", + "src": "4599:29:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1781, + "id": 2221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 1236, - "src": "4639:33:11", + "referencedDeclaration": 1755, + "src": "4599:33:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1783, + "id": 2223, "isConstant": false, "isLValue": false, "isPure": false, @@ -29271,7 +28683,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4639:40:11", + "src": "4599:40:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29279,22 +28691,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4625:54:11" + "src": "4585:54:12" }, { "assignments": [ - 1786 + 2226 ], "declarations": [ { "constant": false, - "id": 1786, + "id": 2226, "mutability": "mutable", "name": "payToSellerAmount", - "nameLocation": "4697:17:11", + "nameLocation": "4657:17:12", "nodeType": "VariableDeclaration", - "scope": 1845, - "src": "4689:25:11", + "scope": 2285, + "src": "4649:25:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29302,10 +28714,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1785, + "id": 2225, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4689:7:11", + "src": "4649:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29314,16 +28726,16 @@ "visibility": "internal" } ], - "id": 1793, + "id": 2233, "initialValue": { "arguments": [ { - "id": 1791, + "id": 2231, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1774, - "src": "4731:3:11", + "referencedDeclaration": 2214, + "src": "4691:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29339,28 +28751,28 @@ ], "expression": { "baseExpression": { - "id": 1787, + "id": 2227, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "4717:6:11", + "referencedDeclaration": 2097, + "src": "4677:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1789, + "id": 2229, "indexExpression": { "hexValue": "31", - "id": 1788, + "id": 2228, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4724:1:11", + "src": "4684:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -29372,27 +28784,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4717:9:11", + "src": "4677:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1790, + "id": 2230, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1206, - "src": "4717:13:11", + "referencedDeclaration": 1725, + "src": "4677:13:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1792, + "id": 2232, "isConstant": false, "isLValue": false, "isPure": false, @@ -29400,7 +28812,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4717:18:11", + "src": "4677:18:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29408,7 +28820,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4689:46:11" + "src": "4649:46:12" }, { "expression": { @@ -29417,18 +28829,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1797, + "id": 2237, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "4828:10:11", + "referencedDeclaration": 831, + "src": "4788:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1798, + "id": 2238, "isConstant": false, "isLValue": false, "isPure": false, @@ -29436,7 +28848,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4828:12:11", + "src": "4788:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -29445,28 +28857,28 @@ }, { "baseExpression": { - "id": 1799, + "id": 2239, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "4854:9:11", + "referencedDeclaration": 2093, + "src": "4814:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1801, + "id": 2241, "indexExpression": { "hexValue": "30", - "id": 1800, + "id": 2240, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4864:1:11", + "src": "4824:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -29478,19 +28890,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4854:12:11", + "src": "4814:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1802, + "id": 2242, "name": "payToSellerAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1786, - "src": "4880:17:11", + "referencedDeclaration": 2226, + "src": "4840:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29513,32 +28925,32 @@ } ], "expression": { - "id": 1794, + "id": 2234, "name": "paymentContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "4782:15:11", + "referencedDeclaration": 2176, + "src": "4742:15:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, - "id": 1796, + "id": 2236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "4782:32:11", + "referencedDeclaration": 239, + "src": "4742:32:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$256_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$256_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$182_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$182_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 1803, + "id": 2243, "isConstant": false, "isLValue": false, "isPure": false, @@ -29546,16 +28958,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4782:125:11", + "src": "4742:125:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1804, + "id": 2244, "nodeType": "ExpressionStatement", - "src": "4782:125:11" + "src": "4742:125:12" }, { "condition": { @@ -29563,18 +28975,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1807, + "id": 2247, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1805, + "id": 2245, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1774, - "src": "4957:3:11", + "referencedDeclaration": 2214, + "src": "4917:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29584,33 +28996,33 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1806, + "id": 2246, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4963:1:11", + "src": "4923:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "4957:7:11", + "src": "4917:7:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1818, + "id": 2258, "nodeType": "IfStatement", - "src": "4953:103:11", + "src": "4913:103:12", "trueBody": { - "id": 1817, + "id": 2257, "nodeType": "Block", - "src": "4966:90:11", + "src": "4926:90:12", "statements": [ { "expression": { @@ -29619,18 +29031,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1811, + "id": 2251, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "5013:10:11", + "referencedDeclaration": 831, + "src": "4973:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1812, + "id": 2252, "isConstant": false, "isLValue": false, "isPure": false, @@ -29638,7 +29050,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5013:12:11", + "src": "4973:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -29646,24 +29058,24 @@ } }, { - "id": 1813, + "id": 2253, "name": "feeToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "5027:12:11", + "referencedDeclaration": 1921, + "src": "4987:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1814, + "id": 2254, "name": "fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1774, - "src": "5041:3:11", + "referencedDeclaration": 2214, + "src": "5001:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29686,32 +29098,32 @@ } ], "expression": { - "id": 1808, + "id": 2248, "name": "paymentContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "4980:15:11", + "referencedDeclaration": 2176, + "src": "4940:15:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$256", + "typeIdentifier": "t_contract$_IERC20_$182", "typeString": "contract IERC20" } }, - "id": 1810, + "id": 2250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 313, - "src": "4980:32:11", + "referencedDeclaration": 239, + "src": "4940:32:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$256_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$256_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$182_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$182_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 1815, + "id": 2255, "isConstant": false, "isLValue": false, "isPure": false, @@ -29719,16 +29131,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4980:65:11", + "src": "4940:65:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1816, + "id": 2256, "nodeType": "ExpressionStatement", - "src": "4980:65:11" + "src": "4940:65:12" } ] } @@ -29738,28 +29150,28 @@ "arguments": [ { "baseExpression": { - "id": 1822, + "id": 2262, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "5121:9:11", + "referencedDeclaration": 2093, + "src": "5081:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1824, + "id": 2264, "indexExpression": { "hexValue": "30", - "id": 1823, + "id": 2263, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5131:1:11", + "src": "5091:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -29771,7 +29183,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5121:12:11", + "src": "5081:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29781,18 +29193,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1825, + "id": 2265, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "5135:10:11", + "referencedDeclaration": 831, + "src": "5095:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1826, + "id": 2266, "isConstant": false, "isLValue": false, "isPure": false, @@ -29800,7 +29212,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5135:12:11", + "src": "5095:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -29809,28 +29221,28 @@ }, { "baseExpression": { - "id": 1827, + "id": 2267, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "5149:6:11", + "referencedDeclaration": 2097, + "src": "5109:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1829, + "id": 2269, "indexExpression": { "hexValue": "30", - "id": 1828, + "id": 2268, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5156:1:11", + "src": "5116:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -29842,7 +29254,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5149:9:11", + "src": "5109:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29865,32 +29277,32 @@ } ], "expression": { - "id": 1819, + "id": 2259, "name": "nft", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1713, - "src": "5100:3:11", + "referencedDeclaration": 2153, + "src": "5060:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$596", + "typeIdentifier": "t_contract$_IERC721_$522", "typeString": "contract IERC721" } }, - "id": 1821, + "id": 2261, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 539, - "src": "5100:20:11", + "referencedDeclaration": 465, + "src": "5060:20:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 1830, + "id": 2270, "isConstant": false, "isLValue": false, "isPure": false, @@ -29898,45 +29310,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5100:59:11", + "src": "5060:59:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1831, + "id": 2271, "nodeType": "ExpressionStatement", - "src": "5100:59:11" + "src": "5060:59:12" }, { "expression": { - "id": 1836, + "id": 2276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1832, + "id": 2272, "name": "usedSignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "5170:14:11", + "referencedDeclaration": 1919, + "src": "5130:14:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 1834, + "id": 2274, "indexExpression": { - "id": 1833, + "id": 2273, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "5185:9:11", + "referencedDeclaration": 2099, + "src": "5145:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -29947,7 +29359,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5170:25:11", + "src": "5130:25:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29957,52 +29369,52 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1835, + "id": 2275, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5198:4:11", + "src": "5158:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "5170:32:11", + "src": "5130:32:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1837, + "id": 2277, "nodeType": "ExpressionStatement", - "src": "5170:32:11" + "src": "5130:32:12" }, { "expression": { "arguments": [ { - "id": 1839, + "id": 2279, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "5249:9:11", + "referencedDeclaration": 2093, + "src": "5209:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, { - "id": 1840, + "id": 2280, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "5260:6:11", + "referencedDeclaration": 2097, + "src": "5220:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" @@ -30020,18 +29432,18 @@ "typeString": "uint256[3] calldata" } ], - "id": 1838, + "id": 2278, "name": "emitEvent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1880, - "src": "5239:9:11", + "referencedDeclaration": 2320, + "src": "5199:9:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$3_calldata_ptr_$_t_array$_t_uint256_$3_calldata_ptr_$returns$__$", "typeString": "function (address[3] calldata,uint256[3] calldata)" } }, - "id": 1841, + "id": 2281, "isConstant": false, "isLValue": false, "isPure": false, @@ -30039,68 +29451,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5239:28:11", + "src": "5199:28:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1842, + "id": 2282, "nodeType": "ExpressionStatement", - "src": "5239:28:11" + "src": "5199:28:12" }, { "expression": { "hexValue": "74727565", - "id": 1843, + "id": 2283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5284:4:11", + "src": "5244:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 1653, - "id": 1844, + "functionReturnParameters": 2103, + "id": 2284, "nodeType": "Return", - "src": "5277:11:11" + "src": "5237:11:12" } ] }, "documentation": { - "id": 1639, + "id": 2089, "nodeType": "StructuredDocumentation", - "src": "2692:73:11", + "src": "2849:73:12", "text": " @dev Function matched transaction with user signatures" }, "functionSelector": "e8e8e872", - "id": 1846, + "id": 2286, "implemented": true, "kind": "function", "modifiers": [], "name": "matchTransaction", - "nameLocation": "2779:16:11", + "nameLocation": "2936:16:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1650, + "id": 2100, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1643, + "id": 2093, "mutability": "mutable", "name": "addresses", - "nameLocation": "2825:9:11", + "nameLocation": "2982:9:12", "nodeType": "VariableDeclaration", - "scope": 1846, - "src": "2805:29:11", + "scope": 2286, + "src": "2962:29:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -30109,27 +29521,27 @@ }, "typeName": { "baseType": { - "id": 1640, + "id": 2090, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2805:7:11", + "src": "2962:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1642, + "id": 2092, "length": { "hexValue": "33", - "id": 1641, + "id": 2091, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2813:1:11", + "src": "2970:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -30137,7 +29549,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "2805:10:11", + "src": "2962:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_storage_ptr", "typeString": "address[3]" @@ -30147,13 +29559,13 @@ }, { "constant": false, - "id": 1647, + "id": 2097, "mutability": "mutable", "name": "values", - "nameLocation": "2864:6:11", + "nameLocation": "3021:6:12", "nodeType": "VariableDeclaration", - "scope": 1846, - "src": "2844:26:11", + "scope": 2286, + "src": "3001:26:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -30162,26 +29574,26 @@ }, "typeName": { "baseType": { - "id": 1644, + "id": 2094, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2844:7:11", + "src": "3001:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1646, + "id": 2096, "length": { "hexValue": "33", - "id": 1645, + "id": 2095, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2852:1:11", + "src": "3009:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -30189,7 +29601,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "2844:10:11", + "src": "3001:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -30199,13 +29611,13 @@ }, { "constant": false, - "id": 1649, + "id": 2099, "mutability": "mutable", "name": "signature", - "nameLocation": "2895:9:11", + "nameLocation": "3052:9:12", "nodeType": "VariableDeclaration", - "scope": 1846, - "src": "2880:24:11", + "scope": 2286, + "src": "3037:24:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -30213,10 +29625,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1648, + "id": 2098, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2880:5:11", + "src": "3037:5:12", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -30225,21 +29637,21 @@ "visibility": "internal" } ], - "src": "2795:115:11" + "src": "2952:115:12" }, "returnParameters": { - "id": 1653, + "id": 2103, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1652, + "id": 2102, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1846, - "src": "2929:4:11", + "scope": 2286, + "src": "3086:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30247,10 +29659,10 @@ "typeString": "bool" }, "typeName": { - "id": 1651, + "id": 2101, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2929:4:11", + "src": "3086:4:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30259,47 +29671,47 @@ "visibility": "internal" } ], - "src": "2928:6:11" + "src": "3085:6:12" }, - "scope": 1908, - "src": "2770:2525:11", + "scope": 2348, + "src": "2927:2328:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1879, + "id": 2319, "nodeType": "Block", - "src": "5481:226:11", + "src": "5441:226:12", "statements": [ { "eventCall": { "arguments": [ { "baseExpression": { - "id": 1859, + "id": 2299, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1855, - "src": "5526:6:11", + "referencedDeclaration": 2295, + "src": "5486:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1861, + "id": 2301, "indexExpression": { "hexValue": "30", - "id": 1860, + "id": 2300, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5533:1:11", + "src": "5493:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -30311,7 +29723,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5526:9:11", + "src": "5486:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30319,28 +29731,28 @@ }, { "baseExpression": { - "id": 1862, + "id": 2302, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "5549:9:11", + "referencedDeclaration": 2291, + "src": "5509:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1864, + "id": 2304, "indexExpression": { "hexValue": "31", - "id": 1863, + "id": 2303, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5559:1:11", + "src": "5519:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -30352,7 +29764,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5549:12:11", + "src": "5509:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30360,28 +29772,28 @@ }, { "baseExpression": { - "id": 1865, + "id": 2305, "name": "values", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1855, - "src": "5575:6:11", + "referencedDeclaration": 2295, + "src": "5535:6:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_calldata_ptr", "typeString": "uint256[3] calldata" } }, - "id": 1867, + "id": 2307, "indexExpression": { "hexValue": "31", - "id": 1866, + "id": 2306, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5582:1:11", + "src": "5542:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -30393,7 +29805,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5575:9:11", + "src": "5535:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30401,28 +29813,28 @@ }, { "baseExpression": { - "id": 1868, + "id": 2308, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "5598:9:11", + "referencedDeclaration": 2291, + "src": "5558:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1870, + "id": 2310, "indexExpression": { "hexValue": "32", - "id": 1869, + "id": 2309, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5608:1:11", + "src": "5568:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -30434,7 +29846,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5598:12:11", + "src": "5558:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30442,28 +29854,28 @@ }, { "baseExpression": { - "id": 1871, + "id": 2311, "name": "addresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "5624:9:11", + "referencedDeclaration": 2291, + "src": "5584:9:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_calldata_ptr", "typeString": "address[3] calldata" } }, - "id": 1873, + "id": 2313, "indexExpression": { "hexValue": "30", - "id": 1872, + "id": 2312, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5634:1:11", + "src": "5594:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -30475,7 +29887,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5624:12:11", + "src": "5584:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30485,18 +29897,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1874, + "id": 2314, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "5650:10:11", + "referencedDeclaration": 831, + "src": "5610:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1875, + "id": 2315, "isConstant": false, "isLValue": false, "isPure": false, @@ -30504,7 +29916,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5650:12:11", + "src": "5610:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -30512,12 +29924,12 @@ } }, { - "id": 1876, + "id": 2316, "name": "transactionFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "5676:14:11", + "referencedDeclaration": 1923, + "src": "5636:14:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30555,18 +29967,18 @@ "typeString": "uint256" } ], - "id": 1858, + "id": 2298, "name": "MatchTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1479, - "src": "5496:16:11", + "referencedDeclaration": 1939, + "src": "5456:16:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (uint256,address,uint256,address,address,address,uint256)" } }, - "id": 1877, + "id": 2317, "isConstant": false, "isLValue": false, "isPure": false, @@ -30574,45 +29986,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5496:204:11", + "src": "5456:204:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1878, + "id": 2318, "nodeType": "EmitStatement", - "src": "5491:209:11" + "src": "5451:209:12" } ] }, "documentation": { - "id": 1847, + "id": 2287, "nodeType": "StructuredDocumentation", - "src": "5301:66:11", + "src": "5261:66:12", "text": " @dev Function to emit transaction matched event" }, - "id": 1880, + "id": 2320, "implemented": true, "kind": "function", "modifiers": [], "name": "emitEvent", - "nameLocation": "5381:9:11", + "nameLocation": "5341:9:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1856, + "id": 2296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1851, + "id": 2291, "mutability": "mutable", "name": "addresses", - "nameLocation": "5420:9:11", + "nameLocation": "5380:9:12", "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "5400:29:11", + "scope": 2320, + "src": "5360:29:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -30621,27 +30033,27 @@ }, "typeName": { "baseType": { - "id": 1848, + "id": 2288, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5400:7:11", + "src": "5360:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1850, + "id": 2290, "length": { "hexValue": "33", - "id": 1849, + "id": 2289, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5408:1:11", + "src": "5368:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -30649,7 +30061,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "5400:10:11", + "src": "5360:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_storage_ptr", "typeString": "address[3]" @@ -30659,13 +30071,13 @@ }, { "constant": false, - "id": 1855, + "id": 2295, "mutability": "mutable", "name": "values", - "nameLocation": "5459:6:11", + "nameLocation": "5419:6:12", "nodeType": "VariableDeclaration", - "scope": 1880, - "src": "5439:26:11", + "scope": 2320, + "src": "5399:26:12", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -30674,26 +30086,26 @@ }, "typeName": { "baseType": { - "id": 1852, + "id": 2292, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5439:7:11", + "src": "5399:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1854, + "id": 2294, "length": { "hexValue": "33", - "id": 1853, + "id": 2293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5447:1:11", + "src": "5407:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -30701,7 +30113,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "5439:10:11", + "src": "5399:10:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -30710,25 +30122,25 @@ "visibility": "internal" } ], - "src": "5390:81:11" + "src": "5350:81:12" }, "returnParameters": { - "id": 1857, + "id": 2297, "nodeType": "ParameterList", "parameters": [], - "src": "5481:0:11" + "src": "5441:0:12" }, - "scope": 1908, - "src": "5372:335:11", + "scope": 2348, + "src": "5332:335:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1906, + "id": 2346, "nodeType": "Block", - "src": "5911:269:11", + "src": "5871:269:12", "statements": [ { "expression": { @@ -30736,60 +30148,60 @@ { "arguments": [ { - "id": 1898, + "id": 2338, "name": "_nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "6005:11:11", + "referencedDeclaration": 2322, + "src": "5965:11:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1899, + "id": 2339, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1884, - "src": "6038:8:11", + "referencedDeclaration": 2324, + "src": "5998:8:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1900, + "id": 2340, "name": "_paymentErc20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1886, - "src": "6068:13:11", + "referencedDeclaration": 2326, + "src": "6028:13:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1901, + "id": 2341, "name": "_price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "6103:6:11", + "referencedDeclaration": 2328, + "src": "6063:6:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1902, + "id": 2342, "name": "_saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1890, - "src": "6131:10:11", + "referencedDeclaration": 2330, + "src": "6091:10:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30820,31 +30232,31 @@ } ], "expression": { - "id": 1896, + "id": 2336, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "5967:3:11", + "src": "5927:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 1897, + "id": 2337, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "5967:16:11", + "src": "5927:16:12", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 1903, + "id": 2343, "isConstant": false, "isLValue": false, "isPure": false, @@ -30852,7 +30264,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5967:192:11", + "src": "5927:192:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -30867,18 +30279,18 @@ "typeString": "bytes memory" } ], - "id": 1895, + "id": 2335, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "5940:9:11", + "src": "5900:9:12", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 1904, + "id": 2344, "isConstant": false, "isLValue": false, "isPure": false, @@ -30886,41 +30298,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5940:233:11", + "src": "5900:233:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 1894, - "id": 1905, + "functionReturnParameters": 2334, + "id": 2345, "nodeType": "Return", - "src": "5921:252:11" + "src": "5881:252:12" } ] }, "functionSelector": "1e5192e5", - "id": 1907, + "id": 2347, "implemented": true, "kind": "function", "modifiers": [], "name": "getMessageHash", - "nameLocation": "5722:14:11", + "nameLocation": "5682:14:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1891, + "id": 2331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1882, + "id": 2322, "mutability": "mutable", "name": "_nftAddress", - "nameLocation": "5754:11:11", + "nameLocation": "5714:11:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5746:19:11", + "scope": 2347, + "src": "5706:19:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30928,10 +30340,10 @@ "typeString": "address" }, "typeName": { - "id": 1881, + "id": 2321, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5746:7:11", + "src": "5706:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30942,13 +30354,13 @@ }, { "constant": false, - "id": 1884, + "id": 2324, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5783:8:11", + "nameLocation": "5743:8:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5775:16:11", + "scope": 2347, + "src": "5735:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30956,10 +30368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1883, + "id": 2323, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5775:7:11", + "src": "5735:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30969,13 +30381,13 @@ }, { "constant": false, - "id": 1886, + "id": 2326, "mutability": "mutable", "name": "_paymentErc20", - "nameLocation": "5809:13:11", + "nameLocation": "5769:13:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5801:21:11", + "scope": 2347, + "src": "5761:21:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30983,10 +30395,10 @@ "typeString": "address" }, "typeName": { - "id": 1885, + "id": 2325, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5801:7:11", + "src": "5761:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30997,13 +30409,13 @@ }, { "constant": false, - "id": 1888, + "id": 2328, "mutability": "mutable", "name": "_price", - "nameLocation": "5840:6:11", + "nameLocation": "5800:6:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5832:14:11", + "scope": 2347, + "src": "5792:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31011,10 +30423,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1887, + "id": 2327, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5832:7:11", + "src": "5792:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31024,13 +30436,13 @@ }, { "constant": false, - "id": 1890, + "id": 2330, "mutability": "mutable", "name": "_saltNonce", - "nameLocation": "5864:10:11", + "nameLocation": "5824:10:12", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5856:18:11", + "scope": 2347, + "src": "5816:18:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31038,10 +30450,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1889, + "id": 2329, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5856:7:11", + "src": "5816:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31050,21 +30462,21 @@ "visibility": "internal" } ], - "src": "5736:144:11" + "src": "5696:144:12" }, "returnParameters": { - "id": 1894, + "id": 2334, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1893, + "id": 2333, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1907, - "src": "5902:7:11", + "scope": 2347, + "src": "5862:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31072,10 +30484,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1892, + "id": 2332, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5902:7:11", + "src": "5862:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31084,21 +30496,21 @@ "visibility": "internal" } ], - "src": "5901:9:11" + "src": "5861:9:12" }, - "scope": 1908, - "src": "5713:467:11", + "scope": 2348, + "src": "5673:467:12", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], - "scope": 1909, - "src": "434:5748:11", + "scope": 2349, + "src": "497:5645:12", "usedErrors": [] } ], - "src": "32:6150:11" + "src": "32:6110:12" }, "compiler": { "name": "solc", @@ -31239,12 +30651,12 @@ } }, "links": {}, - "address": "0xdC07daE3cF289C964E61E2D355978b51004A9226", - "transactionHash": "0xc19a58e61695b8128aaa2c7694dd8a0c320533336c70776c46ae98b0c0187739" + "address": "0xA76fa64A848933f3CDFC113aC5fE069cADE441b7", + "transactionHash": "0x4f727161858ca1a6c242826d0e87bee99d3e23dee5c616d87e816d7c3345bedd" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-12T03:12:23.427Z", + "updatedAt": "2022-01-12T06:14:06.697Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index eb50930..186a988 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -2323,12 +2323,12 @@ "1338": { "events": {}, "links": {}, - "address": "0x5A9a2Adb814a7aE8a9d8F5ff0dc9bA9857C3AD62", - "transactionHash": "0xcfe20aeec14f2a2d7f3607e3b0a9ce1c6f2a7fe6aa1488ef068fe1f9cd86bf26" + "address": "0x3Fb7a6D924AcF05039F13D590d6298CFb52c1092", + "transactionHash": "0x070fcbe6e808f2f3b9d746393b71ae4e98175f579711bd956edc77e74250dc05" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-12T03:12:23.445Z", + "updatedAt": "2022-01-12T06:14:06.732Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/MinterFactory.json b/build/contracts/MinterFactory.json index 31a67f8..0d787cf 100644 --- a/build/contracts/MinterFactory.json +++ b/build/contracts/MinterFactory.json @@ -9256,12 +9256,12 @@ } }, "links": {}, - "address": "0x701C957291F6771799f852882834bcf8EA400fEe", - "transactionHash": "0xab7ddc18b4d9acd77d596ff5b6e928743052d07c29e5bd50df285a06c5199b10" + "address": "0x06e2c4d37AC8BBc7a78DC987dD93F980959810fB", + "transactionHash": "0x518014fad0c6be58cff21149df0c32e8821ae2b9ad40d8d892a50b3ce76c6ed2" } }, "schemaVersion": "3.4.4", - "updatedAt": "2022-01-12T03:12:23.416Z", + "updatedAt": "2022-01-12T06:14:06.685Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/contracts/HasSignature.sol b/contracts/HasSignature.sol index 018b236..cb999f4 100644 --- a/contracts/HasSignature.sol +++ b/contracts/HasSignature.sol @@ -1,63 +1,20 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; +import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; contract HasSignature { - function getEthSignedMessageHash(bytes32 _messageHash) - public - pure - returns (bytes32) - { - /* - Signature is produced by signing a keccak256 hash with the following format: - "\x19Ethereum Signed Message\n" + len(msg) + msg - */ - return - keccak256( - abi.encodePacked( - "\x19Ethereum Signed Message:\n32", - _messageHash - ) - ); - } - function recoverSigner( - bytes32 _ethSignedMessageHash, - bytes memory _signature - ) public pure returns (address) { - (bytes32 r, bytes32 s, uint8 v) = splitSignature(_signature); - - return ecrecover(_ethSignedMessageHash, v, r, s); - } - - function splitSignature(bytes memory sig) - public - pure - returns ( - bytes32 r, - bytes32 s, - uint8 v - ) - { - require(sig.length == 65, "invalid signature length"); - - assembly { - /* - First 32 bytes stores the length of the signature - - add(sig, 32) = pointer of sig + 32 - effectively, skips first 32 bytes of signature - - mload(p) loads next 32 bytes starting at the memory address p into memory - */ - - // first 32 bytes, after the length prefix - r := mload(add(sig, 32)) - // second 32 bytes - s := mload(add(sig, 64)) - // final byte (first byte of the next 32 bytes) - v := byte(0, mload(add(sig, 96))) - } - - // implicitly return (r, s, v) + function checkSigner( + address signer, + bytes32 hash, + bytes memory signature + ) public pure { + require(signature.length == 65, "[BE] invalid signature length"); + bytes32 ethSignedMessageHash = ECDSA.toEthSignedMessageHash( + hash + ); + + address recovered = ECDSA.recover(ethSignedMessageHash, signature); + require(recovered == signer, "[BE] invalid seller signature"); } } \ No newline at end of file diff --git a/contracts/MarketPlace.sol b/contracts/MarketPlace.sol index f5ed6bb..6a0c75e 100644 --- a/contracts/MarketPlace.sol +++ b/contracts/MarketPlace.sol @@ -7,6 +7,7 @@ import "@openzeppelin/contracts/utils/math/SafeMath.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; +import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; import "./HasSignature.sol"; contract Marketplace is Ownable, HasSignature { @@ -79,14 +80,7 @@ contract Marketplace is Ownable, HasSignature { values[2] ); - bytes32 ethSignedMessageHash = getEthSignedMessageHash( - criteriaMessageHash - ); - - require( - recoverSigner(ethSignedMessageHash, signature) == _msgSender(), - "Marketplace: invalid signature" - ); + checkSigner(_msgSender(), criteriaMessageHash, signature); usedSignatures[signature] = true; } @@ -120,14 +114,7 @@ contract Marketplace is Ownable, HasSignature { values[2] ); - bytes32 ethSignedMessageHash = getEthSignedMessageHash( - criteriaMessageHash - ); - - require( - recoverSigner(ethSignedMessageHash, signature) == addresses[0], - "Marketplace: invalid seller signature" - ); + checkSigner(addresses[0], criteriaMessageHash, signature); // check current ownership IERC721 nft = IERC721(addresses[1]);