From f8e7069439ee6b8c1eb76b004eb613168bb4e1ff Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Fri, 12 Jan 2024 15:07:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=B8=AA=E7=94=A8?= =?UTF-8?q?=E4=BA=8Eclaim=20usdt=E7=9A=84=E5=90=88=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/contracts/BEBadge.json | 2 +- build/contracts/ClaimToken.json | 19085 ++++++++++++++++++++++ build/contracts/FT.json | 2 +- build/contracts/Migrations.json | 2 +- build/contracts/NFTSbt.json | 2 +- build/contracts/NftBuner.json | 2 +- contracts/activity/ClaimToken.sol | 120 + migrations/14_deploy_activity_202401.js | 61 + migrations/14_deploy_buner.js | 34 - out/arbitrum_sepolia_dev.json | 6 + out/development_dev.json | 54 +- test/claimtoken.test.js | 59 + 12 files changed, 19366 insertions(+), 63 deletions(-) create mode 100644 build/contracts/ClaimToken.json create mode 100644 contracts/activity/ClaimToken.sol create mode 100644 migrations/14_deploy_activity_202401.js delete mode 100644 migrations/14_deploy_buner.js create mode 100644 test/claimtoken.test.js diff --git a/build/contracts/BEBadge.json b/build/contracts/BEBadge.json index 71aeb11..dabe478 100644 --- a/build/contracts/BEBadge.json +++ b/build/contracts/BEBadge.json @@ -38317,7 +38317,7 @@ } }, "schemaVersion": "3.4.16", - "updatedAt": "2024-01-10T06:03:43.853Z", + "updatedAt": "2024-01-12T05:44:22.513Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/ClaimToken.json b/build/contracts/ClaimToken.json new file mode 100644 index 0000000..5513f57 --- /dev/null +++ b/build/contracts/ClaimToken.json @@ -0,0 +1,19085 @@ +{ + "contractName": "ClaimToken", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "paymentAddress", + "type": "address" + } + ], + "name": "PaymentAddressUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "address", + "name": "nft", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "start", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "stakeTime", + "type": "uint64" + } + ], + "indexed": false, + "internalType": "struct ClaimToken.TestStuct", + "name": "info", + "type": "tuple" + } + ], + "name": "TestEvent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "TokenClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "support", + "type": "bool" + } + ], + "name": "TokenSupportUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "verifier", + "type": "address" + } + ], + "name": "VerifierUpdated", + "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", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "claimHistory", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "getDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tokenSupported", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "valNew", + "type": "uint256" + } + ], + "name": "updateDuation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "bool", + "name": "_support", + "type": "bool" + } + ], + "name": "updateTokenSupport", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_verifier", + "type": "address" + } + ], + "name": "updateVerifier", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_paymentAddress", + "type": "address" + } + ], + "name": "updatePaymentAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_saltNonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "address", + "name": "_address", + "type": "address" + }, + { + "internalType": "address", + "name": "_contract", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_chainId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_saltNonce", + "type": "uint256" + } + ], + "name": "getMessageHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function", + "constant": true + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymentAddress\",\"type\":\"address\"}],\"name\":\"PaymentAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"start\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"stakeTime\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct ClaimToken.TestStuct\",\"name\":\"info\",\"type\":\"tuple\"}],\"name\":\"TestEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"support\",\"type\":\"bool\"}],\"name\":\"TokenSupportUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"VerifierUpdated\",\"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\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_saltNonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimHistory\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_saltNonce\",\"type\":\"uint256\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSupported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"valNew\",\"type\":\"uint256\"}],\"name\":\"updateDuation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_paymentAddress\",\"type\":\"address\"}],\"name\":\"updatePaymentAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_support\",\"type\":\"bool\"}],\"name\":\"updateTokenSupport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"for user to claim token\",\"kind\":\"dev\",\"methods\":{\"getDuration()\":{\"details\":\"Returns the max duration for function called by user\"},\"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. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling 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.\"},\"updateDuation(uint256)\":{\"details\":\"Change duration value\"},\"updatePaymentAddress(address)\":{\"details\":\"update payment address\"},\"updateVerifier(address)\":{\"details\":\"update verifier address\"}},\"title\":\"ClaimToken\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/activity/ClaimToken.sol\":\"ClaimToken\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/activity/ClaimToken.sol\":{\"keccak256\":\"0x756c92f9fb5dd786f851d56150782f0d26c8947d63dce211ac0aa07b977badf7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c2afa3336aa65159c884304a638e4154f4d954f3032359c1610d6ff88e99027\",\"dweb:/ipfs/QmPR9aLDxvqikXZjtzgwH2VsRpvWBPDddVmamZfZX8fLrx\"]},\"project:/contracts/core/HasSignature.sol\":{\"keccak256\":\"0x8d4aed7c48ff80fa8feddd3644aed86f94a8246a40023072e58996b3461ee399\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bbba2c6d64bc44877420629c9d7c37c446080336595322d9991b0714be21936\",\"dweb:/ipfs/QmUd6KxHMxDYJjoeeByZLJRAfiytzgsd3HQV1PFfBHgeka\"]},\"project:/contracts/utils/TimeChecker.sol\":{\"keccak256\":\"0x1f73a457228fbce3dc365f0c5199f00b2b004c217af932b691a9f823af266804\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0659f8f79b89ac12e5c58bb1560ad26b70a5bf9f1f860a2dbbf7f00088e99d62\",\"dweb:/ipfs/QmPqqPTteQHPQejcnNbpiQkwe9iQ9nPBZe1SCfFabnUeii\"]}},\"version\":1}", + "bytecode": "0x60c06040523480156200001157600080fd5b5062000032620000266200008760201b60201c565b6200008f60201b60201c565b6201518060028190555061070860038190555046608081815250503073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505062000153565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60805160a0516125256200017960003960006107e00152600061080101526125256000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638da5cb5b1161008c578063ad2e8c9b11610066578063ad2e8c9b146101fc578063cf5034601461021a578063f2fde38b14610236578063fe475f6b14610252576100cf565b80638da5cb5b1461019257806397fc007c146101b0578063a9a11360146101cc576100cf565b8063062143f0146100d4578063425a69cc146101045780636d04319414610134578063715018a6146101505780637b4c92741461015a5780637f9d309614610176575b600080fd5b6100ee60048036038101906100e99190611378565b61026e565b6040516100fb91906113c0565b60405180910390f35b61011e60048036038101906101199190611378565b61028e565b60405161012b91906113f4565b60405180910390f35b61014e6004803603810190610149919061158b565b6102a6565b005b6101586103ea565b005b610174600480360381019061016f9190611626565b6103fe565b005b610190600480360381019061018b9190611692565b6104af565b005b61019a610505565b6040516101a791906116ce565b60405180910390f35b6101ca60048036038101906101c59190611378565b61052e565b005b6101e660048036038101906101e191906116e9565b61062d565b6040516101f3919061179a565b60405180910390f35b610204610674565b60405161021191906113f4565b60405180910390f35b610234600480360381019061022f9190611815565b61067e565b005b610250600480360381019061024b9190611378565b6109ab565b005b61026c60048036038101906102679190611378565b610a2f565b005b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030d9061190c565b60405180910390fd5b604181511461035a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035190611978565b60405180910390fd5b600061036583610b2e565b905060006103738284610b64565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da906119e4565b60405180910390fd5b5050505050565b6103f2610b8b565b6103fc6000610c09565b565b610406610b8b565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fbbe72b7d9dcb594ee398a4a617885aba53d833e2aad601c813ce9df99fdeb49b826040516104a391906113c0565b60405180910390a25050565b6104b7610b8b565b60035481116104fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f290611a50565b60405180910390fd5b8060028190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610536610b8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059d90611ae2565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fd24015cc99cc1700cafca3042840a1d8ac1e3964fd2e0e37ea29c654056ee32760405160405180910390a250565b6000808888888888888860405160200161064d9796959493929190611b6b565b60405160208183030381529060405290508080519060200120915050979650505050505050565b6000600254905090565b818160018282604051610692929190611c1c565b908152602001604051809103902060009054906101000a900460ff16156106ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e590611ccd565b60405180910390fd5b8542600254826106fe9190611d1c565b101561073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073690611de4565b60405180910390fd5b600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c290611e50565b60405180910390fd5b60006107d5610ccd565b90506000610828828c7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008e8e8e61062d565b905061089b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168289898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506102a6565b6108ea600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838c8e73ffffffffffffffffffffffffffffffffffffffff16610cd5909392919063ffffffff16565b89600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109388787610d5e565b878273ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f29842d15961c304dad3345dcde04db3059d13a4455ed0646e5daf7c993a04bc68d60405161099691906113f4565b60405180910390a45050505050505050505050565b6109b3610b8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1a90611ee2565b60405180910390fd5b610a2c81610c09565b50565b610a37610b8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90611f74565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f38391451438b7e6e244427ebf168c1c4955ab37f81307aa329e3ce3ba24c286660405160405180910390a250565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b6000806000610b738585610dcd565b91509150610b8081610e1f565b819250505092915050565b610b93610ccd565b73ffffffffffffffffffffffffffffffffffffffff16610bb1610505565b73ffffffffffffffffffffffffffffffffffffffff1614610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe90611fe0565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b610d58846323b872dd60e01b858585604051602401610cf693929190612000565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f8d565b50505050565b60018282604051610d70929190611c1c565b908152602001604051809103902060009054906101000a900460ff16610dc9576001808383604051610da3929190611c1c565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505b5050565b600080604183511415610e0f5760008060006020860151925060408601519150606086015160001a9050610e0387828585611055565b94509450505050610e18565b60006002915091505b9250929050565b60006004811115610e3357610e32612037565b5b816004811115610e4657610e45612037565b5b1415610e5157610f8a565b60016004811115610e6557610e64612037565b5b816004811115610e7857610e77612037565b5b1415610eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb0906120b2565b60405180910390fd5b60026004811115610ecd57610ecc612037565b5b816004811115610ee057610edf612037565b5b1415610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f189061211e565b60405180910390fd5b60036004811115610f3557610f34612037565b5b816004811115610f4857610f47612037565b5b1415610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f80906121b0565b60405180910390fd5b5b50565b6000610fef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166111389092919063ffffffff16565b905060008151148061101157508080602001905181019061101091906121e5565b5b611050576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104790612284565b60405180910390fd5b505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561109057600060039150915061112f565b6000600187878787604051600081526020016040526040516110b594939291906122c0565b6020604051602081039080840390855afa1580156110d7573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111265760006001925092505061112f565b80600092509250505b94509492505050565b60606111478484600085611150565b90509392505050565b606082471015611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90612377565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516111be9190612406565b60006040518083038185875af1925050503d80600081146111fb576040519150601f19603f3d011682016040523d82523d6000602084013e611200565b606091505b50915091506112118783838761121d565b92505050949350505050565b60608315611280576000835114156112785761123885611293565b611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e90612469565b60405180910390fd5b5b82905061128b565b61128a83836112b6565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156112c95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd91906124cd565b60405180910390fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113458261131a565b9050919050565b6113558161133a565b811461136057600080fd5b50565b6000813590506113728161134c565b92915050565b60006020828403121561138e5761138d611310565b5b600061139c84828501611363565b91505092915050565b60008115159050919050565b6113ba816113a5565b82525050565b60006020820190506113d560008301846113b1565b92915050565b6000819050919050565b6113ee816113db565b82525050565b600060208201905061140960008301846113e5565b92915050565b6000819050919050565b6114228161140f565b811461142d57600080fd5b50565b60008135905061143f81611419565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6114988261144f565b810181811067ffffffffffffffff821117156114b7576114b6611460565b5b80604052505050565b60006114ca611306565b90506114d6828261148f565b919050565b600067ffffffffffffffff8211156114f6576114f5611460565b5b6114ff8261144f565b9050602081019050919050565b82818337600083830152505050565b600061152e611529846114db565b6114c0565b90508281526020810184848401111561154a5761154961144a565b5b61155584828561150c565b509392505050565b600082601f83011261157257611571611445565b5b813561158284826020860161151b565b91505092915050565b6000806000606084860312156115a4576115a3611310565b5b60006115b286828701611363565b93505060206115c386828701611430565b925050604084013567ffffffffffffffff8111156115e4576115e3611315565b5b6115f08682870161155d565b9150509250925092565b611603816113a5565b811461160e57600080fd5b50565b600081359050611620816115fa565b92915050565b6000806040838503121561163d5761163c611310565b5b600061164b85828601611363565b925050602061165c85828601611611565b9150509250929050565b61166f816113db565b811461167a57600080fd5b50565b60008135905061168c81611666565b92915050565b6000602082840312156116a8576116a7611310565b5b60006116b68482850161167d565b91505092915050565b6116c88161133a565b82525050565b60006020820190506116e360008301846116bf565b92915050565b600080600080600080600060e0888a03121561170857611707611310565b5b60006117168a828b01611363565b97505060206117278a828b01611363565b96505060406117388a828b01611363565b95505060606117498a828b0161167d565b945050608061175a8a828b0161167d565b93505060a061176b8a828b0161167d565b92505060c061177c8a828b0161167d565b91505092959891949750929550565b6117948161140f565b82525050565b60006020820190506117af600083018461178b565b92915050565b600080fd5b600080fd5b60008083601f8401126117d5576117d4611445565b5b8235905067ffffffffffffffff8111156117f2576117f16117b5565b5b60208301915083600182028301111561180e5761180d6117ba565b5b9250929050565b60008060008060008060a0878903121561183257611831611310565b5b600061184089828a01611363565b965050602061185189828a0161167d565b955050604061186289828a0161167d565b945050606061187389828a0161167d565b935050608087013567ffffffffffffffff81111561189457611893611315565b5b6118a089828a016117bf565b92509250509295509295509295565b600082825260208201905092915050565b7f5b42455d20696e76616c6964207369676e657200000000000000000000000000600082015250565b60006118f66013836118af565b9150611901826118c0565b602082019050919050565b60006020820190508181036000830152611925816118e9565b9050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b6000611962601d836118af565b915061196d8261192c565b602082019050919050565b6000602082019050818103600083015261199181611955565b9050919050565b7f5b42455d20696e76616c6964207369676e617475726500000000000000000000600082015250565b60006119ce6016836118af565b91506119d982611998565b602082019050919050565b600060208201905081810360008301526119fd816119c1565b9050919050565b7f6475726174696f6e20746f6f2073686f72740000000000000000000000000000600082015250565b6000611a3a6012836118af565b9150611a4582611a04565b602082019050919050565b60006020820190508181036000830152611a6981611a2d565b9050919050565b7f436c61696d546f6b656e3a20616464726573732063616e206e6f74206265207a60008201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b6000611acc6023836118af565b9150611ad782611a70565b604082019050919050565b60006020820190508181036000830152611afb81611abf565b9050919050565b60008160601b9050919050565b6000611b1a82611b02565b9050919050565b6000611b2c82611b0f565b9050919050565b611b44611b3f8261133a565b611b21565b82525050565b6000819050919050565b611b65611b60826113db565b611b4a565b82525050565b6000611b77828a611b33565b601482019150611b878289611b33565b601482019150611b978288611b33565b601482019150611ba78287611b54565b602082019150611bb78286611b54565b602082019150611bc78285611b54565b602082019150611bd78284611b54565b60208201915081905098975050505050505050565b600081905092915050565b6000611c038385611bec565b9350611c1083858461150c565b82840190509392505050565b6000611c29828486611bf7565b91508190509392505050565b7f5b42455d207369676e617475726520757365642e20706c656173652073656e6460008201527f20616e6f74686572207472616e73616374696f6e2077697468206e657720736960208201527f676e617475726500000000000000000000000000000000000000000000000000604082015250565b6000611cb76047836118af565b9150611cc282611c35565b606082019050919050565b60006020820190508181036000830152611ce681611caa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d27826113db565b9150611d32836113db565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d6757611d66611ced565b5b828201905092915050565b7f657870697265642c20706c656173652073656e6420616e6f746865722074726160008201527f6e73616374696f6e2077697468206e6577207369676e61747572650000000000602082015250565b6000611dce603b836118af565b9150611dd982611d72565b604082019050919050565b60006020820190508181036000830152611dfd81611dc1565b9050919050565b7f436c61696d546f6b656e3a20756e737570706f7274656420746f6b656e000000600082015250565b6000611e3a601d836118af565b9150611e4582611e04565b602082019050919050565b60006020820190508181036000830152611e6981611e2d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ecc6026836118af565b9150611ed782611e70565b604082019050919050565b60006020820190508181036000830152611efb81611ebf565b9050919050565b7f436c61696d546f6b656e3a207061796d656e7420616464726573732063616e2060008201527f6e6f74206265207a65726f000000000000000000000000000000000000000000602082015250565b6000611f5e602b836118af565b9150611f6982611f02565b604082019050919050565b60006020820190508181036000830152611f8d81611f51565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fca6020836118af565b9150611fd582611f94565b602082019050919050565b60006020820190508181036000830152611ff981611fbd565b9050919050565b600060608201905061201560008301866116bf565b61202260208301856116bf565b61202f60408301846113e5565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061209c6018836118af565b91506120a782612066565b602082019050919050565b600060208201905081810360008301526120cb8161208f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000612108601f836118af565b9150612113826120d2565b602082019050919050565b60006020820190508181036000830152612137816120fb565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061219a6022836118af565b91506121a58261213e565b604082019050919050565b600060208201905081810360008301526121c98161218d565b9050919050565b6000815190506121df816115fa565b92915050565b6000602082840312156121fb576121fa611310565b5b6000612209848285016121d0565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b600061226e602a836118af565b915061227982612212565b604082019050919050565b6000602082019050818103600083015261229d81612261565b9050919050565b600060ff82169050919050565b6122ba816122a4565b82525050565b60006080820190506122d5600083018761178b565b6122e260208301866122b1565b6122ef604083018561178b565b6122fc606083018461178b565b95945050505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006123616026836118af565b915061236c82612305565b604082019050919050565b6000602082019050818103600083015261239081612354565b9050919050565b600081519050919050565b60005b838110156123c05780820151818401526020810190506123a5565b838111156123cf576000848401525b50505050565b60006123e082612397565b6123ea8185611bec565b93506123fa8185602086016123a2565b80840191505092915050565b600061241282846123d5565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612453601d836118af565b915061245e8261241d565b602082019050919050565b6000602082019050818103600083015261248281612446565b9050919050565b600081519050919050565b600061249f82612489565b6124a981856118af565b93506124b98185602086016123a2565b6124c28161144f565b840191505092915050565b600060208201905081810360008301526124e78184612494565b90509291505056fea2646970667358221220e31a9741997e4fe758edc2a10b674efd6220dbf77876f9be114f88bb286fb19c64736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638da5cb5b1161008c578063ad2e8c9b11610066578063ad2e8c9b146101fc578063cf5034601461021a578063f2fde38b14610236578063fe475f6b14610252576100cf565b80638da5cb5b1461019257806397fc007c146101b0578063a9a11360146101cc576100cf565b8063062143f0146100d4578063425a69cc146101045780636d04319414610134578063715018a6146101505780637b4c92741461015a5780637f9d309614610176575b600080fd5b6100ee60048036038101906100e99190611378565b61026e565b6040516100fb91906113c0565b60405180910390f35b61011e60048036038101906101199190611378565b61028e565b60405161012b91906113f4565b60405180910390f35b61014e6004803603810190610149919061158b565b6102a6565b005b6101586103ea565b005b610174600480360381019061016f9190611626565b6103fe565b005b610190600480360381019061018b9190611692565b6104af565b005b61019a610505565b6040516101a791906116ce565b60405180910390f35b6101ca60048036038101906101c59190611378565b61052e565b005b6101e660048036038101906101e191906116e9565b61062d565b6040516101f3919061179a565b60405180910390f35b610204610674565b60405161021191906113f4565b60405180910390f35b610234600480360381019061022f9190611815565b61067e565b005b610250600480360381019061024b9190611378565b6109ab565b005b61026c60048036038101906102679190611378565b610a2f565b005b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030d9061190c565b60405180910390fd5b604181511461035a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035190611978565b60405180910390fd5b600061036583610b2e565b905060006103738284610b64565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da906119e4565b60405180910390fd5b5050505050565b6103f2610b8b565b6103fc6000610c09565b565b610406610b8b565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fbbe72b7d9dcb594ee398a4a617885aba53d833e2aad601c813ce9df99fdeb49b826040516104a391906113c0565b60405180910390a25050565b6104b7610b8b565b60035481116104fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f290611a50565b60405180910390fd5b8060028190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610536610b8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059d90611ae2565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fd24015cc99cc1700cafca3042840a1d8ac1e3964fd2e0e37ea29c654056ee32760405160405180910390a250565b6000808888888888888860405160200161064d9796959493929190611b6b565b60405160208183030381529060405290508080519060200120915050979650505050505050565b6000600254905090565b818160018282604051610692929190611c1c565b908152602001604051809103902060009054906101000a900460ff16156106ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e590611ccd565b60405180910390fd5b8542600254826106fe9190611d1c565b101561073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073690611de4565b60405180910390fd5b600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c290611e50565b60405180910390fd5b60006107d5610ccd565b90506000610828828c7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008e8e8e61062d565b905061089b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168289898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506102a6565b6108ea600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838c8e73ffffffffffffffffffffffffffffffffffffffff16610cd5909392919063ffffffff16565b89600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109388787610d5e565b878273ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f29842d15961c304dad3345dcde04db3059d13a4455ed0646e5daf7c993a04bc68d60405161099691906113f4565b60405180910390a45050505050505050505050565b6109b3610b8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1a90611ee2565b60405180910390fd5b610a2c81610c09565b50565b610a37610b8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90611f74565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f38391451438b7e6e244427ebf168c1c4955ab37f81307aa329e3ce3ba24c286660405160405180910390a250565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b6000806000610b738585610dcd565b91509150610b8081610e1f565b819250505092915050565b610b93610ccd565b73ffffffffffffffffffffffffffffffffffffffff16610bb1610505565b73ffffffffffffffffffffffffffffffffffffffff1614610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe90611fe0565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b610d58846323b872dd60e01b858585604051602401610cf693929190612000565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f8d565b50505050565b60018282604051610d70929190611c1c565b908152602001604051809103902060009054906101000a900460ff16610dc9576001808383604051610da3929190611c1c565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505b5050565b600080604183511415610e0f5760008060006020860151925060408601519150606086015160001a9050610e0387828585611055565b94509450505050610e18565b60006002915091505b9250929050565b60006004811115610e3357610e32612037565b5b816004811115610e4657610e45612037565b5b1415610e5157610f8a565b60016004811115610e6557610e64612037565b5b816004811115610e7857610e77612037565b5b1415610eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb0906120b2565b60405180910390fd5b60026004811115610ecd57610ecc612037565b5b816004811115610ee057610edf612037565b5b1415610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f189061211e565b60405180910390fd5b60036004811115610f3557610f34612037565b5b816004811115610f4857610f47612037565b5b1415610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f80906121b0565b60405180910390fd5b5b50565b6000610fef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166111389092919063ffffffff16565b905060008151148061101157508080602001905181019061101091906121e5565b5b611050576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104790612284565b60405180910390fd5b505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561109057600060039150915061112f565b6000600187878787604051600081526020016040526040516110b594939291906122c0565b6020604051602081039080840390855afa1580156110d7573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111265760006001925092505061112f565b80600092509250505b94509492505050565b60606111478484600085611150565b90509392505050565b606082471015611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90612377565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516111be9190612406565b60006040518083038185875af1925050503d80600081146111fb576040519150601f19603f3d011682016040523d82523d6000602084013e611200565b606091505b50915091506112118783838761121d565b92505050949350505050565b60608315611280576000835114156112785761123885611293565b611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e90612469565b60405180910390fd5b5b82905061128b565b61128a83836112b6565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156112c95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd91906124cd565b60405180910390fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113458261131a565b9050919050565b6113558161133a565b811461136057600080fd5b50565b6000813590506113728161134c565b92915050565b60006020828403121561138e5761138d611310565b5b600061139c84828501611363565b91505092915050565b60008115159050919050565b6113ba816113a5565b82525050565b60006020820190506113d560008301846113b1565b92915050565b6000819050919050565b6113ee816113db565b82525050565b600060208201905061140960008301846113e5565b92915050565b6000819050919050565b6114228161140f565b811461142d57600080fd5b50565b60008135905061143f81611419565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6114988261144f565b810181811067ffffffffffffffff821117156114b7576114b6611460565b5b80604052505050565b60006114ca611306565b90506114d6828261148f565b919050565b600067ffffffffffffffff8211156114f6576114f5611460565b5b6114ff8261144f565b9050602081019050919050565b82818337600083830152505050565b600061152e611529846114db565b6114c0565b90508281526020810184848401111561154a5761154961144a565b5b61155584828561150c565b509392505050565b600082601f83011261157257611571611445565b5b813561158284826020860161151b565b91505092915050565b6000806000606084860312156115a4576115a3611310565b5b60006115b286828701611363565b93505060206115c386828701611430565b925050604084013567ffffffffffffffff8111156115e4576115e3611315565b5b6115f08682870161155d565b9150509250925092565b611603816113a5565b811461160e57600080fd5b50565b600081359050611620816115fa565b92915050565b6000806040838503121561163d5761163c611310565b5b600061164b85828601611363565b925050602061165c85828601611611565b9150509250929050565b61166f816113db565b811461167a57600080fd5b50565b60008135905061168c81611666565b92915050565b6000602082840312156116a8576116a7611310565b5b60006116b68482850161167d565b91505092915050565b6116c88161133a565b82525050565b60006020820190506116e360008301846116bf565b92915050565b600080600080600080600060e0888a03121561170857611707611310565b5b60006117168a828b01611363565b97505060206117278a828b01611363565b96505060406117388a828b01611363565b95505060606117498a828b0161167d565b945050608061175a8a828b0161167d565b93505060a061176b8a828b0161167d565b92505060c061177c8a828b0161167d565b91505092959891949750929550565b6117948161140f565b82525050565b60006020820190506117af600083018461178b565b92915050565b600080fd5b600080fd5b60008083601f8401126117d5576117d4611445565b5b8235905067ffffffffffffffff8111156117f2576117f16117b5565b5b60208301915083600182028301111561180e5761180d6117ba565b5b9250929050565b60008060008060008060a0878903121561183257611831611310565b5b600061184089828a01611363565b965050602061185189828a0161167d565b955050604061186289828a0161167d565b945050606061187389828a0161167d565b935050608087013567ffffffffffffffff81111561189457611893611315565b5b6118a089828a016117bf565b92509250509295509295509295565b600082825260208201905092915050565b7f5b42455d20696e76616c6964207369676e657200000000000000000000000000600082015250565b60006118f66013836118af565b9150611901826118c0565b602082019050919050565b60006020820190508181036000830152611925816118e9565b9050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b6000611962601d836118af565b915061196d8261192c565b602082019050919050565b6000602082019050818103600083015261199181611955565b9050919050565b7f5b42455d20696e76616c6964207369676e617475726500000000000000000000600082015250565b60006119ce6016836118af565b91506119d982611998565b602082019050919050565b600060208201905081810360008301526119fd816119c1565b9050919050565b7f6475726174696f6e20746f6f2073686f72740000000000000000000000000000600082015250565b6000611a3a6012836118af565b9150611a4582611a04565b602082019050919050565b60006020820190508181036000830152611a6981611a2d565b9050919050565b7f436c61696d546f6b656e3a20616464726573732063616e206e6f74206265207a60008201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b6000611acc6023836118af565b9150611ad782611a70565b604082019050919050565b60006020820190508181036000830152611afb81611abf565b9050919050565b60008160601b9050919050565b6000611b1a82611b02565b9050919050565b6000611b2c82611b0f565b9050919050565b611b44611b3f8261133a565b611b21565b82525050565b6000819050919050565b611b65611b60826113db565b611b4a565b82525050565b6000611b77828a611b33565b601482019150611b878289611b33565b601482019150611b978288611b33565b601482019150611ba78287611b54565b602082019150611bb78286611b54565b602082019150611bc78285611b54565b602082019150611bd78284611b54565b60208201915081905098975050505050505050565b600081905092915050565b6000611c038385611bec565b9350611c1083858461150c565b82840190509392505050565b6000611c29828486611bf7565b91508190509392505050565b7f5b42455d207369676e617475726520757365642e20706c656173652073656e6460008201527f20616e6f74686572207472616e73616374696f6e2077697468206e657720736960208201527f676e617475726500000000000000000000000000000000000000000000000000604082015250565b6000611cb76047836118af565b9150611cc282611c35565b606082019050919050565b60006020820190508181036000830152611ce681611caa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d27826113db565b9150611d32836113db565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d6757611d66611ced565b5b828201905092915050565b7f657870697265642c20706c656173652073656e6420616e6f746865722074726160008201527f6e73616374696f6e2077697468206e6577207369676e61747572650000000000602082015250565b6000611dce603b836118af565b9150611dd982611d72565b604082019050919050565b60006020820190508181036000830152611dfd81611dc1565b9050919050565b7f436c61696d546f6b656e3a20756e737570706f7274656420746f6b656e000000600082015250565b6000611e3a601d836118af565b9150611e4582611e04565b602082019050919050565b60006020820190508181036000830152611e6981611e2d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ecc6026836118af565b9150611ed782611e70565b604082019050919050565b60006020820190508181036000830152611efb81611ebf565b9050919050565b7f436c61696d546f6b656e3a207061796d656e7420616464726573732063616e2060008201527f6e6f74206265207a65726f000000000000000000000000000000000000000000602082015250565b6000611f5e602b836118af565b9150611f6982611f02565b604082019050919050565b60006020820190508181036000830152611f8d81611f51565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fca6020836118af565b9150611fd582611f94565b602082019050919050565b60006020820190508181036000830152611ff981611fbd565b9050919050565b600060608201905061201560008301866116bf565b61202260208301856116bf565b61202f60408301846113e5565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061209c6018836118af565b91506120a782612066565b602082019050919050565b600060208201905081810360008301526120cb8161208f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000612108601f836118af565b9150612113826120d2565b602082019050919050565b60006020820190508181036000830152612137816120fb565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061219a6022836118af565b91506121a58261213e565b604082019050919050565b600060208201905081810360008301526121c98161218d565b9050919050565b6000815190506121df816115fa565b92915050565b6000602082840312156121fb576121fa611310565b5b6000612209848285016121d0565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b600061226e602a836118af565b915061227982612212565b604082019050919050565b6000602082019050818103600083015261229d81612261565b9050919050565b600060ff82169050919050565b6122ba816122a4565b82525050565b60006080820190506122d5600083018761178b565b6122e260208301866122b1565b6122ef604083018561178b565b6122fc606083018461178b565b95945050505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006123616026836118af565b915061236c82612305565b604082019050919050565b6000602082019050818103600083015261239081612354565b9050919050565b600081519050919050565b60005b838110156123c05780820151818401526020810190506123a5565b838111156123cf576000848401525b50505050565b60006123e082612397565b6123ea8185611bec565b93506123fa8185602086016123a2565b80840191505092915050565b600061241282846123d5565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612453601d836118af565b915061245e8261241d565b602082019050919050565b6000602082019050818103600083015261248281612446565b9050919050565b600081519050919050565b600061249f82612489565b6124a981856118af565b93506124b98185602086016123a2565b6124c28161144f565b840191505092915050565b600060208201905081810360008301526124e78184612494565b90509291505056fea2646970667358221220e31a9741997e4fe758edc2a10b674efd6220dbf77876f9be114f88bb286fb19c64736f6c634300080a0033", + "immutableReferences": { + "2537": [ + { + "length": 32, + "start": 2049 + } + ], + "2539": [ + { + "length": 32, + "start": 2016 + } + ] + }, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:34762:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:13", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:13" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:13" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:13", + "type": "" + } + ], + "src": "7:75:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:13" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:13" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:81:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:65:13", + "value": { + "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": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:13", + "type": "" + } + ], + "src": "334:126:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "511:51:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "521:35:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "550:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "532:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "532:24:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "521:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "493:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "503:7:13", + "type": "" + } + ], + "src": "466:96:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "611:79:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "668:16:13", + "statements": [ + { + "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": "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": "eq", + "nodeType": "YulIdentifier", + "src": "631:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "631:35:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "624:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "624:43:13" + }, + "nodeType": "YulIf", + "src": "621:63:13" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "604:5:13", + "type": "" + } + ], + "src": "568:122:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "748:87:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "758:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "780:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "767:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "767:20:13" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "758:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "823:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "796:26:13" + }, + "nodeType": "YulFunctionCall", + "src": "796:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "796:33:13" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "726:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "734:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "742:5:13", + "type": "" + } + ], + "src": "696:139:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "907:263:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "953:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "955:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "955:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "955:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "928:7:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "937:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "924:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "924:23:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "949:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "920:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "920:32:13" + }, + "nodeType": "YulIf", + "src": "917:119:13" + }, + { + "nodeType": "YulBlock", + "src": "1046:117:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1061:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1075:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1065:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1090:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1125:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1136:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1121:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "1121:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1145:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1100:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "1100:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1090:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "877:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "888:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "900:6:13", + "type": "" + } + ], + "src": "841:329:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1218:48:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1228:32:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1253:5:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1246:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1246:13:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1239:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1239:21:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1228:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1200:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1210:7:13", + "type": "" + } + ], + "src": "1176:90:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1331:50:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1348:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1368:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1353:14:13" + }, + "nodeType": "YulFunctionCall", + "src": "1353:21:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1341:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1341:34:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1341:34:13" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1319:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1326:3:13", + "type": "" + } + ], + "src": "1272:109:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1479:118:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1489:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1501:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1512:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1497:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "1497:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1489:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1563:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1576:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1587:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1572:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "1572:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "1525:37:13" + }, + "nodeType": "YulFunctionCall", + "src": "1525:65:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1525:65:13" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1451:9:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1463:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1474:4:13", + "type": "" + } + ], + "src": "1387:210:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1648:32:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1658:16:13", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1669:5:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1658:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1630:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1640:7:13", + "type": "" + } + ], + "src": "1603:77:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1751:53:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1768:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1791:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1773:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "1773:24:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1761:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "1761:37:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1761:37:13" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1739:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1746:3:13", + "type": "" + } + ], + "src": "1686:118:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1908:124:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1918:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1930:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1941:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1926:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "1926:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1918:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1998:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2011:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2022:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2007:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "2007:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "1954:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "1954:71:13" + }, + "nodeType": "YulExpressionStatement", + "src": "1954:71:13" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1880:9:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1892:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1903:4:13", + "type": "" + } + ], + "src": "1810:222:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2083:32:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2093:16:13", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2104:5:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2093:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2065:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2075:7:13", + "type": "" + } + ], + "src": "2038:77:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2164:79:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2221:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2230:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2233:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2223:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2223:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2223:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2187:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2212:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "2194:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "2194:24:13" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2184:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "2184:35:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2177:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2177:43:13" + }, + "nodeType": "YulIf", + "src": "2174:63:13" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2157:5:13", + "type": "" + } + ], + "src": "2121:122:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2301:87:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2311:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2333:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2320:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "2320:20:13" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2311:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2376:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "2349:26:13" + }, + "nodeType": "YulFunctionCall", + "src": "2349:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2349:33:13" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2279:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2287:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2295:5:13", + "type": "" + } + ], + "src": "2249:139:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2483:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2500:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2503:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2493:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2493:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2493:12:13" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "2394:117:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2606:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2623:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2626:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2616:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2616:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2616:12:13" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "2517:117:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2688:54:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2698:38:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2716:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2723:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2712:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "2712:14:13" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2732:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2728:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "2728:7:13" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2708:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "2708:28:13" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2698:6:13" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2671:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2681:6:13", + "type": "" + } + ], + "src": "2640:102:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2776:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2793:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2796:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2786:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2786:88:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2786:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2890:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2893:4:13", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2883:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2883:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2883:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2914:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2917:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2907:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "2907:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "2907:15:13" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "2748:180:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2977:238:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2987:58:13", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "3009:6:13" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "3039:4:13" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "3017:21:13" + }, + "nodeType": "YulFunctionCall", + "src": "3017:27:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3005:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "3005:40:13" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "2991:10:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3156:22:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "3158:16:13" + }, + "nodeType": "YulFunctionCall", + "src": "3158:18:13" + }, + "nodeType": "YulExpressionStatement", + "src": "3158:18:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "3099:10:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3111:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3096:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "3096:34:13" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "3135:10:13" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "3147:6:13" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3132:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "3132:22:13" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "3093:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "3093:62:13" + }, + "nodeType": "YulIf", + "src": "3090:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3194:2:13", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "3198:10:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3187:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "3187:22:13" + }, + "nodeType": "YulExpressionStatement", + "src": "3187:22:13" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "2963:6:13", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2971:4:13", + "type": "" + } + ], + "src": "2934:281:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3262:88:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3272:30:13", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "3282:18:13" + }, + "nodeType": "YulFunctionCall", + "src": "3282:20:13" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "3272:6:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "3331:6:13" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "3339:4:13" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "3311:19:13" + }, + "nodeType": "YulFunctionCall", + "src": "3311:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "3311:33:13" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "3246:4:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "3255:6:13", + "type": "" + } + ], + "src": "3221:129:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3422:241:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3527:22:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "3529:16:13" + }, + "nodeType": "YulFunctionCall", + "src": "3529:18:13" + }, + "nodeType": "YulExpressionStatement", + "src": "3529:18:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3499:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3507:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3496:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "3496:30:13" + }, + "nodeType": "YulIf", + "src": "3493:56:13" + }, + { + "nodeType": "YulAssignment", + "src": "3559:37:13", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3589:6:13" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "3567:21:13" + }, + "nodeType": "YulFunctionCall", + "src": "3567:29:13" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "3559:4:13" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3633:23:13", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "3645:4:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3651:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3641:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "3641:15:13" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "3633:4:13" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3406:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "3417:4:13", + "type": "" + } + ], + "src": "3356:307:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3720:103:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3743:3:13" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3748:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3753:6:13" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "3730:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "3730:30:13" + }, + "nodeType": "YulExpressionStatement", + "src": "3730:30:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3801:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3806:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3797:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "3797:16:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3815:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3790:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "3790:27:13" + }, + "nodeType": "YulExpressionStatement", + "src": "3790:27:13" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "3702:3:13", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "3707:3:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3712:6:13", + "type": "" + } + ], + "src": "3669:154:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3912:327:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3922:74:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3988:6:13" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3947:40:13" + }, + "nodeType": "YulFunctionCall", + "src": "3947:48:13" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "3931:15:13" + }, + "nodeType": "YulFunctionCall", + "src": "3931:65:13" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3922:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "4012:5:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4019:6:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4005:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "4005:21:13" + }, + "nodeType": "YulExpressionStatement", + "src": "4005:21:13" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4035:27:13", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "4050:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4057:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4046:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4046:16:13" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "4039:3:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4100:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "4102:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "4102:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "4102:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "4081:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4086:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4077:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4077:16:13" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4095:3:13" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4074:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "4074:25:13" + }, + "nodeType": "YulIf", + "src": "4071:112:13" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "4216:3:13" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "4221:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4226:6:13" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "4192:23:13" + }, + "nodeType": "YulFunctionCall", + "src": "4192:41:13" + }, + "nodeType": "YulExpressionStatement", + "src": "4192:41:13" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "3885:3:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3890:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3898:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "3906:5:13", + "type": "" + } + ], + "src": "3829:410:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4319:277:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4368:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "4370:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "4370:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "4370:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4347:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4355:4:13", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4343:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4343:17:13" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4362:3:13" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4339:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4339:27:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4332:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "4332:35:13" + }, + "nodeType": "YulIf", + "src": "4329:122:13" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4460:34:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4487:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4474:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "4474:20:13" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4464:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4503:87:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4563:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4571:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4559:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4559:17:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4578:6:13" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4586:3:13" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4512:46:13" + }, + "nodeType": "YulFunctionCall", + "src": "4512:78:13" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "4503:5:13" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4297:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4305:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "4313:5:13", + "type": "" + } + ], + "src": "4258:338:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4711:688:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4757:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4759:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "4759:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "4759:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4732:7:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4741:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4728:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4728:23:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4753:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4724:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4724:32:13" + }, + "nodeType": "YulIf", + "src": "4721:119:13" + }, + { + "nodeType": "YulBlock", + "src": "4850:117:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4865:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4879:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4869:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4894:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4929:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4940:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4925:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "4925:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4949:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4904:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "4904:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4894:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4977:118:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4992:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5006:2:13", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4996:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5022:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5057:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5068:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5053:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "5053:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5077:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "5032:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "5032:53:13" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5022:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5105:287:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5120:46:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5151:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5162:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5147:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "5147:18:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5134:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "5134:32:13" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5124:6:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5213:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "5215:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "5215:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "5215:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5185:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5193:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5182:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "5182:30:13" + }, + "nodeType": "YulIf", + "src": "5179:117:13" + }, + { + "nodeType": "YulAssignment", + "src": "5310:72:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5354:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5365:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5350:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "5350:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5374:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5320:29:13" + }, + "nodeType": "YulFunctionCall", + "src": "5320:62:13" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "5310:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4665:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4676:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4688:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4696:6:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "4704:6:13", + "type": "" + } + ], + "src": "4602:797:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5445:76:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5499:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5508:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5511:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5501:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "5501:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "5501:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5468:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5490:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "5475:14:13" + }, + "nodeType": "YulFunctionCall", + "src": "5475:21:13" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5465:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "5465:32:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5458:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "5458:40:13" + }, + "nodeType": "YulIf", + "src": "5455:60:13" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5438:5:13", + "type": "" + } + ], + "src": "5405:116:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5576:84:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5586:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5608:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5595:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "5595:20:13" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5586:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5648:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "5624:23:13" + }, + "nodeType": "YulFunctionCall", + "src": "5624:30:13" + }, + "nodeType": "YulExpressionStatement", + "src": "5624:30:13" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5554:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5562:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5570:5:13", + "type": "" + } + ], + "src": "5527:133:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5746:388:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5792:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5794:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "5794:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "5794:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5767:7:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5776:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5763:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "5763:23:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5788:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5759:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "5759:32:13" + }, + "nodeType": "YulIf", + "src": "5756:119:13" + }, + { + "nodeType": "YulBlock", + "src": "5885:117:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5900:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5914:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5904:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5929:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5964:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5975:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5960:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "5960:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5984:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5939:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "5939:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5929:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6012:115:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6027:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6041:2:13", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6031:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6057:60:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6089:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6100:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6085:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "6085:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6109:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "6067:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "6067:50:13" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6057:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5708:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5719:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5731:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5739:6:13", + "type": "" + } + ], + "src": "5666:468:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6183:79:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6240:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6249:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6252:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6242:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "6242:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "6242:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6206:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6231:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "6213:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "6213:24:13" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6203:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "6203:35:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6196:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "6196:43:13" + }, + "nodeType": "YulIf", + "src": "6193:63:13" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6176:5:13", + "type": "" + } + ], + "src": "6140:122:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6320:87:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6330:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6352:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6339:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "6339:20:13" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6330:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6395:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "6368:26:13" + }, + "nodeType": "YulFunctionCall", + "src": "6368:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "6368:33:13" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6298:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6306:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6314:5:13", + "type": "" + } + ], + "src": "6268:139:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6479:263:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6525:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6527:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "6527:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "6527:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6500:7:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6509:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6496:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "6496:23:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6521:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6492:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "6492:32:13" + }, + "nodeType": "YulIf", + "src": "6489:119:13" + }, + { + "nodeType": "YulBlock", + "src": "6618:117:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6633:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6647:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6637:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6662:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6697:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6708:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6693:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "6693:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6717:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "6672:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "6672:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6662:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6449:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6460:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6472:6:13", + "type": "" + } + ], + "src": "6413:329:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6813:53:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6830:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6853:5:13" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "6835:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "6835:24:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6823:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "6823:37:13" + }, + "nodeType": "YulExpressionStatement", + "src": "6823:37:13" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6801:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6808:3:13", + "type": "" + } + ], + "src": "6748:118:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6970:124:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6980:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6992:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7003:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6988:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "6988:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6980:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7060:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7073:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7084:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7069:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7069:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "7016:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "7016:71:13" + }, + "nodeType": "YulExpressionStatement", + "src": "7016:71:13" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6942:9:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6954:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6965:4:13", + "type": "" + } + ], + "src": "6872:222:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7268:1035:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7315:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7317:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "7317:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "7317:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7289:7:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7298:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7285:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7285:23:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7310:3:13", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7281:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7281:33:13" + }, + "nodeType": "YulIf", + "src": "7278:120:13" + }, + { + "nodeType": "YulBlock", + "src": "7408:117:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7423:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7437:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7427:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7452:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7487:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7498:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7483:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7483:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7507:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7462:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "7462:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7452:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7535:118:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7550:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7564:2:13", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7554:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7580:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7615:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7626:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7611:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7611:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7635:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7590:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "7590:53:13" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7580:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7663:118:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7678:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7692:2:13", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7682:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7708:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7743:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7754:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7739:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7739:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7763:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7718:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "7718:53:13" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "7708:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7791:118:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7806:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7820:2:13", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7810:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7836:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7871:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7882:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7867:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7867:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7891:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "7846:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "7846:53:13" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "7836:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7919:119:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7934:17:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7948:3:13", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7938:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7965:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8000:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8011:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7996:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "7996:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8020:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "7975:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "7975:53:13" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "7965:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8048:119:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8063:17:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8077:3:13", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8067:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8094:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8129:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8140:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8125:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8125:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8149:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "8104:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "8104:53:13" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "8094:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8177:119:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8192:17:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8206:3:13", + "type": "", + "value": "192" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8196:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8223:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8258:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8269:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8254:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8254:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8278:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "8233:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "8233:53:13" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "8223:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_addresst_uint256t_uint256t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7190:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7201:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7213:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7221:6:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "7229:6:13", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "7237:6:13", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "7245:6:13", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "7253:6:13", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "7261:6:13", + "type": "" + } + ], + "src": "7100:1203:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8374:53:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8391:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8414:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "8396:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "8396:24:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8384:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "8384:37:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8384:37:13" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8362:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8369:3:13", + "type": "" + } + ], + "src": "8309:118:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8531:124:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8541:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8553:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8564:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8549:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8549:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8541:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8621:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8634:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8645:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8630:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "8630:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "8577:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "8577:71:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8577:71:13" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8503:9:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8515:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8526:4:13", + "type": "" + } + ], + "src": "8433:222:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8750:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8767:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8770:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8760:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "8760:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8760:12:13" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulFunctionDefinition", + "src": "8661:117:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8873:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8890:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8893:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8883:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "8883:12:13" + }, + "nodeType": "YulExpressionStatement", + "src": "8883:12:13" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "8784:117:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8994:478:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9043:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "9045:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "9045:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "9045:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9022:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9030:4:13", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9018:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9018:17:13" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9037:3:13" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9014:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9014:27:13" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "9007:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "9007:35:13" + }, + "nodeType": "YulIf", + "src": "9004:122:13" + }, + { + "nodeType": "YulAssignment", + "src": "9135:30:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9158:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9145:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "9145:20:13" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9135:6:13" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9208:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "9210:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "9210:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "9210:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9180:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9188:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9177:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "9177:30:13" + }, + "nodeType": "YulIf", + "src": "9174:117:13" + }, + { + "nodeType": "YulAssignment", + "src": "9300:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9316:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9324:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9312:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9312:17:13" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "9300:8:13" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9383:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "9385:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "9385:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "9385:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "9348:8:13" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9362:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9370:4:13", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "9358:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9358:17:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9344:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9344:32:13" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9378:3:13" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9341:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "9341:41:13" + }, + "nodeType": "YulIf", + "src": "9338:128:13" + } + ] + }, + "name": "abi_decode_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8961:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8969:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "8977:8:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8987:6:13", + "type": "" + } + ], + "src": "8920:552:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9631:956:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9678:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "9680:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "9680:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "9680:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9652:7:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9661:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9648:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9648:23:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9673:3:13", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9644:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9644:33:13" + }, + "nodeType": "YulIf", + "src": "9641:120:13" + }, + { + "nodeType": "YulBlock", + "src": "9771:117:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9786:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9800:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9790:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9815:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9850:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9861:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9846:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9846:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9870:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "9825:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "9825:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9815:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9898:118:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9913:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9927:2:13", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9917:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9943:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9978:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9989:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9974:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9974:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9998:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "9953:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "9953:53:13" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9943:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10026:118:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10041:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10055:2:13", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10045:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10071:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10106:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10117:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10102:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10102:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10126:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "10081:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "10081:53:13" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "10071:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10154:118:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10169:16:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10183:2:13", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10173:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10199:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10234:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10245:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10230:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10230:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10254:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "10209:20:13" + }, + "nodeType": "YulFunctionCall", + "src": "10209:53:13" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "10199:6:13" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10282:298:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10297:47:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10328:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10339:3:13", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10324:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10324:19:13" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10311:12:13" + }, + "nodeType": "YulFunctionCall", + "src": "10311:33:13" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10301:6:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10391:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "10393:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "10393:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "10393:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10363:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10371:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10360:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "10360:30:13" + }, + "nodeType": "YulIf", + "src": "10357:117:13" + }, + { + "nodeType": "YulAssignment", + "src": "10488:82:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10542:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10553:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10538:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10538:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10562:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "10506:31:13" + }, + "nodeType": "YulFunctionCall", + "src": "10506:64:13" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "10488:6:13" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "10496:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_uint256t_uint256t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9561:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9572:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9584:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9592:6:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9600:6:13", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "9608:6:13", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "9616:6:13", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "9624:6:13", + "type": "" + } + ], + "src": "9478:1109:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10689:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10706:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10711:6:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10699:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "10699:19:13" + }, + "nodeType": "YulExpressionStatement", + "src": "10699:19:13" + }, + { + "nodeType": "YulAssignment", + "src": "10727:29:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10746:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10751:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10742:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10742:14:13" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "10727:11:13" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10661:3:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10666:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "10677:11:13", + "type": "" + } + ], + "src": "10593:169:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10874:63:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10896:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10904:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10892:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "10892:14:13" + }, + { + "hexValue": "5b42455d20696e76616c6964207369676e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10908:21:13", + "type": "", + "value": "[BE] invalid signer" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10885:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "10885:45:13" + }, + "nodeType": "YulExpressionStatement", + "src": "10885:45:13" + } + ] + }, + "name": "store_literal_in_memory_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10866:6:13", + "type": "" + } + ], + "src": "10768:169:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11089:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11099:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11165:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11170:2:13", + "type": "", + "value": "19" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11106:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "11106:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11099:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11271:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c", + "nodeType": "YulIdentifier", + "src": "11182:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "11182:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "11182:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "11284:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11295:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11300:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11291:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11291:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11284:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11077:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11085:3:13", + "type": "" + } + ], + "src": "10943:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11486:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11496:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11508:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11519:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11504:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11504:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11496:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11543:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11554:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11539:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11539:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11562:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11568:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11558:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11558:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11532:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "11532:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "11532:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "11588:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11722:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11596:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "11596:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11588:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11466:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11481:4:13", + "type": "" + } + ], + "src": "11315:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11846:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11868:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11876:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11864:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "11864:14:13" + }, + { + "hexValue": "5b42455d20696e76616c6964207369676e6174757265206c656e677468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11880:31:13", + "type": "", + "value": "[BE] invalid signature length" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11857:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "11857:55:13" + }, + "nodeType": "YulExpressionStatement", + "src": "11857:55:13" + } + ] + }, + "name": "store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11838:6:13", + "type": "" + } + ], + "src": "11740:179:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12071:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12081:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12147:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12152:2:13", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12088:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "12088:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12081:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12253:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", + "nodeType": "YulIdentifier", + "src": "12164:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "12164:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12164:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "12266:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12277:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12282:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12273:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12273:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12266:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12059:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12067:3:13", + "type": "" + } + ], + "src": "11925:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12468:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12478:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12490:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12501:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12486:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12486:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12478:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12525:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12536:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12521:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12521:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12544:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12550:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12540:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12540:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12514:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "12514:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12514:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "12570:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12704:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12578:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "12578:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12570:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12448:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12463:4:13", + "type": "" + } + ], + "src": "12297:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12828:66:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12850:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12858:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12846:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "12846:14:13" + }, + { + "hexValue": "5b42455d20696e76616c6964207369676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "12862:24:13", + "type": "", + "value": "[BE] invalid signature" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12839:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "12839:48:13" + }, + "nodeType": "YulExpressionStatement", + "src": "12839:48:13" + } + ] + }, + "name": "store_literal_in_memory_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12820:6:13", + "type": "" + } + ], + "src": "12722:172:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13046:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13056:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13122:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13127:2:13", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13063:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "13063:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13056:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13228:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72", + "nodeType": "YulIdentifier", + "src": "13139:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "13139:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "13139:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "13241:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13252:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13257:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13248:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "13248:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13241:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13034:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13042:3:13", + "type": "" + } + ], + "src": "12900:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13443:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13453:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13465:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13476:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13461:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "13461:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13453:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13500:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13511:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13496:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "13496:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13519:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13525:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13515:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "13515:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13489:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "13489:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "13489:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "13545:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13679:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13553:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "13553:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13545:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13423:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13438:4:13", + "type": "" + } + ], + "src": "13272:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13803:62:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13825:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13833:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13821:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "13821:14:13" + }, + { + "hexValue": "6475726174696f6e20746f6f2073686f7274", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13837:20:13", + "type": "", + "value": "duration too short" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13814:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "13814:44:13" + }, + "nodeType": "YulExpressionStatement", + "src": "13814:44:13" + } + ] + }, + "name": "store_literal_in_memory_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "13795:6:13", + "type": "" + } + ], + "src": "13697:168:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14017:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14027:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14093:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14098:2:13", + "type": "", + "value": "18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14034:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "14034:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14027:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14199:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448", + "nodeType": "YulIdentifier", + "src": "14110:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "14110:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "14110:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "14212:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14223:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14228:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14219:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "14219:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14212:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14005:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14013:3:13", + "type": "" + } + ], + "src": "13871:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14414:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14424:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14436:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14447:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14432:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "14432:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14424:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14471:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14482:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14467:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "14467:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14490:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14496:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14486:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "14486:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14460:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "14460:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "14460:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "14516:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14650:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14524:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "14524:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14516:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14394:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14409:4:13", + "type": "" + } + ], + "src": "14243:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14774:116:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14796:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14804:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14792:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "14792:14:13" + }, + { + "hexValue": "436c61696d546f6b656e3a20616464726573732063616e206e6f74206265207a", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14808:34:13", + "type": "", + "value": "ClaimToken: address can not be z" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14785:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "14785:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "14785:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14864:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14872:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14860:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "14860:15:13" + }, + { + "hexValue": "65726f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14877:5:13", + "type": "", + "value": "ero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14853:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "14853:30:13" + }, + "nodeType": "YulExpressionStatement", + "src": "14853:30:13" + } + ] + }, + "name": "store_literal_in_memory_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14766:6:13", + "type": "" + } + ], + "src": "14668:222:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15042:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15052:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15118:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15123:2:13", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15059:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "15059:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15052:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15224:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249", + "nodeType": "YulIdentifier", + "src": "15135:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "15135:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "15135:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "15237:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15248:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15253:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15244:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "15244:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15237:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15030:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15038:3:13", + "type": "" + } + ], + "src": "14896:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15439:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15449:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15461:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15472:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15457:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "15457:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15449:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15496:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15507:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15492:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "15492:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15515:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15521:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15511:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "15511:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15485:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "15485:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "15485:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "15541:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15675:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15549:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "15549:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15541:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15419:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15434:4:13", + "type": "" + } + ], + "src": "15268:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15735:52:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15745:35:13", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15770:2:13", + "type": "", + "value": "96" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15774:5:13" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "15766:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "15766:14:13" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "15745:8:13" + } + ] + } + ] + }, + "name": "shift_left_96", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15716:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "15726:8:13", + "type": "" + } + ], + "src": "15693:94:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15840:47:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15850:31:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15875:5:13" + } + ], + "functionName": { + "name": "shift_left_96", + "nodeType": "YulIdentifier", + "src": "15861:13:13" + }, + "nodeType": "YulFunctionCall", + "src": "15861:20:13" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "15850:7:13" + } + ] + } + ] + }, + "name": "leftAlign_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15822:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "15832:7:13", + "type": "" + } + ], + "src": "15793:94:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15940:53:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15950:37:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15981:5:13" + } + ], + "functionName": { + "name": "leftAlign_t_uint160", + "nodeType": "YulIdentifier", + "src": "15961:19:13" + }, + "nodeType": "YulFunctionCall", + "src": "15961:26:13" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "15950:7:13" + } + ] + } + ] + }, + "name": "leftAlign_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15922:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "15932:7:13", + "type": "" + } + ], + "src": "15893:100:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16082:74:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16099:3:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16142:5:13" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "16124:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "16124:24:13" + } + ], + "functionName": { + "name": "leftAlign_t_address", + "nodeType": "YulIdentifier", + "src": "16104:19:13" + }, + "nodeType": "YulFunctionCall", + "src": "16104:45:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16092:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "16092:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "16092:58:13" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16070:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16077:3:13", + "type": "" + } + ], + "src": "15999:157:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16209:32:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16219:16:13", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16230:5:13" + }, + "variableNames": [ + { + "name": "aligned", + "nodeType": "YulIdentifier", + "src": "16219:7:13" + } + ] + } + ] + }, + "name": "leftAlign_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16191:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nodeType": "YulTypedName", + "src": "16201:7:13", + "type": "" + } + ], + "src": "16162:79:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16330:74:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16347:3:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16390:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "16372:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "16372:24:13" + } + ], + "functionName": { + "name": "leftAlign_t_uint256", + "nodeType": "YulIdentifier", + "src": "16352:19:13" + }, + "nodeType": "YulFunctionCall", + "src": "16352:45:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16340:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "16340:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "16340:58:13" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16318:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16325:3:13", + "type": "" + } + ], + "src": "16247:157:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16694:818:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16767:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16776:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "16705:61:13" + }, + "nodeType": "YulFunctionCall", + "src": "16705:75:13" + }, + "nodeType": "YulExpressionStatement", + "src": "16705:75:13" + }, + { + "nodeType": "YulAssignment", + "src": "16789:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16800:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16805:2:13", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16796:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "16796:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16789:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16880:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16889:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "16818:61:13" + }, + "nodeType": "YulFunctionCall", + "src": "16818:75:13" + }, + "nodeType": "YulExpressionStatement", + "src": "16818:75:13" + }, + { + "nodeType": "YulAssignment", + "src": "16902:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16913:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16918:2:13", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16909:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "16909:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16902:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "16993:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17002:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "16931:61:13" + }, + "nodeType": "YulFunctionCall", + "src": "16931:75:13" + }, + "nodeType": "YulExpressionStatement", + "src": "16931:75:13" + }, + { + "nodeType": "YulAssignment", + "src": "17015:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17026:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17031:2:13", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17022:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17022:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17015:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "17106:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17115:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "17044:61:13" + }, + "nodeType": "YulFunctionCall", + "src": "17044:75:13" + }, + "nodeType": "YulExpressionStatement", + "src": "17044:75:13" + }, + { + "nodeType": "YulAssignment", + "src": "17128:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17139:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17144:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17135:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17135:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17128:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "17219:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17228:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "17157:61:13" + }, + "nodeType": "YulFunctionCall", + "src": "17157:75:13" + }, + "nodeType": "YulExpressionStatement", + "src": "17157:75:13" + }, + { + "nodeType": "YulAssignment", + "src": "17241:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17252:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17257:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17248:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17248:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17241:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "17332:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17341:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "17270:61:13" + }, + "nodeType": "YulFunctionCall", + "src": "17270:75:13" + }, + "nodeType": "YulExpressionStatement", + "src": "17270:75:13" + }, + { + "nodeType": "YulAssignment", + "src": "17354:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17365:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17370:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17361:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17361:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17354:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "17445:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17454:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "17383:61:13" + }, + "nodeType": "YulFunctionCall", + "src": "17383:75:13" + }, + "nodeType": "YulExpressionStatement", + "src": "17383:75:13" + }, + { + "nodeType": "YulAssignment", + "src": "17467:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17478:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17483:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17474:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17474:12:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17467:3:13" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17496:10:13", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17503:3:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17496:3:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_address_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256__to_t_address_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16625:3:13", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "16631:6:13", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "16639:6:13", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "16647:6:13", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "16655:6:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "16663:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16671:6:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16679:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16690:3:13", + "type": "" + } + ], + "src": "16410:1102:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17631:34:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17641:18:13", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17656:3:13" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "17641:11:13" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17603:3:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "17608:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "17619:11:13", + "type": "" + } + ], + "src": "17518:147:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17811:196:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17821:95:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17904:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17909:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "17828:75:13" + }, + "nodeType": "YulFunctionCall", + "src": "17828:88:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17821:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "17950:5:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17957:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17962:6:13" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "17926:23:13" + }, + "nodeType": "YulFunctionCall", + "src": "17926:43:13" + }, + "nodeType": "YulExpressionStatement", + "src": "17926:43:13" + }, + { + "nodeType": "YulAssignment", + "src": "17978:23:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17989:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17994:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17985:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "17985:16:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17978:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "17784:5:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "17791:6:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17799:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17807:3:13", + "type": "" + } + ], + "src": "17693:314:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18157:147:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18168:110:13", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18257:6:13" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18265:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18274:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "18175:81:13" + }, + "nodeType": "YulFunctionCall", + "src": "18175:103:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18168:3:13" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18288:10:13", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18295:3:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18288:3:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18128:3:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18134:6:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18142:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18153:3:13", + "type": "" + } + ], + "src": "18013:291:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18416:189:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18438:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18446:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18434:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "18434:14:13" + }, + { + "hexValue": "5b42455d207369676e617475726520757365642e20706c656173652073656e64", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18450:34:13", + "type": "", + "value": "[BE] signature used. please send" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18427:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "18427:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "18427:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18506:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18514:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18502:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "18502:15:13" + }, + { + "hexValue": "20616e6f74686572207472616e73616374696f6e2077697468206e6577207369", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18519:34:13", + "type": "", + "value": " another transaction with new si" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18495:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "18495:59:13" + }, + "nodeType": "YulExpressionStatement", + "src": "18495:59:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18575:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18583:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18571:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "18571:15:13" + }, + { + "hexValue": "676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18588:9:13", + "type": "", + "value": "gnature" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18564:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "18564:34:13" + }, + "nodeType": "YulExpressionStatement", + "src": "18564:34:13" + } + ] + }, + "name": "store_literal_in_memory_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18408:6:13", + "type": "" + } + ], + "src": "18310:295:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18757:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18767:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18833:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18838:2:13", + "type": "", + "value": "71" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18774:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "18774:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18767:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18939:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51", + "nodeType": "YulIdentifier", + "src": "18850:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "18850:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "18850:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "18952:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18963:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18968:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18959:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "18959:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18952:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18745:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18753:3:13", + "type": "" + } + ], + "src": "18611:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19154:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19164:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19176:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19187:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19172:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "19172:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19164:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19211:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19222:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19207:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "19207:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19230:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19236:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19226:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "19226:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19200:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "19200:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "19200:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "19256:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19390:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19264:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "19264:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19256:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19134:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19149:4:13", + "type": "" + } + ], + "src": "18983:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19436:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19453:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19456:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19446:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "19446:88:13" + }, + "nodeType": "YulExpressionStatement", + "src": "19446:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19550:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19553:4:13", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19543:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "19543:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "19543:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19574:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19577:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "19567:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "19567:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "19567:15:13" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "19408:180:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19638:261:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19648:25:13", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "19671:1:13" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "19653:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "19653:20:13" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "19648:1:13" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19682:25:13", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "19705:1:13" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "19687:17:13" + }, + "nodeType": "YulFunctionCall", + "src": "19687:20:13" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "19682:1:13" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19845:22:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "19847:16:13" + }, + "nodeType": "YulFunctionCall", + "src": "19847:18:13" + }, + "nodeType": "YulExpressionStatement", + "src": "19847:18:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "19766:1:13" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19773:66:13", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "19841:1:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19769:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "19769:74:13" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "19763:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "19763:81:13" + }, + "nodeType": "YulIf", + "src": "19760:107:13" + }, + { + "nodeType": "YulAssignment", + "src": "19877:16:13", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "19888:1:13" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "19891:1:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19884:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "19884:9:13" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "19877:3:13" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "19625:1:13", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "19628:1:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "19634:3:13", + "type": "" + } + ], + "src": "19594:305:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20011:140:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20033:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20041:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20029:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "20029:14:13" + }, + { + "hexValue": "657870697265642c20706c656173652073656e6420616e6f7468657220747261", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20045:34:13", + "type": "", + "value": "expired, please send another tra" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20022:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "20022:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "20022:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20101:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20109:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20097:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "20097:15:13" + }, + { + "hexValue": "6e73616374696f6e2077697468206e6577207369676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20114:29:13", + "type": "", + "value": "nsaction with new signature" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20090:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "20090:54:13" + }, + "nodeType": "YulExpressionStatement", + "src": "20090:54:13" + } + ] + }, + "name": "store_literal_in_memory_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "20003:6:13", + "type": "" + } + ], + "src": "19905:246:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20303:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20313:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20379:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20384:2:13", + "type": "", + "value": "59" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20320:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "20320:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20313:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20485:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b", + "nodeType": "YulIdentifier", + "src": "20396:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "20396:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "20396:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "20498:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20509:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20514:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20505:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "20505:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20498:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20291:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20299:3:13", + "type": "" + } + ], + "src": "20157:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20700:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20710:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20722:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20733:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20718:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "20718:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20710:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20757:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20768:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20753:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "20753:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20776:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20782:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20772:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "20772:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20746:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "20746:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "20746:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "20802:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20936:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20810:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "20810:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20802:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20680:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20695:4:13", + "type": "" + } + ], + "src": "20529:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21060:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21082:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21090:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21078:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "21078:14:13" + }, + { + "hexValue": "436c61696d546f6b656e3a20756e737570706f7274656420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21094:31:13", + "type": "", + "value": "ClaimToken: unsupported token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21071:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "21071:55:13" + }, + "nodeType": "YulExpressionStatement", + "src": "21071:55:13" + } + ] + }, + "name": "store_literal_in_memory_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21052:6:13", + "type": "" + } + ], + "src": "20954:179:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21285:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21295:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21361:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21366:2:13", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21302:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "21302:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21295:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21467:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8", + "nodeType": "YulIdentifier", + "src": "21378:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "21378:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "21378:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "21480:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21491:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21496:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21487:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "21487:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21480:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21273:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21281:3:13", + "type": "" + } + ], + "src": "21139:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21682:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21692:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21704:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21715:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21700:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "21700:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21692:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21739:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21750:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21735:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "21735:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21758:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21764:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21754:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "21754:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21728:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "21728:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "21728:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "21784:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21918:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21792:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "21792:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21784:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21662:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21677:4:13", + "type": "" + } + ], + "src": "21511:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22042:119:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22064:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22072:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22060:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "22060:14:13" + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22076:34:13", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22053:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "22053:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "22053:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22132:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22140:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22128:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "22128:15:13" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22145:8:13", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22121:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "22121:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "22121:33:13" + } + ] + }, + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22034:6:13", + "type": "" + } + ], + "src": "21936:225:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22313:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22323:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22389:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22394:2:13", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22330:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "22330:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22323:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22495:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulIdentifier", + "src": "22406:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "22406:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "22406:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "22508:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22519:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22524:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22515:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "22515:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22508:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22301:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22309:3:13", + "type": "" + } + ], + "src": "22167:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22710:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22720:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22732:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22743:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22728:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "22728:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22720:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22767:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22778:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22763:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "22763:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22786:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22792:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22782:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "22782:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22756:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "22756:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "22756:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "22812:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22946:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22820:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "22820:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22812:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22690:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22705:4:13", + "type": "" + } + ], + "src": "22539:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23070:124:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23092:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23100:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23088:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23088:14:13" + }, + { + "hexValue": "436c61696d546f6b656e3a207061796d656e7420616464726573732063616e20", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23104:34:13", + "type": "", + "value": "ClaimToken: payment address can " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23081:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "23081:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "23081:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23160:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23168:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23156:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23156:15:13" + }, + { + "hexValue": "6e6f74206265207a65726f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23173:13:13", + "type": "", + "value": "not be zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23149:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "23149:38:13" + }, + "nodeType": "YulExpressionStatement", + "src": "23149:38:13" + } + ] + }, + "name": "store_literal_in_memory_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23062:6:13", + "type": "" + } + ], + "src": "22964:230:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23346:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23356:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23422:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23427:2:13", + "type": "", + "value": "43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23363:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "23363:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23356:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23528:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a", + "nodeType": "YulIdentifier", + "src": "23439:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "23439:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "23439:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "23541:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23552:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23557:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23548:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23548:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23541:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23334:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23342:3:13", + "type": "" + } + ], + "src": "23200:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23743:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23753:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23765:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23776:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23761:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23761:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23753:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23800:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23811:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23796:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23796:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23819:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23825:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23815:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "23815:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23789:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "23789:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "23789:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "23845:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23979:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23853:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "23853:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23845:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23723:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23738:4:13", + "type": "" + } + ], + "src": "23572:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24103:76:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24125:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24133:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24121:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24121:14:13" + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24137:34:13", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24114:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "24114:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "24114:58:13" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24095:6:13", + "type": "" + } + ], + "src": "23997:182:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24331:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24341:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24407:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24412:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24348:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "24348:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24341:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24513:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "24424:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "24424:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "24424:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "24526:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24537:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24542:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24533:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24533:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24526:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24319:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24327:3:13", + "type": "" + } + ], + "src": "24185:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24728:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24738:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24750:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24761:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24746:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24746:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24738:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24785:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24796:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24781:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24781:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24804:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24810:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24800:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "24800:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24774:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "24774:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "24774:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "24830:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24964:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24838:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "24838:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24830:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24708:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24723:4:13", + "type": "" + } + ], + "src": "24557:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25136:288:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25146:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25158:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25169:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25154:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25154:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25146:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "25226:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25239:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25250:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25235:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25235:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "25182:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "25182:71:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25182:71:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "25307:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25320:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25331:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25316:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25316:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "25263:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "25263:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25263:72:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "25389:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25402:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25413:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25398:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25398:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "25345:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "25345:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25345:72:13" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25092:9:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "25104:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "25112:6:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "25120:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25131:4:13", + "type": "" + } + ], + "src": "24982:442:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25458:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25475:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25478:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25468:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "25468:88:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25468:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25572:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25575:4:13", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25565:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "25565:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25565:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25596:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25599:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25589:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "25589:15:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25589:15:13" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "25430:180:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25722:68:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25744:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25752:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25740:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "25740:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25756:26:13", + "type": "", + "value": "ECDSA: invalid signature" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25733:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "25733:50:13" + }, + "nodeType": "YulExpressionStatement", + "src": "25733:50:13" + } + ] + }, + "name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25714:6:13", + "type": "" + } + ], + "src": "25616:174:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25942:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25952:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26018:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26023:2:13", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25959:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "25959:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25952:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26124:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", + "nodeType": "YulIdentifier", + "src": "26035:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "26035:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "26035:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "26137:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26148:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26153:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26144:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26144:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26137:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25930:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25938:3:13", + "type": "" + } + ], + "src": "25796:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26339:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26349:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26361:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26372:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26357:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26357:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26349:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26396:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26407:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26392:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26392:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26415:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26421:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26411:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26411:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26385:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "26385:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "26385:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "26441:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26575:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26449:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "26449:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26441:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26319:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26334:4:13", + "type": "" + } + ], + "src": "26168:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26699:75:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "26721:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26729:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26717:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "26717:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26733:33:13", + "type": "", + "value": "ECDSA: invalid signature length" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26710:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "26710:57:13" + }, + "nodeType": "YulExpressionStatement", + "src": "26710:57:13" + } + ] + }, + "name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "26691:6:13", + "type": "" + } + ], + "src": "26593:181:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26926:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26936:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27002:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27007:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26943:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "26943:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26936:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27108:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", + "nodeType": "YulIdentifier", + "src": "27019:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "27019:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "27019:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "27121:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27132:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27137:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27128:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "27128:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "27121:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26914:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26922:3:13", + "type": "" + } + ], + "src": "26780:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27323:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27333:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27345:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27356:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27341:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "27341:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27333:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27380:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27391:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27376:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "27376:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27399:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27405:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27395:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "27395:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27369:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "27369:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "27369:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "27425:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27559:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27433:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "27433:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27425:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27303:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27318:4:13", + "type": "" + } + ], + "src": "27152:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27683:115:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27705:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27713:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27701:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "27701:14:13" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27717:34:13", + "type": "", + "value": "ECDSA: invalid signature 's' val" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27694:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "27694:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "27694:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27773:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27781:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27769:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "27769:15:13" + }, + { + "hexValue": "7565", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27786:4:13", + "type": "", + "value": "ue" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27762:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "27762:29:13" + }, + "nodeType": "YulExpressionStatement", + "src": "27762:29:13" + } + ] + }, + "name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27675:6:13", + "type": "" + } + ], + "src": "27577:221:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27950:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27960:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28026:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28031:2:13", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27967:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "27967:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27960:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28132:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", + "nodeType": "YulIdentifier", + "src": "28043:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "28043:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "28043:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "28145:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28156:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28161:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28152:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "28152:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28145:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27938:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27946:3:13", + "type": "" + } + ], + "src": "27804:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28347:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28357:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28369:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28380:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28365:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "28365:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28357:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28404:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28415:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28400:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "28400:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28423:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28429:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28419:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "28419:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28393:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "28393:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "28393:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "28449:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28583:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28457:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "28457:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28449:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28327:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28342:4:13", + "type": "" + } + ], + "src": "28176:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28661:77:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28671:22:13", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "28686:6:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28680:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "28680:13:13" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28671:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28726:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "28702:23:13" + }, + "nodeType": "YulFunctionCall", + "src": "28702:30:13" + }, + "nodeType": "YulExpressionStatement", + "src": "28702:30:13" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "28639:6:13", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28647:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "28655:5:13", + "type": "" + } + ], + "src": "28601:137:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28818:271:13", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "28864:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "28866:77:13" + }, + "nodeType": "YulFunctionCall", + "src": "28866:79:13" + }, + "nodeType": "YulExpressionStatement", + "src": "28866:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "28839:7:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28848:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28835:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "28835:23:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28860:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "28831:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "28831:32:13" + }, + "nodeType": "YulIf", + "src": "28828:119:13" + }, + { + "nodeType": "YulBlock", + "src": "28957:125:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28972:15:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28986:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "28976:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "29001:71:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29044:9:13" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "29055:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29040:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "29040:22:13" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "29064:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulIdentifier", + "src": "29011:28:13" + }, + "nodeType": "YulFunctionCall", + "src": "29011:61:13" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "29001:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28788:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "28799:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "28811:6:13", + "type": "" + } + ], + "src": "28744:345:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29201:123:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29223:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29231:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29219:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "29219:14:13" + }, + { + "hexValue": "5361666545524332303a204552433230206f7065726174696f6e20646964206e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29235:34:13", + "type": "", + "value": "SafeERC20: ERC20 operation did n" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29212:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "29212:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "29212:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29291:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29299:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29287:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "29287:15:13" + }, + { + "hexValue": "6f742073756363656564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29304:12:13", + "type": "", + "value": "ot succeed" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29280:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "29280:37:13" + }, + "nodeType": "YulExpressionStatement", + "src": "29280:37:13" + } + ] + }, + "name": "store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29193:6:13", + "type": "" + } + ], + "src": "29095:229:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29476:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29486:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29552:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29557:2:13", + "type": "", + "value": "42" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29493:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "29493:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29486:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29658:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", + "nodeType": "YulIdentifier", + "src": "29569:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "29569:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "29569:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "29671:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29682:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29687:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29678:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "29678:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29671:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "29464:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "29472:3:13", + "type": "" + } + ], + "src": "29330:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29873:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29883:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29895:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29906:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29891:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "29891:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29883:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29930:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29941:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29926:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "29926:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29949:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29955:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29945:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "29945:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29919:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "29919:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "29919:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "29975:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30109:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29983:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "29983:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29975:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29853:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29868:4:13", + "type": "" + } + ], + "src": "29702:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30170:43:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30180:27:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "30195:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30202:4:13", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "30191:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "30191:16:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "30180:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "30152:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "30162:7:13", + "type": "" + } + ], + "src": "30127:86:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30280:51:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30297:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "30318:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "30302:15:13" + }, + "nodeType": "YulFunctionCall", + "src": "30302:22:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30290:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "30290:35:13" + }, + "nodeType": "YulExpressionStatement", + "src": "30290:35:13" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "30268:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30275:3:13", + "type": "" + } + ], + "src": "30219:112:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30515:367:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30525:27:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30537:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30548:3:13", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30533:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "30533:19:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30525:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "30606:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30619:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30630:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30615:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "30615:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "30562:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "30562:71:13" + }, + "nodeType": "YulExpressionStatement", + "src": "30562:71:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "30683:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30696:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30707:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30692:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "30692:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "30643:39:13" + }, + "nodeType": "YulFunctionCall", + "src": "30643:68:13" + }, + "nodeType": "YulExpressionStatement", + "src": "30643:68:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "30765:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30778:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30789:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30774:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "30774:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "30721:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "30721:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "30721:72:13" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "30847:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30860:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30871:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30856:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "30856:18:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "30803:43:13" + }, + "nodeType": "YulFunctionCall", + "src": "30803:72:13" + }, + "nodeType": "YulExpressionStatement", + "src": "30803: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": "30463:9:13", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "30475:6:13", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "30483:6:13", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "30491:6:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "30499:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30510:4:13", + "type": "" + } + ], + "src": "30337:545:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30994:119:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31016:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31024:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31012:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "31012:14:13" + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31028:34:13", + "type": "", + "value": "Address: insufficient balance fo" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31005:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "31005:58:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31005:58:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31084:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31092:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31080:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "31080:15:13" + }, + { + "hexValue": "722063616c6c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31097:8:13", + "type": "", + "value": "r call" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31073:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "31073:33:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31073:33:13" + } + ] + }, + "name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30986:6:13", + "type": "" + } + ], + "src": "30888:225:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31265:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31275:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31341:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31346:2:13", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31282:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "31282:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31275:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31447:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "nodeType": "YulIdentifier", + "src": "31358:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "31358:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31358:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "31460:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31471:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31476:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31467:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "31467:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31460:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31253:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31261:3:13", + "type": "" + } + ], + "src": "31119:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31662:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31672:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31684:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31695:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31680:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "31680:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31672:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31719:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31730:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31715:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "31715:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31738:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31744:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31734:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "31734:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31708:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "31708:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "31708:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "31764:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31898:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31772:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "31772:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31764:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31642:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31657:4:13", + "type": "" + } + ], + "src": "31491:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31974:40:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31985:22:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32001:5:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "31995:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "31995:12:13" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "31985:6:13" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "31957:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "31967:6:13", + "type": "" + } + ], + "src": "31916:98:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32069:258:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32079:10:13", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32088:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "32083:1:13", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32148:63:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "32173:3:13" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32178:1:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32169:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32169:11:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "32192:3:13" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32197:1:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32188:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32188:11:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "32182:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "32182:18:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32162:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "32162:39:13" + }, + "nodeType": "YulExpressionStatement", + "src": "32162:39:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32109:1:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32112:6:13" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "32106:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "32106:13:13" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "32120:19:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32122:15:13", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32131:1:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32134:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32127:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32127:10:13" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32122:1:13" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "32102:3:13", + "statements": [] + }, + "src": "32098:113:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32245:76:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "32295:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32300:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32291:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32291:16:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32309:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32284:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "32284:27:13" + }, + "nodeType": "YulExpressionStatement", + "src": "32284:27:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32226:1:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32229:6:13" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "32223:2:13" + }, + "nodeType": "YulFunctionCall", + "src": "32223:13:13" + }, + "nodeType": "YulIf", + "src": "32220:101:13" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "32051:3:13", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "32056:3:13", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32061:6:13", + "type": "" + } + ], + "src": "32020:307:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32441:265:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32451:52:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32497:5:13" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "32465:31:13" + }, + "nodeType": "YulFunctionCall", + "src": "32465:38:13" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32455:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "32512:95:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32595:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32600:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "32519:75:13" + }, + "nodeType": "YulFunctionCall", + "src": "32519:88:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32512:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32642:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32649:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32638:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32638:16:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32656:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32661:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "32616:21:13" + }, + "nodeType": "YulFunctionCall", + "src": "32616:52:13" + }, + "nodeType": "YulExpressionStatement", + "src": "32616:52:13" + }, + { + "nodeType": "YulAssignment", + "src": "32677:23:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32688:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32693:6:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32684:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "32684:16:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32677: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": "32422:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32429:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32437:3:13", + "type": "" + } + ], + "src": "32333:373:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32846:137:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32857:100:13", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "32944:6:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32953:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "32864:79:13" + }, + "nodeType": "YulFunctionCall", + "src": "32864:93:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32857:3:13" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "32967:10:13", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32974:3:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32967: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": "32825:3:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "32831:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32842:3:13", + "type": "" + } + ], + "src": "32712:271:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33095:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33117:6:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33125:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33113:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33113:14:13" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33129:31:13", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33106:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "33106:55:13" + }, + "nodeType": "YulExpressionStatement", + "src": "33106:55:13" + } + ] + }, + "name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "33087:6:13", + "type": "" + } + ], + "src": "32989:179:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33320:220:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33330:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33396:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33401:2:13", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33337:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "33337:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33330:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33502:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "nodeType": "YulIdentifier", + "src": "33413:88:13" + }, + "nodeType": "YulFunctionCall", + "src": "33413:93:13" + }, + "nodeType": "YulExpressionStatement", + "src": "33413:93:13" + }, + { + "nodeType": "YulAssignment", + "src": "33515:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33526:3:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33531:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33522:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33522:12:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33515:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33308:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33316:3:13", + "type": "" + } + ], + "src": "33174:366:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33717:248:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33727:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33739:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33750:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33735:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33735:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33727:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33774:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33785:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33770:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33770:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33793:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33799:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "33789:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "33789:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33763:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "33763:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "33763:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "33819:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33953:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33827:124:13" + }, + "nodeType": "YulFunctionCall", + "src": "33827:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33819:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33697:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33712:4:13", + "type": "" + } + ], + "src": "33546:419:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34030:40:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34041:22:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "34057:5:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "34051:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "34051:12:13" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34041:6:13" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "34013:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "34023:6:13", + "type": "" + } + ], + "src": "33971:99:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34168:272:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "34178:53:13", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "34225:5:13" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "34192:32:13" + }, + "nodeType": "YulFunctionCall", + "src": "34192:39:13" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "34182:6:13", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34240:78:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34306:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34311:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34247:58:13" + }, + "nodeType": "YulFunctionCall", + "src": "34247:71:13" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34240:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "34353:5:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34360:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34349:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34349:16:13" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34367:3:13" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34372:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "34327:21:13" + }, + "nodeType": "YulFunctionCall", + "src": "34327:52:13" + }, + "nodeType": "YulExpressionStatement", + "src": "34327:52:13" + }, + { + "nodeType": "YulAssignment", + "src": "34388:46:13", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34399:3:13" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34426:6:13" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "34404:21:13" + }, + "nodeType": "YulFunctionCall", + "src": "34404:29:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34395:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34395:39:13" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34388:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "34149:5:13", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34156:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34164:3:13", + "type": "" + } + ], + "src": "34076:364:13" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34564:195:13", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34574:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34586:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34597:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34582:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34582:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34574:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34621:9:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34632:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34617:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34617:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34640:4:13" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34646:9:13" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34636:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "34636:20:13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34610:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "34610:47:13" + }, + "nodeType": "YulExpressionStatement", + "src": "34610:47:13" + }, + { + "nodeType": "YulAssignment", + "src": "34666:86:13", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "34738:6:13" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34747:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34674:63:13" + }, + "nodeType": "YulFunctionCall", + "src": "34674:78:13" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34666:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34536:9:13", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "34548:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34559:4:13", + "type": "" + } + ], + "src": "34446:313: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_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 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 cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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_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 validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(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_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_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_addresst_addresst_addresst_uint256t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 224) { 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_address(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 let offset := 160\n\n value5 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 192\n\n value6 := abi_decode_t_uint256(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 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 revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\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_addresst_uint256t_uint256t_uint256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\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_uint256(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 := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4, value5 := abi_decode_t_bytes_calldata_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_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c(memPtr) {\n\n mstore(add(memPtr, 0), \"[BE] invalid signer\")\n\n }\n\n function abi_encode_t_stringliteral_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c__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_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c_to_t_string_memory_ptr_fromStack( tail)\n\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_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72(memPtr) {\n\n mstore(add(memPtr, 0), \"[BE] invalid signature\")\n\n }\n\n function abi_encode_t_stringliteral_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72__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_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448(memPtr) {\n\n mstore(add(memPtr, 0), \"duration too short\")\n\n }\n\n function abi_encode_t_stringliteral_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448__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_7d6fd72abe2c7ea76bb8e4d31cdb8f43544aac7d07fe68bfbb269a7355007448_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimToken: address can not be z\")\n\n mstore(add(memPtr, 32), \"ero\")\n\n }\n\n function abi_encode_t_stringliteral_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249__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_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249_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_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256__to_t_address_t_address_t_address_t_uint256_t_uint256_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value6, value5, 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_address_to_t_address_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 20)\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 abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value5, pos)\n pos := add(pos, 32)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value6, pos)\n pos := add(pos, 32)\n\n end := pos\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_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51(memPtr) {\n\n mstore(add(memPtr, 0), \"[BE] signature used. please send\")\n\n mstore(add(memPtr, 32), \" another transaction with new si\")\n\n mstore(add(memPtr, 64), \"gnature\")\n\n }\n\n function abi_encode_t_stringliteral_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 71)\n store_literal_in_memory_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51(pos)\n end := add(pos, 96)\n }\n\n function abi_encode_tuple_t_stringliteral_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51__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_cc316c3b1f43109a7cae9a3ee9361fb1ac4ca91d1b77b9d5d735deae8a737d51_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b(memPtr) {\n\n mstore(add(memPtr, 0), \"expired, please send another tra\")\n\n mstore(add(memPtr, 32), \"nsaction with new signature\")\n\n }\n\n function abi_encode_t_stringliteral_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 59)\n store_literal_in_memory_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b__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_70221d5dd3ea1c4d6c0ad66f9d3976510f4a29aa9bafcc3f20a9b6877fe4b13b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimToken: unsupported token\")\n\n }\n\n function abi_encode_t_stringliteral_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8__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_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8_to_t_string_memory_ptr_fromStack( tail)\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 store_literal_in_memory_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimToken: payment address can \")\n\n mstore(add(memPtr, 32), \"not be zero\")\n\n }\n\n function abi_encode_t_stringliteral_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a__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_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a_to_t_string_memory_ptr_fromStack( tail)\n\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 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 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 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 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 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_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": "312:2834:10:-:0;;;1158:91;;;;;;;;;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;;;:32;;:::i;:::-;239:6:12;227:9;:18;;;;265:10;251:11;:24;;;;1197:13:10;1178:32;;;;;;1239:4;1216:28;;;;;;;;;;312:2834;;640:96:5;693:7;719:10;712:17;;640:96;:::o;2426:187:0:-;2499:16;2518:6;;;;;;;;;;;2499:25;;2543:8;2534:6;;:17;;;;;;;;;;;;;;;;;;2597:8;2566:40;;2587:8;2566:40;;;;;;;;;;;;2489:124;2426:187;:::o;312:2834:10:-;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "312:2834:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;545:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;595:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;261:440:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1824:101:0;;;:::i;:::-;;1253:170:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;678:144:12;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1201:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1473:207:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2735:409;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;539:91:12;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2008:723:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2074:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1729:275:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;545:46;;;;;;;;;;;;;;;;;;;;;;:::o;595:47::-;;;;;;;;;;;;;;;;;:::o;261:440:11:-;396:1;378:20;;:6;:20;;;;370:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;456:2;436:9;:16;:22;428:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;498:28;529:34;558:4;529:28;:34::i;:::-;498:65;;570:17;590:46;604:20;626:9;590:13;:46::i;:::-;570:66;;663:6;650:19;;:9;:19;;;642:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;364:337;;261:440;;;:::o;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;1253:170:10:-;1094:13:0;:11;:13::i;:::-;1362:8:10::1;1337:14;:22;1352:6;1337:22;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;1401:6;1381:37;;;1409:8;1381:37;;;;;;:::i;:::-;;;;;;;;1253:170:::0;;:::o;678:144:12:-;1094:13:0;:11;:13::i;:::-;759:11:12::1;;750:6;:20;742:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;811:6;799:9;:18;;;;678:144:::0;:::o;1201:85:0:-;1247:7;1273:6;;;;;;;;;;;1266:13;;1201:85;:::o;1473:207:10:-;1094:13:0;:11;:13::i;:::-;1570:1:10::1;1549:23;;:9;:23;;;;1541:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1629:9;1618:8;;:20;;;;;;;;;;;;;;;;;;1665:9;1649:26;;;;;;;;;;;;1473:207:::0;:::o;2735:409::-;2937:7;2952:20;2999:3;3010:8;3026:9;3043:8;3059:7;3074:10;3092;2975:133;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2952:156;;3131:7;3121:18;;;;;;3114:25;;;2735:409;;;;;;;;;:::o;539:91:12:-;585:16;616:9;;609:16;;539:91;:::o;2008:723:10:-;2171:10;;777:15:11;793:9;;777:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;776:27;761:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;2193:10:10::1;358:15:12;345:9;;338:4;:16;;;;:::i;:::-;:35;;323:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;2219:14:10::2;:22;2234:6;2219:22;;;;;;;;;;;;;;;;;;;;;;;;;2211:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;2281:10;2294:12;:10;:12::i;:::-;2281:25;;2312:27;2342:139;2364:2;2374:6;2388:12;2408:16;2432:7;2447:10;2465;2342:14;:139::i;:::-;2312:169;;2487:54;2499:8;;;;;;;;;;;2509:19;2530:10;;2487:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;:54::i;:::-;2547:60;2579:14;;;;;;;;;;;2595:2;2599:7;2554:6;2547:31;;;;:60;;;;;;:::i;:::-;2632:7;2613:12;:16;2626:2;2613:16;;;;;;;;;;;;;;;:26;;;;2645:25;2659:10;;2645:13;:25::i;:::-;2706:10;2702:2;2681:45;;2694:6;2681:45;;;2718:7;2681:45;;;;;;:::i;:::-;;;;;;;;2205:526;;896:1:11::1;2008:723:10::0;;;;;;;;:::o;2074:198:0:-;1094:13;:11;:13::i;:::-;2182:1:::1;2162:22;;:8;:22;;;;2154:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1729:275:10:-;1094:13:0;:11;:13::i;:::-;1851:1:10::1;1824:29;;:15;:29;;;;1809:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;1935:15;1918:14;;:32;;;;;;;;;;;;;;;;;;1983:15;1961:38;;;;;;;;;;;;1729:275:::0;:::o;7120:396:7:-;7189:15;7389:34;7383:4;7376:48;7450:4;7444;7437:18;7495:4;7489;7479:21;7468:32;;7120:396;;;:::o;3661:227::-;3739:7;3759:17;3778:18;3800:27;3811:4;3817:9;3800:10;:27::i;:::-;3758:69;;;;3837:18;3849:5;3837:11;:18::i;:::-;3872:9;3865:16;;;;3661:227;;;;:::o;1359:130:0:-;1433:12;:10;:12::i;:::-;1422:23;;:7;:5;:7::i;:::-;:23;;;1414:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1359:130::o;2426:187::-;2499:16;2518:6;;;;;;;;;;;2499:25;;2543:8;2534:6;;:17;;;;;;;;;;;;;;;;;;2597:8;2566:40;;2587:8;2566:40;;;;;;;;;;;;2489:124;2426:187;:::o;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;1355:203:3:-;1455:96;1475:5;1505:27;;;1534:4;1540:2;1544:5;1482:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;906:149:11:-;975:15;991:9;;975:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;970:81;;1040:4;1011:15;1027:9;;1011:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;970:81;906:149;;:::o;2145:730:7:-;2226:7;2235:12;2283:2;2263:9;:16;:22;2259:610;;;2301:9;2324;2347:7;2599:4;2588:9;2584:20;2578:27;2573:32;;2648:4;2637:9;2633:20;2627:27;2622:32;;2705:4;2694:9;2690:20;2684:27;2681:1;2676:36;2671:41;;2746:25;2757:4;2763:1;2766;2769;2746:10;:25::i;:::-;2739:32;;;;;;;;;2259:610;2818:1;2822:35;2802:56;;;;2145:730;;;;;;:::o;570:511::-;647:20;638:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;634:441;;;683:7;;634:441;743:29;734:38;;;;;;;;:::i;:::-;;:5;:38;;;;;;;;:::i;:::-;;;730:345;;;788:34;;;;;;;;;;:::i;:::-;;;;;;;;730:345;852:35;843:44;;;;;;;;:::i;:::-;;:5;:44;;;;;;;;:::i;:::-;;;839:236;;;903:41;;;;;;;;;;:::i;:::-;;;;;;;;839:236;974:30;965:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;961:114;;;1020:44;;;;;;;;;;:::i;:::-;;;;;;;;961:114;570:511;;:::o;5173:642:3:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;5618:27;;;;:69;;;;;:::i;:::-;5592:95;;5726:1;5705:10;:17;:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5705:56;5697:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;5243:572;5173:642;;:::o;5009:1456:7:-;5097:7;5106:12;6021:66;6016:1;6008:10;;:79;6004:161;;;6119:1;6123:30;6103:51;;;;;;6004:161;6259:14;6276:24;6286:4;6292:1;6295;6298;6276:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6259:41;;6332:1;6314:20;;:6;:20;;;6310:101;;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;6437:20;6421:37;;;;;5009:1456;;;;;;;;:::o;4108:223:4:-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;:::-;4265:59;;4108:223;;;;;:::o;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;;;;5165:446;;;;;;:::o;7671:628::-;7851:12;7879:7;7875:418;;;7927:1;7906:10;:17;:22;7902:286;;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7902:286;8208:10;8201:17;;;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;;:::o;1412:320::-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;8821:540::-;9000:1;8980:10;:17;:21;8976:379;;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;:::-;;;;;;;;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:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:77::-;1640:7;1669:5;1658:16;;1603:77;;;:::o;1686:118::-;1773:24;1791:5;1773:24;:::i;:::-;1768:3;1761:37;1686:118;;:::o;1810:222::-;1903:4;1941:2;1930:9;1926:18;1918:26;;1954:71;2022:1;2011:9;2007:17;1998:6;1954:71;:::i;:::-;1810:222;;;;:::o;2038:77::-;2075:7;2104:5;2093:16;;2038:77;;;:::o;2121:122::-;2194:24;2212:5;2194:24;:::i;:::-;2187:5;2184:35;2174:63;;2233:1;2230;2223:12;2174:63;2121:122;:::o;2249:139::-;2295:5;2333:6;2320:20;2311:29;;2349:33;2376:5;2349:33;:::i;:::-;2249:139;;;;:::o;2394:117::-;2503:1;2500;2493:12;2517:117;2626:1;2623;2616:12;2640:102;2681:6;2732:2;2728:7;2723:2;2716:5;2712:14;2708:28;2698:38;;2640:102;;;:::o;2748:180::-;2796:77;2793:1;2786:88;2893:4;2890:1;2883:15;2917:4;2914:1;2907:15;2934:281;3017:27;3039:4;3017:27;:::i;:::-;3009:6;3005:40;3147:6;3135:10;3132:22;3111:18;3099:10;3096:34;3093:62;3090:88;;;3158:18;;:::i;:::-;3090:88;3198:10;3194:2;3187:22;2977:238;2934:281;;:::o;3221:129::-;3255:6;3282:20;;:::i;:::-;3272:30;;3311:33;3339:4;3331:6;3311:33;:::i;:::-;3221:129;;;:::o;3356:307::-;3417:4;3507:18;3499:6;3496:30;3493:56;;;3529:18;;:::i;:::-;3493:56;3567:29;3589:6;3567:29;:::i;:::-;3559:37;;3651:4;3645;3641:15;3633:23;;3356:307;;;:::o;3669:154::-;3753:6;3748:3;3743;3730:30;3815:1;3806:6;3801:3;3797:16;3790:27;3669:154;;;:::o;3829:410::-;3906:5;3931:65;3947:48;3988:6;3947:48;:::i;:::-;3931:65;:::i;:::-;3922:74;;4019:6;4012:5;4005:21;4057:4;4050:5;4046:16;4095:3;4086:6;4081:3;4077:16;4074:25;4071:112;;;4102:79;;:::i;:::-;4071:112;4192:41;4226:6;4221:3;4216;4192:41;:::i;:::-;3912:327;3829:410;;;;;:::o;4258:338::-;4313:5;4362:3;4355:4;4347:6;4343:17;4339:27;4329:122;;4370:79;;:::i;:::-;4329:122;4487:6;4474:20;4512:78;4586:3;4578:6;4571:4;4563:6;4559:17;4512:78;:::i;:::-;4503:87;;4319:277;4258:338;;;;:::o;4602:797::-;4688:6;4696;4704;4753:2;4741:9;4732:7;4728:23;4724:32;4721:119;;;4759:79;;:::i;:::-;4721:119;4879:1;4904:53;4949:7;4940:6;4929:9;4925:22;4904:53;:::i;:::-;4894:63;;4850:117;5006:2;5032:53;5077:7;5068:6;5057:9;5053:22;5032:53;:::i;:::-;5022:63;;4977:118;5162:2;5151:9;5147:18;5134:32;5193:18;5185:6;5182:30;5179:117;;;5215:79;;:::i;:::-;5179:117;5320:62;5374:7;5365:6;5354:9;5350:22;5320:62;:::i;:::-;5310:72;;5105:287;4602:797;;;;;:::o;5405:116::-;5475:21;5490:5;5475:21;:::i;:::-;5468:5;5465:32;5455:60;;5511:1;5508;5501:12;5455:60;5405:116;:::o;5527:133::-;5570:5;5608:6;5595:20;5586:29;;5624:30;5648:5;5624:30;:::i;:::-;5527:133;;;;:::o;5666:468::-;5731:6;5739;5788:2;5776:9;5767:7;5763:23;5759:32;5756:119;;;5794:79;;:::i;:::-;5756:119;5914:1;5939:53;5984:7;5975:6;5964:9;5960:22;5939:53;:::i;:::-;5929:63;;5885:117;6041:2;6067:50;6109:7;6100:6;6089:9;6085:22;6067:50;:::i;:::-;6057:60;;6012:115;5666:468;;;;;:::o;6140:122::-;6213:24;6231:5;6213:24;:::i;:::-;6206:5;6203:35;6193:63;;6252:1;6249;6242:12;6193:63;6140:122;:::o;6268:139::-;6314:5;6352:6;6339:20;6330:29;;6368:33;6395:5;6368:33;:::i;:::-;6268:139;;;;:::o;6413:329::-;6472:6;6521:2;6509:9;6500:7;6496:23;6492:32;6489:119;;;6527:79;;:::i;:::-;6489:119;6647:1;6672:53;6717:7;6708:6;6697:9;6693:22;6672:53;:::i;:::-;6662:63;;6618:117;6413:329;;;;:::o;6748:118::-;6835:24;6853:5;6835:24;:::i;:::-;6830:3;6823:37;6748:118;;:::o;6872:222::-;6965:4;7003:2;6992:9;6988:18;6980:26;;7016:71;7084:1;7073:9;7069:17;7060:6;7016:71;:::i;:::-;6872:222;;;;:::o;7100:1203::-;7213:6;7221;7229;7237;7245;7253;7261;7310:3;7298:9;7289:7;7285:23;7281:33;7278:120;;;7317:79;;:::i;:::-;7278:120;7437:1;7462:53;7507:7;7498:6;7487:9;7483:22;7462:53;:::i;:::-;7452:63;;7408:117;7564:2;7590:53;7635:7;7626:6;7615:9;7611:22;7590:53;:::i;:::-;7580:63;;7535:118;7692:2;7718:53;7763:7;7754:6;7743:9;7739:22;7718:53;:::i;:::-;7708:63;;7663:118;7820:2;7846:53;7891:7;7882:6;7871:9;7867:22;7846:53;:::i;:::-;7836:63;;7791:118;7948:3;7975:53;8020:7;8011:6;8000:9;7996:22;7975:53;:::i;:::-;7965:63;;7919:119;8077:3;8104:53;8149:7;8140:6;8129:9;8125:22;8104:53;:::i;:::-;8094:63;;8048:119;8206:3;8233:53;8278:7;8269:6;8258:9;8254:22;8233:53;:::i;:::-;8223:63;;8177:119;7100:1203;;;;;;;;;;:::o;8309:118::-;8396:24;8414:5;8396:24;:::i;:::-;8391:3;8384:37;8309:118;;:::o;8433:222::-;8526:4;8564:2;8553:9;8549:18;8541:26;;8577:71;8645:1;8634:9;8630:17;8621:6;8577:71;:::i;:::-;8433:222;;;;:::o;8661:117::-;8770:1;8767;8760:12;8784:117;8893:1;8890;8883:12;8920:552;8977:8;8987:6;9037:3;9030:4;9022:6;9018:17;9014:27;9004:122;;9045:79;;:::i;:::-;9004:122;9158:6;9145:20;9135:30;;9188:18;9180:6;9177:30;9174:117;;;9210:79;;:::i;:::-;9174:117;9324:4;9316:6;9312:17;9300:29;;9378:3;9370:4;9362:6;9358:17;9348:8;9344:32;9341:41;9338:128;;;9385:79;;:::i;:::-;9338:128;8920:552;;;;;:::o;9478:1109::-;9584:6;9592;9600;9608;9616;9624;9673:3;9661:9;9652:7;9648:23;9644:33;9641:120;;;9680:79;;:::i;:::-;9641:120;9800:1;9825:53;9870:7;9861:6;9850:9;9846:22;9825:53;:::i;:::-;9815:63;;9771:117;9927:2;9953:53;9998:7;9989:6;9978:9;9974:22;9953:53;:::i;:::-;9943:63;;9898:118;10055:2;10081:53;10126:7;10117:6;10106:9;10102:22;10081:53;:::i;:::-;10071:63;;10026:118;10183:2;10209:53;10254:7;10245:6;10234:9;10230:22;10209:53;:::i;:::-;10199:63;;10154:118;10339:3;10328:9;10324:19;10311:33;10371:18;10363:6;10360:30;10357:117;;;10393:79;;:::i;:::-;10357:117;10506:64;10562:7;10553:6;10542:9;10538:22;10506:64;:::i;:::-;10488:82;;;;10282:298;9478:1109;;;;;;;;:::o;10593:169::-;10677:11;10711:6;10706:3;10699:19;10751:4;10746:3;10742:14;10727:29;;10593:169;;;;:::o;10768:::-;10908:21;10904:1;10896:6;10892:14;10885:45;10768:169;:::o;10943:366::-;11085:3;11106:67;11170:2;11165:3;11106:67;:::i;:::-;11099:74;;11182:93;11271:3;11182:93;:::i;:::-;11300:2;11295:3;11291:12;11284:19;;10943:366;;;:::o;11315:419::-;11481:4;11519:2;11508:9;11504:18;11496:26;;11568:9;11562:4;11558:20;11554:1;11543:9;11539:17;11532:47;11596:131;11722:4;11596:131;:::i;:::-;11588:139;;11315:419;;;:::o;11740:179::-;11880:31;11876:1;11868:6;11864:14;11857:55;11740:179;:::o;11925:366::-;12067:3;12088:67;12152:2;12147:3;12088:67;:::i;:::-;12081:74;;12164:93;12253:3;12164:93;:::i;:::-;12282:2;12277:3;12273:12;12266:19;;11925:366;;;:::o;12297:419::-;12463:4;12501:2;12490:9;12486:18;12478:26;;12550:9;12544:4;12540:20;12536:1;12525:9;12521:17;12514:47;12578:131;12704:4;12578:131;:::i;:::-;12570:139;;12297:419;;;:::o;12722:172::-;12862:24;12858:1;12850:6;12846:14;12839:48;12722:172;:::o;12900:366::-;13042:3;13063:67;13127:2;13122:3;13063:67;:::i;:::-;13056:74;;13139:93;13228:3;13139:93;:::i;:::-;13257:2;13252:3;13248:12;13241:19;;12900:366;;;:::o;13272:419::-;13438:4;13476:2;13465:9;13461:18;13453:26;;13525:9;13519:4;13515:20;13511:1;13500:9;13496:17;13489:47;13553:131;13679:4;13553:131;:::i;:::-;13545:139;;13272:419;;;:::o;13697:168::-;13837:20;13833:1;13825:6;13821:14;13814:44;13697:168;:::o;13871:366::-;14013:3;14034:67;14098:2;14093:3;14034:67;:::i;:::-;14027:74;;14110:93;14199:3;14110:93;:::i;:::-;14228:2;14223:3;14219:12;14212:19;;13871:366;;;:::o;14243:419::-;14409:4;14447:2;14436:9;14432:18;14424:26;;14496:9;14490:4;14486:20;14482:1;14471:9;14467:17;14460:47;14524:131;14650:4;14524:131;:::i;:::-;14516:139;;14243:419;;;:::o;14668:222::-;14808:34;14804:1;14796:6;14792:14;14785:58;14877:5;14872:2;14864:6;14860:15;14853:30;14668:222;:::o;14896:366::-;15038:3;15059:67;15123:2;15118:3;15059:67;:::i;:::-;15052:74;;15135:93;15224:3;15135:93;:::i;:::-;15253:2;15248:3;15244:12;15237:19;;14896:366;;;:::o;15268:419::-;15434:4;15472:2;15461:9;15457:18;15449:26;;15521:9;15515:4;15511:20;15507:1;15496:9;15492:17;15485:47;15549:131;15675:4;15549:131;:::i;:::-;15541:139;;15268:419;;;:::o;15693:94::-;15726:8;15774:5;15770:2;15766:14;15745:35;;15693:94;;;:::o;15793:::-;15832:7;15861:20;15875:5;15861:20;:::i;:::-;15850:31;;15793:94;;;:::o;15893:100::-;15932:7;15961:26;15981:5;15961:26;:::i;:::-;15950:37;;15893:100;;;:::o;15999:157::-;16104:45;16124:24;16142:5;16124:24;:::i;:::-;16104:45;:::i;:::-;16099:3;16092:58;15999:157;;:::o;16162:79::-;16201:7;16230:5;16219:16;;16162:79;;;:::o;16247:157::-;16352:45;16372:24;16390:5;16372:24;:::i;:::-;16352:45;:::i;:::-;16347:3;16340:58;16247:157;;:::o;16410:1102::-;16690:3;16705:75;16776:3;16767:6;16705:75;:::i;:::-;16805:2;16800:3;16796:12;16789:19;;16818:75;16889:3;16880:6;16818:75;:::i;:::-;16918:2;16913:3;16909:12;16902:19;;16931:75;17002:3;16993:6;16931:75;:::i;:::-;17031:2;17026:3;17022:12;17015:19;;17044:75;17115:3;17106:6;17044:75;:::i;:::-;17144:2;17139:3;17135:12;17128:19;;17157:75;17228:3;17219:6;17157:75;:::i;:::-;17257:2;17252:3;17248:12;17241:19;;17270:75;17341:3;17332:6;17270:75;:::i;:::-;17370:2;17365:3;17361:12;17354:19;;17383:75;17454:3;17445:6;17383:75;:::i;:::-;17483:2;17478:3;17474:12;17467:19;;17503:3;17496:10;;16410:1102;;;;;;;;;;:::o;17518:147::-;17619:11;17656:3;17641:18;;17518:147;;;;:::o;17693:314::-;17807:3;17828:88;17909:6;17904:3;17828:88;:::i;:::-;17821:95;;17926:43;17962:6;17957:3;17950:5;17926:43;:::i;:::-;17994:6;17989:3;17985:16;17978:23;;17693:314;;;;;:::o;18013:291::-;18153:3;18175:103;18274:3;18265:6;18257;18175:103;:::i;:::-;18168:110;;18295:3;18288:10;;18013:291;;;;;:::o;18310:295::-;18450:34;18446:1;18438:6;18434:14;18427:58;18519:34;18514:2;18506:6;18502:15;18495:59;18588:9;18583:2;18575:6;18571:15;18564:34;18310:295;:::o;18611:366::-;18753:3;18774:67;18838:2;18833:3;18774:67;:::i;:::-;18767:74;;18850:93;18939:3;18850:93;:::i;:::-;18968:2;18963:3;18959:12;18952:19;;18611:366;;;:::o;18983:419::-;19149:4;19187:2;19176:9;19172:18;19164:26;;19236:9;19230:4;19226:20;19222:1;19211:9;19207:17;19200:47;19264:131;19390:4;19264:131;:::i;:::-;19256:139;;18983:419;;;:::o;19408:180::-;19456:77;19453:1;19446:88;19553:4;19550:1;19543:15;19577:4;19574:1;19567:15;19594:305;19634:3;19653:20;19671:1;19653:20;:::i;:::-;19648:25;;19687:20;19705:1;19687:20;:::i;:::-;19682:25;;19841:1;19773:66;19769:74;19766:1;19763:81;19760:107;;;19847:18;;:::i;:::-;19760:107;19891:1;19888;19884:9;19877:16;;19594:305;;;;:::o;19905:246::-;20045:34;20041:1;20033:6;20029:14;20022:58;20114:29;20109:2;20101:6;20097:15;20090:54;19905:246;:::o;20157:366::-;20299:3;20320:67;20384:2;20379:3;20320:67;:::i;:::-;20313:74;;20396:93;20485:3;20396:93;:::i;:::-;20514:2;20509:3;20505:12;20498:19;;20157:366;;;:::o;20529:419::-;20695:4;20733:2;20722:9;20718:18;20710:26;;20782:9;20776:4;20772:20;20768:1;20757:9;20753:17;20746:47;20810:131;20936:4;20810:131;:::i;:::-;20802:139;;20529:419;;;:::o;20954:179::-;21094:31;21090:1;21082:6;21078:14;21071:55;20954:179;:::o;21139:366::-;21281:3;21302:67;21366:2;21361:3;21302:67;:::i;:::-;21295:74;;21378:93;21467:3;21378:93;:::i;:::-;21496:2;21491:3;21487:12;21480:19;;21139:366;;;:::o;21511:419::-;21677:4;21715:2;21704:9;21700:18;21692:26;;21764:9;21758:4;21754:20;21750:1;21739:9;21735:17;21728:47;21792:131;21918:4;21792:131;:::i;:::-;21784:139;;21511:419;;;:::o;21936:225::-;22076:34;22072:1;22064:6;22060:14;22053:58;22145:8;22140:2;22132:6;22128:15;22121:33;21936:225;:::o;22167:366::-;22309:3;22330:67;22394:2;22389:3;22330:67;:::i;:::-;22323:74;;22406:93;22495:3;22406:93;:::i;:::-;22524:2;22519:3;22515:12;22508:19;;22167:366;;;:::o;22539:419::-;22705:4;22743:2;22732:9;22728:18;22720:26;;22792:9;22786:4;22782:20;22778:1;22767:9;22763:17;22756:47;22820:131;22946:4;22820:131;:::i;:::-;22812:139;;22539:419;;;:::o;22964:230::-;23104:34;23100:1;23092:6;23088:14;23081:58;23173:13;23168:2;23160:6;23156:15;23149:38;22964:230;:::o;23200:366::-;23342:3;23363:67;23427:2;23422:3;23363:67;:::i;:::-;23356:74;;23439:93;23528:3;23439:93;:::i;:::-;23557:2;23552:3;23548:12;23541:19;;23200:366;;;:::o;23572:419::-;23738:4;23776:2;23765:9;23761:18;23753:26;;23825:9;23819:4;23815:20;23811:1;23800:9;23796:17;23789:47;23853:131;23979:4;23853:131;:::i;:::-;23845:139;;23572:419;;;:::o;23997:182::-;24137:34;24133:1;24125:6;24121:14;24114:58;23997:182;:::o;24185:366::-;24327:3;24348:67;24412:2;24407:3;24348:67;:::i;:::-;24341:74;;24424:93;24513:3;24424:93;:::i;:::-;24542:2;24537:3;24533:12;24526:19;;24185:366;;;:::o;24557:419::-;24723:4;24761:2;24750:9;24746:18;24738:26;;24810:9;24804:4;24800:20;24796:1;24785:9;24781:17;24774:47;24838:131;24964:4;24838:131;:::i;:::-;24830:139;;24557:419;;;:::o;24982:442::-;25131:4;25169:2;25158:9;25154:18;25146:26;;25182:71;25250:1;25239:9;25235:17;25226:6;25182:71;:::i;:::-;25263:72;25331:2;25320:9;25316:18;25307:6;25263:72;:::i;:::-;25345;25413:2;25402:9;25398:18;25389:6;25345:72;:::i;:::-;24982:442;;;;;;:::o;25430:180::-;25478:77;25475:1;25468:88;25575:4;25572:1;25565:15;25599:4;25596:1;25589:15;25616:174;25756:26;25752:1;25744:6;25740:14;25733:50;25616:174;:::o;25796:366::-;25938:3;25959:67;26023:2;26018:3;25959:67;:::i;:::-;25952:74;;26035:93;26124:3;26035:93;:::i;:::-;26153:2;26148:3;26144:12;26137:19;;25796:366;;;:::o;26168:419::-;26334:4;26372:2;26361:9;26357:18;26349:26;;26421:9;26415:4;26411:20;26407:1;26396:9;26392:17;26385:47;26449:131;26575:4;26449:131;:::i;:::-;26441:139;;26168:419;;;:::o;26593:181::-;26733:33;26729:1;26721:6;26717:14;26710:57;26593:181;:::o;26780:366::-;26922:3;26943:67;27007:2;27002:3;26943:67;:::i;:::-;26936:74;;27019:93;27108:3;27019:93;:::i;:::-;27137:2;27132:3;27128:12;27121:19;;26780:366;;;:::o;27152:419::-;27318:4;27356:2;27345:9;27341:18;27333:26;;27405:9;27399:4;27395:20;27391:1;27380:9;27376:17;27369:47;27433:131;27559:4;27433:131;:::i;:::-;27425:139;;27152:419;;;:::o;27577:221::-;27717:34;27713:1;27705:6;27701:14;27694:58;27786:4;27781:2;27773:6;27769:15;27762:29;27577:221;:::o;27804:366::-;27946:3;27967:67;28031:2;28026:3;27967:67;:::i;:::-;27960:74;;28043:93;28132:3;28043:93;:::i;:::-;28161:2;28156:3;28152:12;28145:19;;27804:366;;;:::o;28176:419::-;28342:4;28380:2;28369:9;28365:18;28357:26;;28429:9;28423:4;28419:20;28415:1;28404:9;28400:17;28393:47;28457:131;28583:4;28457:131;:::i;:::-;28449:139;;28176:419;;;:::o;28601:137::-;28655:5;28686:6;28680:13;28671:22;;28702:30;28726:5;28702:30;:::i;:::-;28601:137;;;;:::o;28744:345::-;28811:6;28860:2;28848:9;28839:7;28835:23;28831:32;28828:119;;;28866:79;;:::i;:::-;28828:119;28986:1;29011:61;29064:7;29055:6;29044:9;29040:22;29011:61;:::i;:::-;29001:71;;28957:125;28744:345;;;;:::o;29095:229::-;29235:34;29231:1;29223:6;29219:14;29212:58;29304:12;29299:2;29291:6;29287:15;29280:37;29095:229;:::o;29330:366::-;29472:3;29493:67;29557:2;29552:3;29493:67;:::i;:::-;29486:74;;29569:93;29658:3;29569:93;:::i;:::-;29687:2;29682:3;29678:12;29671:19;;29330:366;;;:::o;29702:419::-;29868:4;29906:2;29895:9;29891:18;29883:26;;29955:9;29949:4;29945:20;29941:1;29930:9;29926:17;29919:47;29983:131;30109:4;29983:131;:::i;:::-;29975:139;;29702:419;;;:::o;30127:86::-;30162:7;30202:4;30195:5;30191:16;30180:27;;30127:86;;;:::o;30219:112::-;30302:22;30318:5;30302:22;:::i;:::-;30297:3;30290:35;30219:112;;:::o;30337:545::-;30510:4;30548:3;30537:9;30533:19;30525:27;;30562:71;30630:1;30619:9;30615:17;30606:6;30562:71;:::i;:::-;30643:68;30707:2;30696:9;30692:18;30683:6;30643:68;:::i;:::-;30721:72;30789:2;30778:9;30774:18;30765:6;30721:72;:::i;:::-;30803;30871:2;30860:9;30856:18;30847:6;30803:72;:::i;:::-;30337:545;;;;;;;:::o;30888:225::-;31028:34;31024:1;31016:6;31012:14;31005:58;31097:8;31092:2;31084:6;31080:15;31073:33;30888:225;:::o;31119:366::-;31261:3;31282:67;31346:2;31341:3;31282:67;:::i;:::-;31275:74;;31358:93;31447:3;31358:93;:::i;:::-;31476:2;31471:3;31467:12;31460:19;;31119:366;;;:::o;31491:419::-;31657:4;31695:2;31684:9;31680:18;31672:26;;31744:9;31738:4;31734:20;31730:1;31719:9;31715:17;31708:47;31772:131;31898:4;31772:131;:::i;:::-;31764:139;;31491:419;;;:::o;31916:98::-;31967:6;32001:5;31995:12;31985:22;;31916:98;;;:::o;32020:307::-;32088:1;32098:113;32112:6;32109:1;32106:13;32098:113;;;32197:1;32192:3;32188:11;32182:18;32178:1;32173:3;32169:11;32162:39;32134:2;32131:1;32127:10;32122:15;;32098:113;;;32229:6;32226:1;32223:13;32220:101;;;32309:1;32300:6;32295:3;32291:16;32284:27;32220:101;32069:258;32020:307;;;:::o;32333:373::-;32437:3;32465:38;32497:5;32465:38;:::i;:::-;32519:88;32600:6;32595:3;32519:88;:::i;:::-;32512:95;;32616:52;32661:6;32656:3;32649:4;32642:5;32638:16;32616:52;:::i;:::-;32693:6;32688:3;32684:16;32677:23;;32441:265;32333:373;;;;:::o;32712:271::-;32842:3;32864:93;32953:3;32944:6;32864:93;:::i;:::-;32857:100;;32974:3;32967:10;;32712:271;;;;:::o;32989:179::-;33129:31;33125:1;33117:6;33113:14;33106:55;32989:179;:::o;33174:366::-;33316:3;33337:67;33401:2;33396:3;33337:67;:::i;:::-;33330:74;;33413:93;33502:3;33413:93;:::i;:::-;33531:2;33526:3;33522:12;33515:19;;33174:366;;;:::o;33546:419::-;33712:4;33750:2;33739:9;33735:18;33727:26;;33799:9;33793:4;33789:20;33785:1;33774:9;33770:17;33763:47;33827:131;33953:4;33827:131;:::i;:::-;33819:139;;33546:419;;;:::o;33971:99::-;34023:6;34057:5;34051:12;34041:22;;33971:99;;;:::o;34076:364::-;34164:3;34192:39;34225:5;34192:39;:::i;:::-;34247:71;34311:6;34306:3;34247:71;:::i;:::-;34240:78;;34327:52;34372:6;34367:3;34360:4;34353:5;34349:16;34327:52;:::i;:::-;34404:29;34426:6;34404:29;:::i;:::-;34399:3;34395:39;34388:46;;34168:272;34076:364;;;;:::o;34446:313::-;34559:4;34597:2;34586:9;34582:18;34574:26;;34646:9;34640:4;34636:20;34632:1;34621:9;34617:17;34610:47;34674:78;34747:4;34738:6;34674:78;:::i;:::-;34666:86;;34446:313;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport \"../core/HasSignature.sol\";\nimport \"../utils/TimeChecker.sol\";\n\n/**\n * @title ClaimToken\n * @dev for user to claim token\n */\ncontract ClaimToken is HasSignature, TimeChecker {\n using SafeERC20 for IERC20;\n uint256 private immutable _CACHED_CHAIN_ID;\n address private immutable _CACHED_THIS;\n address private verifier;\n address private paymentAddress;\n mapping(address => bool) public tokenSupported;\n mapping(address => uint256) public claimHistory;\n struct TestStuct {\n address user;\n address nft;\n uint256 tokenId;\n uint64 start;\n uint64 stakeTime;\n }\n event TestEvent (\n address indexed user,\n TestStuct info\n );\n\n\n event TokenClaimed(\n address indexed tokenAddress,\n address indexed to,\n uint256 indexed nonce,\n uint256 amount\n );\n event TokenSupportUpdated(address indexed tokenAddress, bool support);\n event VerifierUpdated(address indexed verifier);\n event PaymentAddressUpdated(address indexed paymentAddress);\n\n constructor() {\n _CACHED_CHAIN_ID = block.chainid;\n _CACHED_THIS = address(this);\n }\n\n function updateTokenSupport(address _token, bool _support) external onlyOwner {\n tokenSupported[_token] = _support;\n emit TokenSupportUpdated(_token, _support);\n }\n\n /**\n * @dev update verifier address\n */\n function updateVerifier(address _verifier) external onlyOwner {\n require(_verifier != address(0), \"ClaimToken: address can not be zero\");\n verifier = _verifier;\n emit VerifierUpdated(_verifier);\n }\n\n /**\n * @dev update payment address\n */\n function updatePaymentAddress(address _paymentAddress) external onlyOwner {\n require(\n _paymentAddress != address(0),\n \"ClaimToken: payment address can not be zero\"\n );\n paymentAddress = _paymentAddress;\n emit PaymentAddressUpdated(_paymentAddress);\n }\n\n function claim(\n address _token,\n uint256 _amount,\n uint256 _startTime,\n uint256 _saltNonce,\n bytes calldata _signature\n ) external signatureValid(_signature) timeValid(_startTime) {\n require(tokenSupported[_token], \"ClaimToken: unsupported token\");\n address to = _msgSender();\n bytes32 criteriaMessageHash = getMessageHash(\n to,\n _token,\n _CACHED_THIS,\n _CACHED_CHAIN_ID,\n _amount,\n _startTime,\n _saltNonce\n );\n checkSigner(verifier, criteriaMessageHash, _signature);\n IERC20(_token).safeTransferFrom(paymentAddress, to, _amount);\n claimHistory[to] = _amount;\n _useSignature(_signature);\n emit TokenClaimed(_token, to, _saltNonce, _amount);\n }\n\n function getMessageHash(\n address _to,\n address _address,\n address _contract,\n uint256 _chainId,\n uint256 _amount,\n uint256 _startTime,\n uint256 _saltNonce\n ) public pure returns (bytes32) {\n bytes memory encoded = abi.encodePacked(\n _to,\n _address,\n _contract,\n _chainId,\n _amount,\n _startTime,\n _saltNonce\n );\n return keccak256(encoded);\n }\n}\n", + "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/activity/ClaimToken.sol", + "ast": { + "absolutePath": "project:/contracts/activity/ClaimToken.sol", + "exportedSymbols": { + "Address": [ + 932 + ], + "ClaimToken": [ + 2798 + ], + "Context": [ + 954 + ], + "ECDSA": [ + 1549 + ], + "HasSignature": [ + 2891 + ], + "IERC20": [ + 190 + ], + "IERC20Permit": [ + 226 + ], + "Math": [ + 2415 + ], + "Ownable": [ + 112 + ], + "SafeERC20": [ + 602 + ], + "SignedMath": [ + 2520 + ], + "Strings": [ + 1183 + ], + "TimeChecker": [ + 2958 + ] + }, + "id": 2799, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2522, + "literals": [ + "solidity", + "0.8", + ".10" + ], + "nodeType": "PragmaDirective", + "src": "32:23:10" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "id": 2523, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2799, + "sourceUnit": 191, + "src": "57:56:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", + "id": 2524, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2799, + "sourceUnit": 603, + "src": "114:65:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/core/HasSignature.sol", + "file": "../core/HasSignature.sol", + "id": 2525, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2799, + "sourceUnit": 2892, + "src": "180:34:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/utils/TimeChecker.sol", + "file": "../utils/TimeChecker.sol", + "id": 2526, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2799, + "sourceUnit": 2959, + "src": "215:34:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2528, + "name": "HasSignature", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2891, + "src": "335:12:10" + }, + "id": 2529, + "nodeType": "InheritanceSpecifier", + "src": "335:12:10" + }, + { + "baseName": { + "id": 2530, + "name": "TimeChecker", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2958, + "src": "349:11:10" + }, + "id": 2531, + "nodeType": "InheritanceSpecifier", + "src": "349:11:10" + } + ], + "canonicalName": "ClaimToken", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2527, + "nodeType": "StructuredDocumentation", + "src": "251:60:10", + "text": " @title ClaimToken\n @dev for user to claim token" + }, + "fullyImplemented": true, + "id": 2798, + "linearizedBaseContracts": [ + 2798, + 2958, + 2891, + 112, + 954 + ], + "name": "ClaimToken", + "nameLocation": "321:10:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 2535, + "libraryName": { + "id": 2532, + "name": "SafeERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 602, + "src": "371:9:10" + }, + "nodeType": "UsingForDirective", + "src": "365:27:10", + "typeName": { + "id": 2534, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2533, + "name": "IERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 190, + "src": "385:6:10" + }, + "referencedDeclaration": 190, + "src": "385:6:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$190", + "typeString": "contract IERC20" + } + } + }, + { + "constant": false, + "id": 2537, + "mutability": "immutable", + "name": "_CACHED_CHAIN_ID", + "nameLocation": "421:16:10", + "nodeType": "VariableDeclaration", + "scope": 2798, + "src": "395:42:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "395:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 2539, + "mutability": "immutable", + "name": "_CACHED_THIS", + "nameLocation": "467:12:10", + "nodeType": "VariableDeclaration", + "scope": 2798, + "src": "441:38:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "441:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 2541, + "mutability": "mutable", + "name": "verifier", + "nameLocation": "499:8:10", + "nodeType": "VariableDeclaration", + "scope": 2798, + "src": "483:24:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2540, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "483:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 2543, + "mutability": "mutable", + "name": "paymentAddress", + "nameLocation": "527:14:10", + "nodeType": "VariableDeclaration", + "scope": 2798, + "src": "511:30:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2542, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "511:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "062143f0", + "id": 2547, + "mutability": "mutable", + "name": "tokenSupported", + "nameLocation": "577:14:10", + "nodeType": "VariableDeclaration", + "scope": 2798, + "src": "545:46:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 2546, + "keyType": { + "id": 2544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "553:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "545:24:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 2545, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "564:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "425a69cc", + "id": 2551, + "mutability": "mutable", + "name": "claimHistory", + "nameLocation": "630:12:10", + "nodeType": "VariableDeclaration", + "scope": 2798, + "src": "595:47:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 2550, + "keyType": { + "id": 2548, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "603:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "595:27:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 2549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "canonicalName": "ClaimToken.TestStuct", + "id": 2562, + "members": [ + { + "constant": false, + "id": 2553, + "mutability": "mutable", + "name": "user", + "nameLocation": "677:4:10", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "669:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "669:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2555, + "mutability": "mutable", + "name": "nft", + "nameLocation": "695:3:10", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "687:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "687:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2557, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "712:7:10", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "704:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "704:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2559, + "mutability": "mutable", + "name": "start", + "nameLocation": "732:5:10", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "725:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2558, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "725:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2561, + "mutability": "mutable", + "name": "stakeTime", + "nameLocation": "750:9:10", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "743:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2560, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "743:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "TestStuct", + "nameLocation": "653:9:10", + "nodeType": "StructDefinition", + "scope": 2798, + "src": "646:118:10", + "visibility": "public" + }, + { + "anonymous": false, + "id": 2569, + "name": "TestEvent", + "nameLocation": "773:9:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2564, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "805:4:10", + "nodeType": "VariableDeclaration", + "scope": 2569, + "src": "789:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "789:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2567, + "indexed": false, + "mutability": "mutable", + "name": "info", + "nameLocation": "825:4:10", + "nodeType": "VariableDeclaration", + "scope": 2569, + "src": "815:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TestStuct_$2562_memory_ptr", + "typeString": "struct ClaimToken.TestStuct" + }, + "typeName": { + "id": 2566, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2565, + "name": "TestStuct", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2562, + "src": "815:9:10" + }, + "referencedDeclaration": 2562, + "src": "815:9:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TestStuct_$2562_storage_ptr", + "typeString": "struct ClaimToken.TestStuct" + } + }, + "visibility": "internal" + } + ], + "src": "783:50:10" + }, + "src": "767:67:10" + }, + { + "anonymous": false, + "id": 2579, + "name": "TokenClaimed", + "nameLocation": "845:12:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2571, + "indexed": true, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "879:12:10", + "nodeType": "VariableDeclaration", + "scope": 2579, + "src": "863:28:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "863:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2573, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "913:2:10", + "nodeType": "VariableDeclaration", + "scope": 2579, + "src": "897:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2572, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "897:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2575, + "indexed": true, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "937:5:10", + "nodeType": "VariableDeclaration", + "scope": 2579, + "src": "921:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2574, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "921:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2577, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "956:6:10", + "nodeType": "VariableDeclaration", + "scope": 2579, + "src": "948:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "948:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "857:109:10" + }, + "src": "839:128:10" + }, + { + "anonymous": false, + "id": 2585, + "name": "TokenSupportUpdated", + "nameLocation": "976:19:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2581, + "indexed": true, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "1012:12:10", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "996:28:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "996:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2583, + "indexed": false, + "mutability": "mutable", + "name": "support", + "nameLocation": "1031:7:10", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "1026:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2582, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1026:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "995:44:10" + }, + "src": "970:70:10" + }, + { + "anonymous": false, + "id": 2589, + "name": "VerifierUpdated", + "nameLocation": "1049:15:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2587, + "indexed": true, + "mutability": "mutable", + "name": "verifier", + "nameLocation": "1081:8:10", + "nodeType": "VariableDeclaration", + "scope": 2589, + "src": "1065:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2586, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1065:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1064:26:10" + }, + "src": "1043:48:10" + }, + { + "anonymous": false, + "id": 2593, + "name": "PaymentAddressUpdated", + "nameLocation": "1100:21:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2591, + "indexed": true, + "mutability": "mutable", + "name": "paymentAddress", + "nameLocation": "1138:14:10", + "nodeType": "VariableDeclaration", + "scope": 2593, + "src": "1122:30:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2590, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1122:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1121:32:10" + }, + "src": "1094:60:10" + }, + { + "body": { + "id": 2608, + "nodeType": "Block", + "src": "1172:77:10", + "statements": [ + { + "expression": { + "id": 2599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2596, + "name": "_CACHED_CHAIN_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2537, + "src": "1178:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 2597, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "1197:5:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "1197:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1178:32:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2600, + "nodeType": "ExpressionStatement", + "src": "1178:32:10" + }, + { + "expression": { + "id": 2606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2601, + "name": "_CACHED_THIS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2539, + "src": "1216:12:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2604, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "1239:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ClaimToken_$2798", + "typeString": "contract ClaimToken" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ClaimToken_$2798", + "typeString": "contract ClaimToken" + } + ], + "id": 2603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1231:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2602, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1231:7:10", + "typeDescriptions": {} + } + }, + "id": 2605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1231:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1216:28:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2607, + "nodeType": "ExpressionStatement", + "src": "1216:28:10" + } + ] + }, + "id": 2609, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2594, + "nodeType": "ParameterList", + "parameters": [], + "src": "1169:2:10" + }, + "returnParameters": { + "id": 2595, + "nodeType": "ParameterList", + "parameters": [], + "src": "1172:0:10" + }, + "scope": 2798, + "src": "1158:91:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2629, + "nodeType": "Block", + "src": "1331:92:10", + "statements": [ + { + "expression": { + "id": 2622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2618, + "name": "tokenSupported", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2547, + "src": "1337:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2620, + "indexExpression": { + "id": 2619, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2611, + "src": "1352:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1337:22:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2621, + "name": "_support", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2613, + "src": "1362:8:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1337:33:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2623, + "nodeType": "ExpressionStatement", + "src": "1337:33:10" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2625, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2611, + "src": "1401:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2626, + "name": "_support", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2613, + "src": "1409:8:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2624, + "name": "TokenSupportUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2585, + "src": "1381:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,bool)" + } + }, + "id": 2627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1381:37:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2628, + "nodeType": "EmitStatement", + "src": "1376:42:10" + } + ] + }, + "functionSelector": "7b4c9274", + "id": 2630, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2616, + "kind": "modifierInvocation", + "modifierName": { + "id": 2615, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 31, + "src": "1321:9:10" + }, + "nodeType": "ModifierInvocation", + "src": "1321:9:10" + } + ], + "name": "updateTokenSupport", + "nameLocation": "1262:18:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2611, + "mutability": "mutable", + "name": "_token", + "nameLocation": "1289:6:10", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "1281:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1281:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2613, + "mutability": "mutable", + "name": "_support", + "nameLocation": "1302:8:10", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "1297:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2612, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1297:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1280:31:10" + }, + "returnParameters": { + "id": 2617, + "nodeType": "ParameterList", + "parameters": [], + "src": "1331:0:10" + }, + "scope": 2798, + "src": "1253:170:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2656, + "nodeType": "Block", + "src": "1535:145:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2639, + "name": "_verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "1549:9:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1570:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1562:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1562:7:10", + "typeDescriptions": {} + } + }, + "id": 2643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1562:10:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1549:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436c61696d546f6b656e3a20616464726573732063616e206e6f74206265207a65726f", + "id": 2645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1574:37:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249", + "typeString": "literal_string \"ClaimToken: address can not be zero\"" + }, + "value": "ClaimToken: address can not be zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_94e36f5b6c17a46e7319652ecae2b97ab784d2cc81d2440ff5f2f22a74001249", + "typeString": "literal_string \"ClaimToken: address can not be zero\"" + } + ], + "id": 2638, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1541:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1541:71:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2647, + "nodeType": "ExpressionStatement", + "src": "1541:71:10" + }, + { + "expression": { + "id": 2650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2648, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2541, + "src": "1618:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2649, + "name": "_verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "1629:9:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1618:20:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2651, + "nodeType": "ExpressionStatement", + "src": "1618:20:10" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2653, + "name": "_verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "1665:9:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2652, + "name": "VerifierUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2589, + "src": "1649:15:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1649:26:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2655, + "nodeType": "EmitStatement", + "src": "1644:31:10" + } + ] + }, + "documentation": { + "id": 2631, + "nodeType": "StructuredDocumentation", + "src": "1427:43:10", + "text": " @dev update verifier address" + }, + "functionSelector": "97fc007c", + "id": 2657, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2636, + "kind": "modifierInvocation", + "modifierName": { + "id": 2635, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 31, + "src": "1525:9:10" + }, + "nodeType": "ModifierInvocation", + "src": "1525:9:10" + } + ], + "name": "updateVerifier", + "nameLocation": "1482:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2633, + "mutability": "mutable", + "name": "_verifier", + "nameLocation": "1505:9:10", + "nodeType": "VariableDeclaration", + "scope": 2657, + "src": "1497:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1497:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1496:19:10" + }, + "returnParameters": { + "id": 2637, + "nodeType": "ParameterList", + "parameters": [], + "src": "1535:0:10" + }, + "scope": 2798, + "src": "1473:207:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2683, + "nodeType": "Block", + "src": "1803:201:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2666, + "name": "_paymentAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2660, + "src": "1824:15:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1851:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1843:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2667, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1843:7:10", + "typeDescriptions": {} + } + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1843:10:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1824:29:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436c61696d546f6b656e3a207061796d656e7420616464726573732063616e206e6f74206265207a65726f", + "id": 2672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1861:45:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a", + "typeString": "literal_string \"ClaimToken: payment address can not be zero\"" + }, + "value": "ClaimToken: payment address can not be zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d9f0a8b16a7830c3d7cf649ba69cf4b0b039e3b79fd51bb432b26a9c118ede2a", + "typeString": "literal_string \"ClaimToken: payment address can not be zero\"" + } + ], + "id": 2665, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1809:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1809:103:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2674, + "nodeType": "ExpressionStatement", + "src": "1809:103:10" + }, + { + "expression": { + "id": 2677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2675, + "name": "paymentAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2543, + "src": "1918:14:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2676, + "name": "_paymentAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2660, + "src": "1935:15:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1918:32:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2678, + "nodeType": "ExpressionStatement", + "src": "1918:32:10" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2680, + "name": "_paymentAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2660, + "src": "1983:15:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2679, + "name": "PaymentAddressUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2593, + "src": "1961:21:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1961:38:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2682, + "nodeType": "EmitStatement", + "src": "1956:43:10" + } + ] + }, + "documentation": { + "id": 2658, + "nodeType": "StructuredDocumentation", + "src": "1684:42:10", + "text": " @dev update payment address" + }, + "functionSelector": "fe475f6b", + "id": 2684, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2663, + "kind": "modifierInvocation", + "modifierName": { + "id": 2662, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 31, + "src": "1793:9:10" + }, + "nodeType": "ModifierInvocation", + "src": "1793:9:10" + } + ], + "name": "updatePaymentAddress", + "nameLocation": "1738:20:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2661, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2660, + "mutability": "mutable", + "name": "_paymentAddress", + "nameLocation": "1767:15:10", + "nodeType": "VariableDeclaration", + "scope": 2684, + "src": "1759:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2659, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1759:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1758:25:10" + }, + "returnParameters": { + "id": 2664, + "nodeType": "ParameterList", + "parameters": [], + "src": "1803:0:10" + }, + "scope": 2798, + "src": "1729:275:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2759, + "nodeType": "Block", + "src": "2205:526:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 2704, + "name": "tokenSupported", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2547, + "src": "2219:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2706, + "indexExpression": { + "id": 2705, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2686, + "src": "2234:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2219:22:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436c61696d546f6b656e3a20756e737570706f7274656420746f6b656e", + "id": 2707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2243:31:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8", + "typeString": "literal_string \"ClaimToken: unsupported token\"" + }, + "value": "ClaimToken: unsupported token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8103b92f457c747dffbe59b008aa74fccc1e8fb016d3ecc1efcd2aba6a37fbc8", + "typeString": "literal_string \"ClaimToken: unsupported token\"" + } + ], + "id": 2703, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2211:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2211:64:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2709, + "nodeType": "ExpressionStatement", + "src": "2211:64:10" + }, + { + "assignments": [ + 2711 + ], + "declarations": [ + { + "constant": false, + "id": 2711, + "mutability": "mutable", + "name": "to", + "nameLocation": "2289:2:10", + "nodeType": "VariableDeclaration", + "scope": 2759, + "src": "2281:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2710, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2281:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2714, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2712, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 944, + "src": "2294:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2294:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2281:25:10" + }, + { + "assignments": [ + 2716 + ], + "declarations": [ + { + "constant": false, + "id": 2716, + "mutability": "mutable", + "name": "criteriaMessageHash", + "nameLocation": "2320:19:10", + "nodeType": "VariableDeclaration", + "scope": 2759, + "src": "2312:27:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2312:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 2726, + "initialValue": { + "arguments": [ + { + "id": 2718, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "2364:2:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2719, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2686, + "src": "2374:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2720, + "name": "_CACHED_THIS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2539, + "src": "2388:12:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2721, + "name": "_CACHED_CHAIN_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2537, + "src": "2408:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2722, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2688, + "src": "2432:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2723, + "name": "_startTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "2447:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2724, + "name": "_saltNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2692, + "src": "2465:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2717, + "name": "getMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2797, + "src": "2342:14:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,address,address,uint256,uint256,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2342:139:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2312:169:10" + }, + { + "expression": { + "arguments": [ + { + "id": 2728, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2541, + "src": "2499:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2729, + "name": "criteriaMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2716, + "src": "2509:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2730, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2694, + "src": "2530:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2727, + "name": "checkSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2858, + "src": "2487:11:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,bytes32,bytes memory) pure" + } + }, + "id": 2731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2487:54:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2732, + "nodeType": "ExpressionStatement", + "src": "2487:54:10" + }, + { + "expression": { + "arguments": [ + { + "id": 2737, + "name": "paymentAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2543, + "src": "2579:14:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2738, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "2595:2:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2739, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2688, + "src": "2599:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 2734, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2686, + "src": "2554:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2733, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 190, + "src": "2547:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$190_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 2735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2547:14:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$190", + "typeString": "contract IERC20" + } + }, + "id": 2736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 286, + "src": "2547:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$190_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$190_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 2740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2547:60:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2741, + "nodeType": "ExpressionStatement", + "src": "2547:60:10" + }, + { + "expression": { + "id": 2746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2742, + "name": "claimHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2551, + "src": "2613:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2744, + "indexExpression": { + "id": 2743, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "2626:2:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2613:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2745, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2688, + "src": "2632:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2613:26:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2747, + "nodeType": "ExpressionStatement", + "src": "2613:26:10" + }, + { + "expression": { + "arguments": [ + { + "id": 2749, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2694, + "src": "2659:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2748, + "name": "_useSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2890, + "src": "2645:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (bytes calldata)" + } + }, + "id": 2750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2645:25:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2751, + "nodeType": "ExpressionStatement", + "src": "2645:25:10" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2753, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2686, + "src": "2694:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2754, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "2702:2:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2755, + "name": "_saltNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2692, + "src": "2706:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2756, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2688, + "src": "2718:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2752, + "name": "TokenClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2579, + "src": "2681:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 2757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2681:45:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2758, + "nodeType": "EmitStatement", + "src": "2676:50:10" + } + ] + }, + "functionSelector": "cf503460", + "id": 2760, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2697, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2694, + "src": "2171:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "id": 2698, + "kind": "modifierInvocation", + "modifierName": { + "id": 2696, + "name": "signatureValid", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2872, + "src": "2156:14:10" + }, + "nodeType": "ModifierInvocation", + "src": "2156:26:10" + }, + { + "arguments": [ + { + "id": 2700, + "name": "_startTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "2193:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2701, + "kind": "modifierInvocation", + "modifierName": { + "id": 2699, + "name": "timeValid", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2928, + "src": "2183:9:10" + }, + "nodeType": "ModifierInvocation", + "src": "2183:21:10" + } + ], + "name": "claim", + "nameLocation": "2017:5:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2686, + "mutability": "mutable", + "name": "_token", + "nameLocation": "2036:6:10", + "nodeType": "VariableDeclaration", + "scope": 2760, + "src": "2028:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2685, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2028:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2688, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "2056:7:10", + "nodeType": "VariableDeclaration", + "scope": 2760, + "src": "2048:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2687, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2048:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2690, + "mutability": "mutable", + "name": "_startTime", + "nameLocation": "2077:10:10", + "nodeType": "VariableDeclaration", + "scope": 2760, + "src": "2069:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2689, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2069:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2692, + "mutability": "mutable", + "name": "_saltNonce", + "nameLocation": "2101:10:10", + "nodeType": "VariableDeclaration", + "scope": 2760, + "src": "2093:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2093:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2694, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "2132:10:10", + "nodeType": "VariableDeclaration", + "scope": 2760, + "src": "2117:25:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2693, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2117:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2022:124:10" + }, + "returnParameters": { + "id": 2702, + "nodeType": "ParameterList", + "parameters": [], + "src": "2205:0:10" + }, + "scope": 2798, + "src": "2008:723:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2796, + "nodeType": "Block", + "src": "2946:198:10", + "statements": [ + { + "assignments": [ + 2780 + ], + "declarations": [ + { + "constant": false, + "id": 2780, + "mutability": "mutable", + "name": "encoded", + "nameLocation": "2965:7:10", + "nodeType": "VariableDeclaration", + "scope": 2796, + "src": "2952:20:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2779, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2952:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2791, + "initialValue": { + "arguments": [ + { + "id": 2783, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2762, + "src": "2999:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2784, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2764, + "src": "3010:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2785, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2766, + "src": "3026:9:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2786, + "name": "_chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2768, + "src": "3043:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2787, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2770, + "src": "3059:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2788, + "name": "_startTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2772, + "src": "3074:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2789, + "name": "_saltNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2774, + "src": "3092:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2781, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "2975:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2782, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2975:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2975:133:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2952:156:10" + }, + { + "expression": { + "arguments": [ + { + "id": 2793, + "name": "encoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2780, + "src": "3131:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2792, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "3121:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3121:18:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2778, + "id": 2795, + "nodeType": "Return", + "src": "3114:25:10" + } + ] + }, + "functionSelector": "a9a11360", + "id": 2797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMessageHash", + "nameLocation": "2744:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2762, + "mutability": "mutable", + "name": "_to", + "nameLocation": "2772:3:10", + "nodeType": "VariableDeclaration", + "scope": 2797, + "src": "2764:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2764:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2764, + "mutability": "mutable", + "name": "_address", + "nameLocation": "2789:8:10", + "nodeType": "VariableDeclaration", + "scope": 2797, + "src": "2781:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2763, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2781:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2766, + "mutability": "mutable", + "name": "_contract", + "nameLocation": "2811:9:10", + "nodeType": "VariableDeclaration", + "scope": 2797, + "src": "2803:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2803:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2768, + "mutability": "mutable", + "name": "_chainId", + "nameLocation": "2834:8:10", + "nodeType": "VariableDeclaration", + "scope": 2797, + "src": "2826:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2826:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2770, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "2856:7:10", + "nodeType": "VariableDeclaration", + "scope": 2797, + "src": "2848:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2769, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2848:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2772, + "mutability": "mutable", + "name": "_startTime", + "nameLocation": "2877:10:10", + "nodeType": "VariableDeclaration", + "scope": 2797, + "src": "2869:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2771, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2869:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2774, + "mutability": "mutable", + "name": "_saltNonce", + "nameLocation": "2901:10:10", + "nodeType": "VariableDeclaration", + "scope": 2797, + "src": "2893:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2893:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2758:157:10" + }, + "returnParameters": { + "id": 2778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2777, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2797, + "src": "2937:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2776, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2937:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2936:9:10" + }, + "scope": 2798, + "src": "2735:409:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 2799, + "src": "312:2834:10", + "usedErrors": [] + } + ], + "src": "32:3115:10" + }, + "compiler": { + "name": "solc", + "version": "0.8.10+commit.fc410830.Emscripten.clang" + }, + "networks": { + "421614": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + "0x38391451438b7e6e244427ebf168c1c4955ab37f81307aa329e3ce3ba24c2866": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "paymentAddress", + "type": "address" + } + ], + "name": "PaymentAddressUpdated", + "type": "event" + }, + "0x015141ad84e87ff53c041aba3b978043da80d30267c203c0d3e54ad8c040557c": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "address", + "name": "nft", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "start", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "stakeTime", + "type": "uint64" + } + ], + "indexed": false, + "internalType": "struct ClaimToken.TestStuct", + "name": "info", + "type": "tuple" + } + ], + "name": "TestEvent", + "type": "event" + }, + "0x29842d15961c304dad3345dcde04db3059d13a4455ed0646e5daf7c993a04bc6": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "TokenClaimed", + "type": "event" + }, + "0xbbe72b7d9dcb594ee398a4a617885aba53d833e2aad601c813ce9df99fdeb49b": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "support", + "type": "bool" + } + ], + "name": "TokenSupportUpdated", + "type": "event" + }, + "0xd24015cc99cc1700cafca3042840a1d8ac1e3964fd2e0e37ea29c654056ee327": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "verifier", + "type": "address" + } + ], + "name": "VerifierUpdated", + "type": "event" + } + }, + "links": {}, + "address": "0x2119A65A2cEE90B4E0184DBC4A7aDF7093730919", + "transactionHash": "0x07e1b7c9a219463f7180e9049591d64f6f1f7fdd9f12d9daba2950d9b5dbcbfb" + } + }, + "schemaVersion": "3.4.16", + "updatedAt": "2024-01-12T05:44:22.570Z", + "networkType": "ethereum", + "devdoc": { + "details": "for user to claim token", + "kind": "dev", + "methods": { + "getDuration()": { + "details": "Returns the max duration for function called by user" + }, + "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. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling 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." + }, + "updateDuation(uint256)": { + "details": "Change duration value" + }, + "updatePaymentAddress(address)": { + "details": "update payment address" + }, + "updateVerifier(address)": { + "details": "update verifier address" + } + }, + "title": "ClaimToken", + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/FT.json b/build/contracts/FT.json index 06aee96..43a14a3 100644 --- a/build/contracts/FT.json +++ b/build/contracts/FT.json @@ -17022,7 +17022,7 @@ } }, "schemaVersion": "3.4.16", - "updatedAt": "2023-12-27T06:11:16.457Z", + "updatedAt": "2024-01-12T05:44:22.582Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 110bc0d..f19339c 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -3259,7 +3259,7 @@ } }, "schemaVersion": "3.4.16", - "updatedAt": "2024-01-10T06:03:43.872Z", + "updatedAt": "2024-01-12T05:44:22.587Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/NFTSbt.json b/build/contracts/NFTSbt.json index ec16cb0..337de12 100644 --- a/build/contracts/NFTSbt.json +++ b/build/contracts/NFTSbt.json @@ -33015,7 +33015,7 @@ } }, "schemaVersion": "3.4.16", - "updatedAt": "2024-01-10T06:03:43.865Z", + "updatedAt": "2024-01-12T05:44:22.527Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/NftBuner.json b/build/contracts/NftBuner.json index c6f1c6e..5082607 100644 --- a/build/contracts/NftBuner.json +++ b/build/contracts/NftBuner.json @@ -9715,7 +9715,7 @@ } }, "schemaVersion": "3.4.16", - "updatedAt": "2024-01-10T06:03:43.845Z", + "updatedAt": "2024-01-12T05:44:22.504Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/contracts/activity/ClaimToken.sol b/contracts/activity/ClaimToken.sol new file mode 100644 index 0000000..378185d --- /dev/null +++ b/contracts/activity/ClaimToken.sol @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.10; + +import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import "../core/HasSignature.sol"; +import "../utils/TimeChecker.sol"; + +/** + * @title ClaimToken + * @dev for user to claim token + */ +contract ClaimToken is HasSignature, TimeChecker { + using SafeERC20 for IERC20; + uint256 private immutable _CACHED_CHAIN_ID; + address private immutable _CACHED_THIS; + address private verifier; + address private paymentAddress; + mapping(address => bool) public tokenSupported; + mapping(address => uint256) public claimHistory; + struct TestStuct { + address user; + address nft; + uint256 tokenId; + uint64 start; + uint64 stakeTime; + } + event TestEvent ( + address indexed user, + TestStuct info + ); + + + event TokenClaimed( + address indexed tokenAddress, + address indexed to, + uint256 indexed nonce, + uint256 amount + ); + event TokenSupportUpdated(address indexed tokenAddress, bool support); + event VerifierUpdated(address indexed verifier); + event PaymentAddressUpdated(address indexed paymentAddress); + + constructor() { + _CACHED_CHAIN_ID = block.chainid; + _CACHED_THIS = address(this); + } + + function updateTokenSupport(address _token, bool _support) external onlyOwner { + tokenSupported[_token] = _support; + emit TokenSupportUpdated(_token, _support); + } + + /** + * @dev update verifier address + */ + function updateVerifier(address _verifier) external onlyOwner { + require(_verifier != address(0), "ClaimToken: address can not be zero"); + verifier = _verifier; + emit VerifierUpdated(_verifier); + } + + /** + * @dev update payment address + */ + function updatePaymentAddress(address _paymentAddress) external onlyOwner { + require( + _paymentAddress != address(0), + "ClaimToken: payment address can not be zero" + ); + paymentAddress = _paymentAddress; + emit PaymentAddressUpdated(_paymentAddress); + } + + function claim( + address _token, + uint256 _amount, + uint256 _startTime, + uint256 _saltNonce, + bytes calldata _signature + ) external signatureValid(_signature) timeValid(_startTime) { + require(tokenSupported[_token], "ClaimToken: unsupported token"); + address to = _msgSender(); + bytes32 criteriaMessageHash = getMessageHash( + to, + _token, + _CACHED_THIS, + _CACHED_CHAIN_ID, + _amount, + _startTime, + _saltNonce + ); + checkSigner(verifier, criteriaMessageHash, _signature); + IERC20(_token).safeTransferFrom(paymentAddress, to, _amount); + claimHistory[to] = _amount; + _useSignature(_signature); + emit TokenClaimed(_token, to, _saltNonce, _amount); + } + + function getMessageHash( + address _to, + address _address, + address _contract, + uint256 _chainId, + uint256 _amount, + uint256 _startTime, + uint256 _saltNonce + ) public pure returns (bytes32) { + bytes memory encoded = abi.encodePacked( + _to, + _address, + _contract, + _chainId, + _amount, + _startTime, + _saltNonce + ); + return keccak256(encoded); + } +} diff --git a/migrations/14_deploy_activity_202401.js b/migrations/14_deploy_activity_202401.js new file mode 100644 index 0000000..ea32cc1 --- /dev/null +++ b/migrations/14_deploy_activity_202401.js @@ -0,0 +1,61 @@ +const base = require("../scripts/base"); +const NftBuner = artifacts.require("logic/NftBuner"); +const Badge = artifacts.require("tokens/erc721/BEBadge"); +const NFTSbt = artifacts.require("tokens/erc721/NFTSbt"); +const ClaimToken = artifacts.require("activity/ClaimToken"); +const FT = artifacts.require("tokens/erc20/FT"); + +module.exports = async function (deployer, network, accounts) { + const config = require(`../config/config_${network}`); + let cfgs = base.loadData({ network }); + // await deployer.deploy(NftBuner); + // const bunerInstance = await NftBuner.deployed(); + // if (bunerInstance) { + // console.log("NftBuner successfully deployed."); + // console.log("address: " + bunerInstance.address); + // } + // base.updateArray({ + // name: "NftBuner", + // type: "logic", + // json: "assets/contracts/NftBuner.json", + // address: bunerInstance.address, + // network, + // }); + + // const gacha = cfgs.find((c) => c.name === "Gacha").address + // const gachaInstance = await Badge.at(gacha); + // await gachaInstance.setBurnRole(bunerInstance.address); + // console.log("gacha setBurnRole successfully deployed."); + + // const candy = cfgs.find((c) => c.name === "Candy").address + // const candyInstance = await Badge.at(candy); + // await candyInstance.setBurnRole(bunerInstance.address); + // console.log("candy setBurnRole successfully deployed."); + // const explorer = cfgs.find((c) => c.name === "Explorer").address + // const explorerInstance = await NFTSbt.at(explorer); + // await explorerInstance.setBurnRole(bunerInstance.address); + // console.log("explorer setBurnRole successfully deployed."); + + await deployer.deploy(ClaimToken); + const claimInstance = await ClaimToken.deployed(); + if (claimInstance) { + console.log("ClaimToken successfully deployed."); + console.log("address: " + claimInstance.address); + } + base.updateArray({ + name: "ClaimToken", + type: "logic", + json: "assets/contracts/ClaimToken.json", + address: claimInstance.address, + network, + }); + + const usdt = cfgs.find((c) => c.name === "BEUSDT").address + const usdtInstance = await FT.at(usdt); + await claimInstance.updateTokenSupport(usdtInstance.address, true); + console.log("updateTokenSupport successfully deployed."); + await claimInstance.updateVerifier(config.admins.admin); + console.log("updateVerifier successfully deployed."); + await claimInstance.updatePaymentAddress(config.admins.admin); + console.log("updatePaymentAddress successfully deployed."); +}; diff --git a/migrations/14_deploy_buner.js b/migrations/14_deploy_buner.js deleted file mode 100644 index 666e17e..0000000 --- a/migrations/14_deploy_buner.js +++ /dev/null @@ -1,34 +0,0 @@ -const base = require("../scripts/base"); -const NftBuner = artifacts.require("logic/NftBuner"); -const Badge = artifacts.require("tokens/erc721/BEBadge"); -const NFTSbt = artifacts.require("tokens/erc721/NFTSbt"); - -module.exports = async function (deployer, network, accounts) { - await deployer.deploy(NftBuner); - const bunerInstance = await NftBuner.deployed(); - if (bunerInstance) { - console.log("NftBuner successfully deployed."); - console.log("address: " + bunerInstance.address); - } - base.updateArray({ - name: "NftBuner", - type: "logic", - json: "assets/contracts/NftBuner.json", - address: bunerInstance.address, - network, - }); - let cfgs = base.loadData({ network }); - const gacha = cfgs.find((c) => c.name === "Gacha").address - const gachaInstance = await Badge.at(gacha); - await gachaInstance.setBurnRole(bunerInstance.address); - console.log("gacha setBurnRole successfully deployed."); - - const candy = cfgs.find((c) => c.name === "Candy").address - const candyInstance = await Badge.at(candy); - await candyInstance.setBurnRole(bunerInstance.address); - console.log("candy setBurnRole successfully deployed."); - const explorer = cfgs.find((c) => c.name === "Explorer").address - const explorerInstance = await NFTSbt.at(explorer); - await explorerInstance.setBurnRole(bunerInstance.address); - console.log("explorer setBurnRole successfully deployed."); -}; diff --git a/out/arbitrum_sepolia_dev.json b/out/arbitrum_sepolia_dev.json index 4c542b3..d66c668 100644 --- a/out/arbitrum_sepolia_dev.json +++ b/out/arbitrum_sepolia_dev.json @@ -154,5 +154,11 @@ "type": "logic", "json": "assets/contracts/NftBuner.json", "address": "0xca5525178b0826A7C0835F0b7a383C802e10b6c7" + }, + { + "name": "ClaimToken", + "type": "logic", + "json": "assets/contracts/ClaimToken.json", + "address": "0x2119A65A2cEE90B4E0184DBC4A7aDF7093730919" } ] \ No newline at end of file diff --git a/out/development_dev.json b/out/development_dev.json index 9c7afc9..a509a5b 100644 --- a/out/development_dev.json +++ b/out/development_dev.json @@ -17,30 +17,6 @@ "json": "assets/contracts/NftDistributor.json", "address": "0xf520767FDBE4443F89F37714EE1BeEC0BDF05B79" }, - { - "name": "CEC", - "type": "erc20", - "json": "assets/contracts/FT.json", - "address": "0x012A2C3C6f7F198A52E2820aEB48208d453EEa17" - }, - { - "name": "CEG", - "type": "erc20", - "json": "assets/contracts/FT.json", - "address": "0x931985167bD678bA850156fc717443c34C856424" - }, - { - "name": "BEUSDC", - "type": "erc20", - "json": "assets/contracts/FT.json", - "address": "0x4a931bfa7331009b0973c615b6D0B4FCCd5A89bb" - }, - { - "name": "BEUSDT", - "type": "erc20", - "json": "assets/contracts/FT.json", - "address": "0xb48c8Fa8Bc892f2F48A5Ea3C5dD3335aFECB9b0c" - }, { "name": "HERO", "type": "erc721", @@ -136,5 +112,35 @@ "type": "logic", "json": "assets/contracts/GoldBricksFactory.json", "address": "0x6F6BfF298e182882091B8D0FF40208d09aE96B62" + }, + { + "name": "Explorer", + "type": "erc721", + "json": "assets/contracts/NFTSbt.json", + "address": "0x2D8BE6BF0baA74e0A907016679CaE9190e80dD0A" + }, + { + "name": "CEC", + "type": "erc20", + "json": "assets/contracts/FT.json", + "address": "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550" + }, + { + "name": "CEG", + "type": "erc20", + "json": "assets/contracts/FT.json", + "address": "0xD833215cBcc3f914bD1C9ece3EE7BF8B14f841bb" + }, + { + "name": "BEUSDC", + "type": "erc20", + "json": "assets/contracts/FT.json", + "address": "0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7" + }, + { + "name": "BEUSDT", + "type": "erc20", + "json": "assets/contracts/FT.json", + "address": "0xe982E462b094850F12AF94d21D470e21bE9D0E9C" } ] \ No newline at end of file diff --git a/test/claimtoken.test.js b/test/claimtoken.test.js new file mode 100644 index 0000000..f07f8ad --- /dev/null +++ b/test/claimtoken.test.js @@ -0,0 +1,59 @@ +const ClaimToken = artifacts.require("ClaimToken"); +const FT = artifacts.require("FT"); +const { + BN, + constants, + expectEvent, + expectRevert, +} = require("@openzeppelin/test-helpers"); + + +contract("ClaimToken", (accounts) => { + let tokenClaimer; + let usdt; + const owner = accounts[0]; + const user = accounts[1]; + const executor = accounts[2]; + + + beforeEach(async () => { + usdt = await FT.new("USDT", "USDT", 0); + tokenClaimer = await ClaimToken.new(); + await tokenClaimer.updateTokenSupport(usdt.address, true); + await tokenClaimer.updateVerifier(executor); + await tokenClaimer.updatePaymentAddress(owner); + }); + + it("should cliam token", async () => { + await usdt.mint(owner, web3.utils.toWei("1000")); + await usdt.approve(tokenClaimer.address, web3.utils.toWei("1000"), { from: owner }); + const balanceOfOwner = await usdt.balanceOf(owner); + console.log('balanceOfOwner: ', balanceOfOwner.toString()) + const allowance = await usdt.allowance(owner, tokenClaimer.address); + console.log('allowance: ', allowance.toString()) + const token = usdt.address; + const amount = web3.utils.toWei("100"); + console.log(amount) + const chainId = await web3.eth.getChainId(); + console.log(chainId) + const address = tokenClaimer.address; + const startTime = Date.now() / 1000 | 0; + const saltNonce = (Math.random() * 1000) | 0; + let signStr = web3.utils.soliditySha3.apply(this, + [user, token, address, chainId, amount, startTime, saltNonce]); + let signature = await web3.eth.sign(signStr, executor); + signature = signature.replace(/00$/, "1b").replace(/01$/, "1c"); + + const receipt = await tokenClaimer.claim( + token, + amount, + startTime, + saltNonce, + signature, + { from: user } + ); + + const balanceOfUser = await usdt.balanceOf(user); + assert.equal(balanceOfUser, amount, "Incorrect user balance"); + }); +}); \ No newline at end of file