From 228833aed462ac4d0d792f239a6075e66c7205c9 Mon Sep 17 00:00:00 2001 From: zhl Date: Wed, 14 Jun 2023 15:59:33 +0800 Subject: [PATCH] update claim factory abi and address --- build/contracts/ClaimBoxFactory.json | 6242 +++++++++++++++--------- build/contracts/IClaimBox.json | 1266 ++--- contracts/activity/ClaimBoxFactory.sol | 18 +- migrations/8_deploy_claim_activity.js | 8 +- out_arbitrum_testnet_dev.json | 10 +- 5 files changed, 4504 insertions(+), 3040 deletions(-) diff --git a/build/contracts/ClaimBoxFactory.json b/build/contracts/ClaimBoxFactory.json index 5e1dea9..4db33b9 100644 --- a/build/contracts/ClaimBoxFactory.json +++ b/build/contracts/ClaimBoxFactory.json @@ -102,6 +102,25 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "claimHistory", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "executor", @@ -295,44 +314,44 @@ "type": "function" } ], - "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\":\"nftAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"BoxClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"addTokenSupport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"structHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"checkSigner712\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftAddress\",\"type\":\"address\"},{\"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\":[],\"name\":\"executor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"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\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"removeTokenSupport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"updateExecutor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateDuation(uint256)\":{\"details\":\"Change duration value\"},\"updateExecutor(address)\":{\"details\":\"update executor\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/activity/ClaimBoxFactory.sol\":\"ClaimBoxFactory\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x3c07f43e60e099b3b157243b3152722e73b80eeb7985c2cd73712828d7f7da29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://466ffb5a6e3bd65fffd996f9287ffd240ea21588a338c6efe143d94eaed014a7\",\"dweb:/ipfs/Qmans3vvPJZcvxe9KLAPc9Xwe4TFVTJdzaQGpi62Vrhoe2\"]},\"project:/contracts/activity/ClaimBoxFactory.sol\":{\"keccak256\":\"0xec299fce534ba96325c6cbc2a516d3f6ef60bc1d97a3b0ff76826050747c1237\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a81a52547bf9fd3cdfd4f80a7c81a8d5fdceb31cf25d84251d18ad6ae01a19f7\",\"dweb:/ipfs/QmcHnHaNWhX87F8htfwGvVXsCmsLpDYr99cv8CRAk5cC6D\"]},\"project:/contracts/core/HasSignature.sol\":{\"keccak256\":\"0x0c22f0ac8b7568d61d3bfb1241b4adb0340e42f6e720fe3f23ca050a9328ae7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd2ef5fe7ec94d525b184fc706542396f70e462bd86d59e00e985ade72769715\",\"dweb:/ipfs/QmQkuPkYzZfY1nvtQKSRvNbaPGM6pynmWFs5s3K82s7ESg\"]},\"project:/contracts/utils/TimeChecker.sol\":{\"keccak256\":\"0xfd7166019ec3429792765d067a6b839f5db481e8ca9e20f3b8cd2726dfa4f70c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3acefbcdab9b6a110549a7b65f9c4482d095752da13be92f6f82a750386082f5\",\"dweb:/ipfs/QmNTdCbDfNXhgvy2LTWQhKHcQaTPWZjzvX6fJ2P1UQWKZ2\"]}},\"version\":1}", - "bytecode": "0x6101406040523480156200001257600080fd5b506040518060400160405280600f81526020017f436c61696d426f78466163746f727900000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506200009f620000936200016160201b60201c565b6200016960201b60201c565b60008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250504660a08181525050620001088184846200022d60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505080610120818152505050505050506201518060038190555062000341565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600083838346306040516020016200024a959493929190620002e4565b6040516020818303038152906040528051906020012090509392505050565b6000819050919050565b6200027e8162000269565b82525050565b6000819050919050565b620002998162000284565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002cc826200029f565b9050919050565b620002de81620002bf565b82525050565b600060a082019050620002fb600083018862000273565b6200030a602083018762000273565b62000319604083018662000273565b6200032860608301856200028e565b620003376080830184620002d3565b9695505050505050565b60805160a05160c05160e05161010051610120516125166200039160003960006112b7015260006112f9015260006112d80152600061120d015260006112630152600061128c01526125166000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806374936c161161008c578063ad2e8c9b11610066578063ad2e8c9b1461021f578063aed71e561461023d578063c34c08e514610259578063f2fde38b14610277576100ea565b806374936c16146101c95780637f9d3096146101e55780638da5cb5b14610201576100ea565b80632ba8d939116100c85780632ba8d9391461016b5780636d04319414610187578063715018a6146101a3578063733c237d146101ad576100ea565b8063062143f0146100ef5780630b71a0b71461011f5780632ada8a321461014f575b600080fd5b6101096004803603810190610104919061156e565b610293565b60405161011691906115b6565b60405180910390f35b61013960048036038101906101349190611607565b6102b3565b6040516101469190611687565b60405180910390f35b61016960048036038101906101649190611707565b6102f1565b005b6101856004803603810190610180919061156e565b610684565b005b6101a1600480360381019061019c91906118fc565b61075b565b005b6101ab61089f565b005b6101c760048036038101906101c2919061156e565b610927565b005b6101e360048036038101906101de919061156e565b6109fe565b005b6101ff60048036038101906101fa919061196b565b610b2e565b005b610209610bb4565b60405161021691906119a7565b60405180910390f35b610227610bdd565b60405161023491906119d1565b60405180910390f35b610257600480360381019061025291906118fc565b610be7565b005b610261610ce7565b60405161026e91906119a7565b60405180910390f35b610291600480360381019061028c919061156e565b610d0d565b005b60056020528060005260406000206000915054906101000a900460ff1681565b600080858585856040516020016102cd9493929190611a55565b60405160208183030381529060405290508080519060200120915050949350505050565b818160018282604051610305929190611ad3565b908152602001604051809103902060009054906101000a900460ff1615610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035890611b95565b60405180910390fd5b8542600354826103719190611be4565b10156103b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a990611cac565b60405180910390fd5b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661043e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043590611d18565b60405180910390fd5b6000610448610e05565b905060008973ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040161048591906119a7565b602060405180830381865afa1580156104a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c69190611d4d565b14610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90611dec565b60405180910390fd5b6000610514828b8b8b6102b3565b9050610587600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168289898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061075b565b60008a73ffffffffffffffffffffffffffffffffffffffff16636a627842846040518263ffffffff1660e01b81526004016105c291906119a7565b6020604051808303816000875af11580156105e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106059190611d4d565b90506106118888610e0d565b888373ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f36e4fff1eedba3c9f90a364c975cf0fa6c53970d6da4b0d8f6b4019ec3d7101f8460405161066f91906119d1565b60405180910390a45050505050505050505050565b61068c610e05565b73ffffffffffffffffffffffffffffffffffffffff166106aa610bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611e58565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c290611ec4565b60405180910390fd5b604181511461080f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080690611f30565b60405180910390fd5b600061081a83610e7c565b905060006108288284610eac565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f90611f9c565b60405180910390fd5b5050505050565b6108a7610e05565b73ffffffffffffffffffffffffffffffffffffffff166108c5610bb4565b73ffffffffffffffffffffffffffffffffffffffff161461091b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091290611e58565b60405180910390fd5b6109256000610ed3565b565b61092f610e05565b73ffffffffffffffffffffffffffffffffffffffff1661094d610bb4565b73ffffffffffffffffffffffffffffffffffffffff16146109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099a90611e58565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a06610e05565b73ffffffffffffffffffffffffffffffffffffffff16610a24610bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190611e58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae19061202e565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610b36610e05565b73ffffffffffffffffffffffffffffffffffffffff16610b54610bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190611e58565b60405180910390fd5b8060038190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600354905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e90611ec4565b60405180910390fd5b6000610c6283610f97565b90506000610c708284610eac565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd790611f9c565b60405180910390fd5b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d15610e05565b73ffffffffffffffffffffffffffffffffffffffff16610d33610bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8090611e58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610df9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df0906120c0565b60405180910390fd5b610e0281610ed3565b50565b600033905090565b60018282604051610e1f929190611ad3565b908152602001604051809103902060009054906101000a900460ff16610e78576001808383604051610e52929190611ad3565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505b5050565b600081604051602001610e8f9190612158565b604051602081830303815290604052805190602001209050919050565b6000806000610ebb8585610fb1565b91509150610ec881611034565b819250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610faa610fa4611209565b83611323565b9050919050565b600080604183511415610ff35760008060006020860151925060408601519150606086015160001a9050610fe787828585611356565b9450945050505061102d565b604083511415611024576000806020850151915060408501519050611019868383611463565b93509350505061102d565b60006002915091505b9250929050565b600060048111156110485761104761217e565b5b81600481111561105b5761105a61217e565b5b141561106657611206565b6001600481111561107a5761107961217e565b5b81600481111561108d5761108c61217e565b5b14156110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c5906121f9565b60405180910390fd5b600260048111156110e2576110e161217e565b5b8160048111156110f5576110f461217e565b5b1415611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d90612265565b60405180910390fd5b6003600481111561114a5761114961217e565b5b81600481111561115d5761115c61217e565b5b141561119e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611195906122f7565b60405180910390fd5b6004808111156111b1576111b061217e565b5b8160048111156111c4576111c361217e565b5b1415611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90612389565b60405180910390fd5b5b50565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561128557507f000000000000000000000000000000000000000000000000000000000000000046145b156112b2577f00000000000000000000000000000000000000000000000000000000000000009050611320565b61131d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006114c2565b90505b90565b600082826040516020016113389291906123f5565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561139157600060039150915061145a565b601b8560ff16141580156113a95750601c8560ff1614155b156113bb57600060049150915061145a565b6000600187878787604051600081526020016040526040516113e09493929190612448565b6020604051602081039080840390855afa158015611402573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114515760006001925092505061145a565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6114a69190611be4565b90506114b487828885611356565b935093505050935093915050565b600083838346306040516020016114dd95949392919061248d565b6040516020818303038152906040528051906020012090509392505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061153b82611510565b9050919050565b61154b81611530565b811461155657600080fd5b50565b60008135905061156881611542565b92915050565b60006020828403121561158457611583611506565b5b600061159284828501611559565b91505092915050565b60008115159050919050565b6115b08161159b565b82525050565b60006020820190506115cb60008301846115a7565b92915050565b6000819050919050565b6115e4816115d1565b81146115ef57600080fd5b50565b600081359050611601816115db565b92915050565b6000806000806080858703121561162157611620611506565b5b600061162f87828801611559565b945050602061164087828801611559565b9350506040611651878288016115f2565b9250506060611662878288016115f2565b91505092959194509250565b6000819050919050565b6116818161166e565b82525050565b600060208201905061169c6000830184611678565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126116c7576116c66116a2565b5b8235905067ffffffffffffffff8111156116e4576116e36116a7565b5b602083019150836001820283011115611700576116ff6116ac565b5b9250929050565b60008060008060006080868803121561172357611722611506565b5b600061173188828901611559565b9550506020611742888289016115f2565b9450506040611753888289016115f2565b935050606086013567ffffffffffffffff8111156117745761177361150b565b5b611780888289016116b1565b92509250509295509295909350565b6117988161166e565b81146117a357600080fd5b50565b6000813590506117b58161178f565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611809826117c0565b810181811067ffffffffffffffff82111715611828576118276117d1565b5b80604052505050565b600061183b6114fc565b90506118478282611800565b919050565b600067ffffffffffffffff821115611867576118666117d1565b5b611870826117c0565b9050602081019050919050565b82818337600083830152505050565b600061189f61189a8461184c565b611831565b9050828152602081018484840111156118bb576118ba6117bb565b5b6118c684828561187d565b509392505050565b600082601f8301126118e3576118e26116a2565b5b81356118f384826020860161188c565b91505092915050565b60008060006060848603121561191557611914611506565b5b600061192386828701611559565b9350506020611934868287016117a6565b925050604084013567ffffffffffffffff8111156119555761195461150b565b5b611961868287016118ce565b9150509250925092565b60006020828403121561198157611980611506565b5b600061198f848285016115f2565b91505092915050565b6119a181611530565b82525050565b60006020820190506119bc6000830184611998565b92915050565b6119cb816115d1565b82525050565b60006020820190506119e660008301846119c2565b92915050565b60008160601b9050919050565b6000611a04826119ec565b9050919050565b6000611a16826119f9565b9050919050565b611a2e611a2982611530565b611a0b565b82525050565b6000819050919050565b611a4f611a4a826115d1565b611a34565b82525050565b6000611a618287611a1d565b601482019150611a718286611a1d565b601482019150611a818285611a3e565b602082019150611a918284611a3e565b60208201915081905095945050505050565b600081905092915050565b6000611aba8385611aa3565b9350611ac783858461187d565b82840190509392505050565b6000611ae0828486611aae565b91508190509392505050565b600082825260208201905092915050565b7f5b42455d207369676e617475726520757365642e20706c656173652073656e6460008201527f20616e6f74686572207472616e73616374696f6e2077697468206e657720736960208201527f676e617475726500000000000000000000000000000000000000000000000000604082015250565b6000611b7f604783611aec565b9150611b8a82611afd565b606082019050919050565b60006020820190508181036000830152611bae81611b72565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bef826115d1565b9150611bfa836115d1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c2f57611c2e611bb5565b5b828201905092915050565b7f657870697265642c20706c656173652073656e6420616e6f746865722074726160008201527f6e73616374696f6e2077697468206e6577207369676e61747572650000000000602082015250565b6000611c96603b83611aec565b9150611ca182611c3a565b604082019050919050565b60006020820190508181036000830152611cc581611c89565b9050919050565b7f436c61696d426f78466163746f72793a20756e737570706f72746564204e4654600082015250565b6000611d02602083611aec565b9150611d0d82611ccc565b602082019050919050565b60006020820190508181036000830152611d3181611cf5565b9050919050565b600081519050611d47816115db565b92915050565b600060208284031215611d6357611d62611506565b5b6000611d7184828501611d38565b91505092915050565b7f436c61696d426f78466163746f72793a20796f7520616c72656164792068617660008201527f65206120626f7800000000000000000000000000000000000000000000000000602082015250565b6000611dd6602783611aec565b9150611de182611d7a565b604082019050919050565b60006020820190508181036000830152611e0581611dc9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e42602083611aec565b9150611e4d82611e0c565b602082019050919050565b60006020820190508181036000830152611e7181611e35565b9050919050565b7f5b42455d20696e76616c6964207369676e657200000000000000000000000000600082015250565b6000611eae601383611aec565b9150611eb982611e78565b602082019050919050565b60006020820190508181036000830152611edd81611ea1565b9050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b6000611f1a601d83611aec565b9150611f2582611ee4565b602082019050919050565b60006020820190508181036000830152611f4981611f0d565b9050919050565b7f5b42455d20696e76616c6964207369676e617475726500000000000000000000600082015250565b6000611f86601683611aec565b9150611f9182611f50565b602082019050919050565b60006020820190508181036000830152611fb581611f79565b9050919050565b7f436c61696d426f78466163746f72793a20616464726573732063616e206e6f7460008201527f206265207a65726f000000000000000000000000000000000000000000000000602082015250565b6000612018602883611aec565b915061202382611fbc565b604082019050919050565b600060208201905081810360008301526120478161200b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120aa602683611aec565b91506120b58261204e565b604082019050919050565b600060208201905081810360008301526120d98161209d565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612121601c836120e0565b915061212c826120eb565b601c82019050919050565b6000819050919050565b61215261214d8261166e565b612137565b82525050565b600061216382612114565b915061216f8284612141565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006121e3601883611aec565b91506121ee826121ad565b602082019050919050565b60006020820190508181036000830152612212816121d6565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061224f601f83611aec565b915061225a82612219565b602082019050919050565b6000602082019050818103600083015261227e81612242565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006122e1602283611aec565b91506122ec82612285565b604082019050919050565b60006020820190508181036000830152612310816122d4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612373602283611aec565b915061237e82612317565b604082019050919050565b600060208201905081810360008301526123a281612366565b9050919050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006123df6002836120e0565b91506123ea826123a9565b600282019050919050565b6000612400826123d2565b915061240c8285612141565b60208201915061241c8284612141565b6020820191508190509392505050565b600060ff82169050919050565b6124428161242c565b82525050565b600060808201905061245d6000830187611678565b61246a6020830186612439565b6124776040830185611678565b6124846060830184611678565b95945050505050565b600060a0820190506124a26000830188611678565b6124af6020830187611678565b6124bc6040830186611678565b6124c960608301856119c2565b6124d66080830184611998565b969550505050505056fea2646970667358221220f2ab9ba6b1301d7ee6b1a668b92da00617b30ae728ce9a71cdc1c71bfdc2c52a64736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806374936c161161008c578063ad2e8c9b11610066578063ad2e8c9b1461021f578063aed71e561461023d578063c34c08e514610259578063f2fde38b14610277576100ea565b806374936c16146101c95780637f9d3096146101e55780638da5cb5b14610201576100ea565b80632ba8d939116100c85780632ba8d9391461016b5780636d04319414610187578063715018a6146101a3578063733c237d146101ad576100ea565b8063062143f0146100ef5780630b71a0b71461011f5780632ada8a321461014f575b600080fd5b6101096004803603810190610104919061156e565b610293565b60405161011691906115b6565b60405180910390f35b61013960048036038101906101349190611607565b6102b3565b6040516101469190611687565b60405180910390f35b61016960048036038101906101649190611707565b6102f1565b005b6101856004803603810190610180919061156e565b610684565b005b6101a1600480360381019061019c91906118fc565b61075b565b005b6101ab61089f565b005b6101c760048036038101906101c2919061156e565b610927565b005b6101e360048036038101906101de919061156e565b6109fe565b005b6101ff60048036038101906101fa919061196b565b610b2e565b005b610209610bb4565b60405161021691906119a7565b60405180910390f35b610227610bdd565b60405161023491906119d1565b60405180910390f35b610257600480360381019061025291906118fc565b610be7565b005b610261610ce7565b60405161026e91906119a7565b60405180910390f35b610291600480360381019061028c919061156e565b610d0d565b005b60056020528060005260406000206000915054906101000a900460ff1681565b600080858585856040516020016102cd9493929190611a55565b60405160208183030381529060405290508080519060200120915050949350505050565b818160018282604051610305929190611ad3565b908152602001604051809103902060009054906101000a900460ff1615610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035890611b95565b60405180910390fd5b8542600354826103719190611be4565b10156103b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a990611cac565b60405180910390fd5b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661043e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043590611d18565b60405180910390fd5b6000610448610e05565b905060008973ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040161048591906119a7565b602060405180830381865afa1580156104a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c69190611d4d565b14610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90611dec565b60405180910390fd5b6000610514828b8b8b6102b3565b9050610587600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168289898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061075b565b60008a73ffffffffffffffffffffffffffffffffffffffff16636a627842846040518263ffffffff1660e01b81526004016105c291906119a7565b6020604051808303816000875af11580156105e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106059190611d4d565b90506106118888610e0d565b888373ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f36e4fff1eedba3c9f90a364c975cf0fa6c53970d6da4b0d8f6b4019ec3d7101f8460405161066f91906119d1565b60405180910390a45050505050505050505050565b61068c610e05565b73ffffffffffffffffffffffffffffffffffffffff166106aa610bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611e58565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c290611ec4565b60405180910390fd5b604181511461080f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080690611f30565b60405180910390fd5b600061081a83610e7c565b905060006108288284610eac565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f90611f9c565b60405180910390fd5b5050505050565b6108a7610e05565b73ffffffffffffffffffffffffffffffffffffffff166108c5610bb4565b73ffffffffffffffffffffffffffffffffffffffff161461091b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091290611e58565b60405180910390fd5b6109256000610ed3565b565b61092f610e05565b73ffffffffffffffffffffffffffffffffffffffff1661094d610bb4565b73ffffffffffffffffffffffffffffffffffffffff16146109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099a90611e58565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a06610e05565b73ffffffffffffffffffffffffffffffffffffffff16610a24610bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190611e58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae19061202e565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610b36610e05565b73ffffffffffffffffffffffffffffffffffffffff16610b54610bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190611e58565b60405180910390fd5b8060038190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600354905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e90611ec4565b60405180910390fd5b6000610c6283610f97565b90506000610c708284610eac565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd790611f9c565b60405180910390fd5b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d15610e05565b73ffffffffffffffffffffffffffffffffffffffff16610d33610bb4565b73ffffffffffffffffffffffffffffffffffffffff1614610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8090611e58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610df9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df0906120c0565b60405180910390fd5b610e0281610ed3565b50565b600033905090565b60018282604051610e1f929190611ad3565b908152602001604051809103902060009054906101000a900460ff16610e78576001808383604051610e52929190611ad3565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505b5050565b600081604051602001610e8f9190612158565b604051602081830303815290604052805190602001209050919050565b6000806000610ebb8585610fb1565b91509150610ec881611034565b819250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610faa610fa4611209565b83611323565b9050919050565b600080604183511415610ff35760008060006020860151925060408601519150606086015160001a9050610fe787828585611356565b9450945050505061102d565b604083511415611024576000806020850151915060408501519050611019868383611463565b93509350505061102d565b60006002915091505b9250929050565b600060048111156110485761104761217e565b5b81600481111561105b5761105a61217e565b5b141561106657611206565b6001600481111561107a5761107961217e565b5b81600481111561108d5761108c61217e565b5b14156110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c5906121f9565b60405180910390fd5b600260048111156110e2576110e161217e565b5b8160048111156110f5576110f461217e565b5b1415611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d90612265565b60405180910390fd5b6003600481111561114a5761114961217e565b5b81600481111561115d5761115c61217e565b5b141561119e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611195906122f7565b60405180910390fd5b6004808111156111b1576111b061217e565b5b8160048111156111c4576111c361217e565b5b1415611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90612389565b60405180910390fd5b5b50565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561128557507f000000000000000000000000000000000000000000000000000000000000000046145b156112b2577f00000000000000000000000000000000000000000000000000000000000000009050611320565b61131d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006114c2565b90505b90565b600082826040516020016113389291906123f5565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561139157600060039150915061145a565b601b8560ff16141580156113a95750601c8560ff1614155b156113bb57600060049150915061145a565b6000600187878787604051600081526020016040526040516113e09493929190612448565b6020604051602081039080840390855afa158015611402573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114515760006001925092505061145a565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6114a69190611be4565b90506114b487828885611356565b935093505050935093915050565b600083838346306040516020016114dd95949392919061248d565b6040516020818303038152906040528051906020012090509392505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061153b82611510565b9050919050565b61154b81611530565b811461155657600080fd5b50565b60008135905061156881611542565b92915050565b60006020828403121561158457611583611506565b5b600061159284828501611559565b91505092915050565b60008115159050919050565b6115b08161159b565b82525050565b60006020820190506115cb60008301846115a7565b92915050565b6000819050919050565b6115e4816115d1565b81146115ef57600080fd5b50565b600081359050611601816115db565b92915050565b6000806000806080858703121561162157611620611506565b5b600061162f87828801611559565b945050602061164087828801611559565b9350506040611651878288016115f2565b9250506060611662878288016115f2565b91505092959194509250565b6000819050919050565b6116818161166e565b82525050565b600060208201905061169c6000830184611678565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126116c7576116c66116a2565b5b8235905067ffffffffffffffff8111156116e4576116e36116a7565b5b602083019150836001820283011115611700576116ff6116ac565b5b9250929050565b60008060008060006080868803121561172357611722611506565b5b600061173188828901611559565b9550506020611742888289016115f2565b9450506040611753888289016115f2565b935050606086013567ffffffffffffffff8111156117745761177361150b565b5b611780888289016116b1565b92509250509295509295909350565b6117988161166e565b81146117a357600080fd5b50565b6000813590506117b58161178f565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611809826117c0565b810181811067ffffffffffffffff82111715611828576118276117d1565b5b80604052505050565b600061183b6114fc565b90506118478282611800565b919050565b600067ffffffffffffffff821115611867576118666117d1565b5b611870826117c0565b9050602081019050919050565b82818337600083830152505050565b600061189f61189a8461184c565b611831565b9050828152602081018484840111156118bb576118ba6117bb565b5b6118c684828561187d565b509392505050565b600082601f8301126118e3576118e26116a2565b5b81356118f384826020860161188c565b91505092915050565b60008060006060848603121561191557611914611506565b5b600061192386828701611559565b9350506020611934868287016117a6565b925050604084013567ffffffffffffffff8111156119555761195461150b565b5b611961868287016118ce565b9150509250925092565b60006020828403121561198157611980611506565b5b600061198f848285016115f2565b91505092915050565b6119a181611530565b82525050565b60006020820190506119bc6000830184611998565b92915050565b6119cb816115d1565b82525050565b60006020820190506119e660008301846119c2565b92915050565b60008160601b9050919050565b6000611a04826119ec565b9050919050565b6000611a16826119f9565b9050919050565b611a2e611a2982611530565b611a0b565b82525050565b6000819050919050565b611a4f611a4a826115d1565b611a34565b82525050565b6000611a618287611a1d565b601482019150611a718286611a1d565b601482019150611a818285611a3e565b602082019150611a918284611a3e565b60208201915081905095945050505050565b600081905092915050565b6000611aba8385611aa3565b9350611ac783858461187d565b82840190509392505050565b6000611ae0828486611aae565b91508190509392505050565b600082825260208201905092915050565b7f5b42455d207369676e617475726520757365642e20706c656173652073656e6460008201527f20616e6f74686572207472616e73616374696f6e2077697468206e657720736960208201527f676e617475726500000000000000000000000000000000000000000000000000604082015250565b6000611b7f604783611aec565b9150611b8a82611afd565b606082019050919050565b60006020820190508181036000830152611bae81611b72565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bef826115d1565b9150611bfa836115d1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c2f57611c2e611bb5565b5b828201905092915050565b7f657870697265642c20706c656173652073656e6420616e6f746865722074726160008201527f6e73616374696f6e2077697468206e6577207369676e61747572650000000000602082015250565b6000611c96603b83611aec565b9150611ca182611c3a565b604082019050919050565b60006020820190508181036000830152611cc581611c89565b9050919050565b7f436c61696d426f78466163746f72793a20756e737570706f72746564204e4654600082015250565b6000611d02602083611aec565b9150611d0d82611ccc565b602082019050919050565b60006020820190508181036000830152611d3181611cf5565b9050919050565b600081519050611d47816115db565b92915050565b600060208284031215611d6357611d62611506565b5b6000611d7184828501611d38565b91505092915050565b7f436c61696d426f78466163746f72793a20796f7520616c72656164792068617660008201527f65206120626f7800000000000000000000000000000000000000000000000000602082015250565b6000611dd6602783611aec565b9150611de182611d7a565b604082019050919050565b60006020820190508181036000830152611e0581611dc9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e42602083611aec565b9150611e4d82611e0c565b602082019050919050565b60006020820190508181036000830152611e7181611e35565b9050919050565b7f5b42455d20696e76616c6964207369676e657200000000000000000000000000600082015250565b6000611eae601383611aec565b9150611eb982611e78565b602082019050919050565b60006020820190508181036000830152611edd81611ea1565b9050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b6000611f1a601d83611aec565b9150611f2582611ee4565b602082019050919050565b60006020820190508181036000830152611f4981611f0d565b9050919050565b7f5b42455d20696e76616c6964207369676e617475726500000000000000000000600082015250565b6000611f86601683611aec565b9150611f9182611f50565b602082019050919050565b60006020820190508181036000830152611fb581611f79565b9050919050565b7f436c61696d426f78466163746f72793a20616464726573732063616e206e6f7460008201527f206265207a65726f000000000000000000000000000000000000000000000000602082015250565b6000612018602883611aec565b915061202382611fbc565b604082019050919050565b600060208201905081810360008301526120478161200b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120aa602683611aec565b91506120b58261204e565b604082019050919050565b600060208201905081810360008301526120d98161209d565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612121601c836120e0565b915061212c826120eb565b601c82019050919050565b6000819050919050565b61215261214d8261166e565b612137565b82525050565b600061216382612114565b915061216f8284612141565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006121e3601883611aec565b91506121ee826121ad565b602082019050919050565b60006020820190508181036000830152612212816121d6565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061224f601f83611aec565b915061225a82612219565b602082019050919050565b6000602082019050818103600083015261227e81612242565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006122e1602283611aec565b91506122ec82612285565b604082019050919050565b60006020820190508181036000830152612310816122d4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612373602283611aec565b915061237e82612317565b604082019050919050565b600060208201905081810360008301526123a281612366565b9050919050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006123df6002836120e0565b91506123ea826123a9565b600282019050919050565b6000612400826123d2565b915061240c8285612141565b60208201915061241c8284612141565b6020820191508190509392505050565b600060ff82169050919050565b6124428161242c565b82525050565b600060808201905061245d6000830187611678565b61246a6020830186612439565b6124776040830185611678565b6124846060830184611678565b95945050505050565b600060a0820190506124a26000830188611678565b6124af6020830187611678565b6124bc6040830186611678565b6124c960608301856119c2565b6124d66080830184611998565b969550505050505056fea2646970667358221220f2ab9ba6b1301d7ee6b1a668b92da00617b30ae728ce9a71cdc1c71bfdc2c52a64736f6c634300080a0033", + "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\":\"nftAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"BoxClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"addTokenSupport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"structHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"checkSigner712\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftAddress\",\"type\":\"address\"},{\"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\":\"executor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"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\":[{\"internalType\":\"address\",\"name\":\"nftToken\",\"type\":\"address\"}],\"name\":\"removeTokenSupport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"updateExecutor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateDuation(uint256)\":{\"details\":\"Change duration value\"},\"updateExecutor(address)\":{\"details\":\"update executor\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/activity/ClaimBoxFactory.sol\":\"ClaimBoxFactory\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x3c07f43e60e099b3b157243b3152722e73b80eeb7985c2cd73712828d7f7da29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://466ffb5a6e3bd65fffd996f9287ffd240ea21588a338c6efe143d94eaed014a7\",\"dweb:/ipfs/Qmans3vvPJZcvxe9KLAPc9Xwe4TFVTJdzaQGpi62Vrhoe2\"]},\"project:/contracts/activity/ClaimBoxFactory.sol\":{\"keccak256\":\"0x092e84b00b4a6f6a2bb42e4835f9aab1b74432e4ae4031ace6877c1bb53eef1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c9cb938bdb732b52894fa7d587c6a47ac150aa1ebcc1be2c5f354c7302f181f\",\"dweb:/ipfs/QmZZRso5SWFVZgKHFvXivWWcMQSi5bEcHWnFKbQgAYDjKb\"]},\"project:/contracts/core/HasSignature.sol\":{\"keccak256\":\"0x0c22f0ac8b7568d61d3bfb1241b4adb0340e42f6e720fe3f23ca050a9328ae7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd2ef5fe7ec94d525b184fc706542396f70e462bd86d59e00e985ade72769715\",\"dweb:/ipfs/QmQkuPkYzZfY1nvtQKSRvNbaPGM6pynmWFs5s3K82s7ESg\"]},\"project:/contracts/utils/TimeChecker.sol\":{\"keccak256\":\"0xfd7166019ec3429792765d067a6b839f5db481e8ca9e20f3b8cd2726dfa4f70c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3acefbcdab9b6a110549a7b65f9c4482d095752da13be92f6f82a750386082f5\",\"dweb:/ipfs/QmNTdCbDfNXhgvy2LTWQhKHcQaTPWZjzvX6fJ2P1UQWKZ2\"]}},\"version\":1}", + "bytecode": "0x6101406040523480156200001257600080fd5b506040518060400160405280600f81526020017f436c61696d426f78466163746f727900000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506200009f620000936200016160201b60201c565b6200016960201b60201c565b60008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250504660a08181525050620001088184846200022d60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505080610120818152505050505050506201518060038190555062000341565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600083838346306040516020016200024a959493929190620002e4565b6040516020818303038152906040528051906020012090509392505050565b6000819050919050565b6200027e8162000269565b82525050565b6000819050919050565b620002998162000284565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002cc826200029f565b9050919050565b620002de81620002bf565b82525050565b600060a082019050620002fb600083018862000273565b6200030a602083018762000273565b62000319604083018662000273565b6200032860608301856200028e565b620003376080830184620002d3565b9695505050505050565b60805160a05160c05160e05161010051610120516127086200039160003960006113530152600061139501526000611374015260006112a9015260006112ff0152600061132801526127086000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063733c237d11610097578063ad2e8c9b11610066578063ad2e8c9b1461025a578063aed71e5614610278578063c34c08e514610294578063f2fde38b146102b2576100f5565b8063733c237d146101e857806374936c16146102045780637f9d3096146102205780638da5cb5b1461023c576100f5565b80632ba8d939116100d35780632ba8d93914610176578063425a69cc146101925780636d043194146101c2578063715018a6146101de576100f5565b8063062143f0146100fa5780630b71a0b71461012a5780632ada8a321461015a575b600080fd5b610114600480360381019061010f919061160a565b6102ce565b6040516101219190611652565b60405180910390f35b610144600480360381019061013f91906116a3565b6102ee565b6040516101519190611723565b60405180910390f35b610174600480360381019061016f91906117a3565b61032c565b005b610190600480360381019061018b919061160a565b610708565b005b6101ac60048036038101906101a7919061160a565b6107df565b6040516101b9919061183a565b60405180910390f35b6101dc60048036038101906101d791906119c2565b6107f7565b005b6101e661093b565b005b61020260048036038101906101fd919061160a565b6109c3565b005b61021e6004803603810190610219919061160a565b610a9a565b005b61023a60048036038101906102359190611a31565b610bca565b005b610244610c50565b6040516102519190611a6d565b60405180910390f35b610262610c79565b60405161026f919061183a565b60405180910390f35b610292600480360381019061028d91906119c2565b610c83565b005b61029c610d83565b6040516102a99190611a6d565b60405180910390f35b6102cc60048036038101906102c7919061160a565b610da9565b005b60056020528060005260406000206000915054906101000a900460ff1681565b600080858585856040516020016103089493929190611af1565b60405160208183030381529060405290508080519060200120915050949350505050565b818160018282604051610340929190611b6f565b908152602001604051809103902060009054906101000a900460ff161561039c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039390611c31565b60405180910390fd5b8542600354826103ac9190611c80565b10156103ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e490611d48565b60405180910390fd5b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047090611db4565b60405180910390fd5b6000610483610ea1565b90506000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ff90611e20565b60405180910390fd5b6000610516828b8b8b6102ee565b9050610589600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168289898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506107f7565b60008a73ffffffffffffffffffffffffffffffffffffffff166343508b058460016040518363ffffffff1660e01b81526004016105c7929190611e85565b6000604051808303816000875af11580156105e6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061060f9190611f86565b90508060008151811061062557610624611fcf565b5b6020026020010151600660008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061067a8888610ea9565b888373ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f36e4fff1eedba3c9f90a364c975cf0fa6c53970d6da4b0d8f6b4019ec3d7101f846000815181106106de576106dd611fcf565b5b60200260200101516040516106f3919061183a565b60405180910390a45050505050505050505050565b610710610ea1565b73ffffffffffffffffffffffffffffffffffffffff1661072e610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077b9061204a565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60066020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e906120b6565b60405180910390fd5b60418151146108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a290612122565b60405180910390fd5b60006108b683610f18565b905060006108c48284610f48565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b9061218e565b60405180910390fd5b5050505050565b610943610ea1565b73ffffffffffffffffffffffffffffffffffffffff16610961610c50565b73ffffffffffffffffffffffffffffffffffffffff16146109b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ae9061204a565b60405180910390fd5b6109c16000610f6f565b565b6109cb610ea1565b73ffffffffffffffffffffffffffffffffffffffff166109e9610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a369061204a565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610aa2610ea1565b73ffffffffffffffffffffffffffffffffffffffff16610ac0610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d9061204a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7d90612220565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610bd2610ea1565b73ffffffffffffffffffffffffffffffffffffffff16610bf0610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3d9061204a565b60405180910390fd5b8060038190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600354905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cea906120b6565b60405180910390fd5b6000610cfe83611033565b90506000610d0c8284610f48565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d739061218e565b60405180910390fd5b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610db1610ea1565b73ffffffffffffffffffffffffffffffffffffffff16610dcf610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1c9061204a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c906122b2565b60405180910390fd5b610e9e81610f6f565b50565b600033905090565b60018282604051610ebb929190611b6f565b908152602001604051809103902060009054906101000a900460ff16610f14576001808383604051610eee929190611b6f565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505b5050565b600081604051602001610f2b919061234a565b604051602081830303815290604052805190602001209050919050565b6000806000610f57858561104d565b91509150610f64816110d0565b819250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006110466110406112a5565b836113bf565b9050919050565b60008060418351141561108f5760008060006020860151925060408601519150606086015160001a9050611083878285856113f2565b945094505050506110c9565b6040835114156110c05760008060208501519150604085015190506110b58683836114ff565b9350935050506110c9565b60006002915091505b9250929050565b600060048111156110e4576110e3612370565b5b8160048111156110f7576110f6612370565b5b1415611102576112a2565b6001600481111561111657611115612370565b5b81600481111561112957611128612370565b5b141561116a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611161906123eb565b60405180910390fd5b6002600481111561117e5761117d612370565b5b81600481111561119157611190612370565b5b14156111d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c990612457565b60405180910390fd5b600360048111156111e6576111e5612370565b5b8160048111156111f9576111f8612370565b5b141561123a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611231906124e9565b60405180910390fd5b60048081111561124d5761124c612370565b5b8160048111156112605761125f612370565b5b14156112a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112989061257b565b60405180910390fd5b5b50565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561132157507f000000000000000000000000000000000000000000000000000000000000000046145b1561134e577f000000000000000000000000000000000000000000000000000000000000000090506113bc565b6113b97f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061155e565b90505b90565b600082826040516020016113d49291906125e7565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561142d5760006003915091506114f6565b601b8560ff16141580156114455750601c8560ff1614155b156114575760006004915091506114f6565b60006001878787876040516000815260200160405260405161147c949392919061263a565b6020604051602081039080840390855afa15801561149e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ed576000600192509250506114f6565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6115429190611c80565b9050611550878288856113f2565b935093505050935093915050565b6000838383463060405160200161157995949392919061267f565b6040516020818303038152906040528051906020012090509392505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115d7826115ac565b9050919050565b6115e7816115cc565b81146115f257600080fd5b50565b600081359050611604816115de565b92915050565b6000602082840312156116205761161f6115a2565b5b600061162e848285016115f5565b91505092915050565b60008115159050919050565b61164c81611637565b82525050565b60006020820190506116676000830184611643565b92915050565b6000819050919050565b6116808161166d565b811461168b57600080fd5b50565b60008135905061169d81611677565b92915050565b600080600080608085870312156116bd576116bc6115a2565b5b60006116cb878288016115f5565b94505060206116dc878288016115f5565b93505060406116ed8782880161168e565b92505060606116fe8782880161168e565b91505092959194509250565b6000819050919050565b61171d8161170a565b82525050565b60006020820190506117386000830184611714565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126117635761176261173e565b5b8235905067ffffffffffffffff8111156117805761177f611743565b5b60208301915083600182028301111561179c5761179b611748565b5b9250929050565b6000806000806000608086880312156117bf576117be6115a2565b5b60006117cd888289016115f5565b95505060206117de8882890161168e565b94505060406117ef8882890161168e565b935050606086013567ffffffffffffffff8111156118105761180f6115a7565b5b61181c8882890161174d565b92509250509295509295909350565b6118348161166d565b82525050565b600060208201905061184f600083018461182b565b92915050565b61185e8161170a565b811461186957600080fd5b50565b60008135905061187b81611855565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6118cf82611886565b810181811067ffffffffffffffff821117156118ee576118ed611897565b5b80604052505050565b6000611901611598565b905061190d82826118c6565b919050565b600067ffffffffffffffff82111561192d5761192c611897565b5b61193682611886565b9050602081019050919050565b82818337600083830152505050565b600061196561196084611912565b6118f7565b90508281526020810184848401111561198157611980611881565b5b61198c848285611943565b509392505050565b600082601f8301126119a9576119a861173e565b5b81356119b9848260208601611952565b91505092915050565b6000806000606084860312156119db576119da6115a2565b5b60006119e9868287016115f5565b93505060206119fa8682870161186c565b925050604084013567ffffffffffffffff811115611a1b57611a1a6115a7565b5b611a2786828701611994565b9150509250925092565b600060208284031215611a4757611a466115a2565b5b6000611a558482850161168e565b91505092915050565b611a67816115cc565b82525050565b6000602082019050611a826000830184611a5e565b92915050565b60008160601b9050919050565b6000611aa082611a88565b9050919050565b6000611ab282611a95565b9050919050565b611aca611ac5826115cc565b611aa7565b82525050565b6000819050919050565b611aeb611ae68261166d565b611ad0565b82525050565b6000611afd8287611ab9565b601482019150611b0d8286611ab9565b601482019150611b1d8285611ada565b602082019150611b2d8284611ada565b60208201915081905095945050505050565b600081905092915050565b6000611b568385611b3f565b9350611b63838584611943565b82840190509392505050565b6000611b7c828486611b4a565b91508190509392505050565b600082825260208201905092915050565b7f5b42455d207369676e617475726520757365642e20706c656173652073656e6460008201527f20616e6f74686572207472616e73616374696f6e2077697468206e657720736960208201527f676e617475726500000000000000000000000000000000000000000000000000604082015250565b6000611c1b604783611b88565b9150611c2682611b99565b606082019050919050565b60006020820190508181036000830152611c4a81611c0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c8b8261166d565b9150611c968361166d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611ccb57611cca611c51565b5b828201905092915050565b7f657870697265642c20706c656173652073656e6420616e6f746865722074726160008201527f6e73616374696f6e2077697468206e6577207369676e61747572650000000000602082015250565b6000611d32603b83611b88565b9150611d3d82611cd6565b604082019050919050565b60006020820190508181036000830152611d6181611d25565b9050919050565b7f436c61696d426f78466163746f72793a20756e737570706f72746564204e4654600082015250565b6000611d9e602083611b88565b9150611da982611d68565b602082019050919050565b60006020820190508181036000830152611dcd81611d91565b9050919050565b7f436c61696d426f78466163746f72793a20636c61696d65640000000000000000600082015250565b6000611e0a601883611b88565b9150611e1582611dd4565b602082019050919050565b60006020820190508181036000830152611e3981611dfd565b9050919050565b6000819050919050565b6000819050919050565b6000611e6f611e6a611e6584611e40565b611e4a565b61166d565b9050919050565b611e7f81611e54565b82525050565b6000604082019050611e9a6000830185611a5e565b611ea76020830184611e76565b9392505050565b600067ffffffffffffffff821115611ec957611ec8611897565b5b602082029050602081019050919050565b600081519050611ee981611677565b92915050565b6000611f02611efd84611eae565b6118f7565b90508083825260208201905060208402830185811115611f2557611f24611748565b5b835b81811015611f4e5780611f3a8882611eda565b845260208401935050602081019050611f27565b5050509392505050565b600082601f830112611f6d57611f6c61173e565b5b8151611f7d848260208601611eef565b91505092915050565b600060208284031215611f9c57611f9b6115a2565b5b600082015167ffffffffffffffff811115611fba57611fb96115a7565b5b611fc684828501611f58565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612034602083611b88565b915061203f82611ffe565b602082019050919050565b6000602082019050818103600083015261206381612027565b9050919050565b7f5b42455d20696e76616c6964207369676e657200000000000000000000000000600082015250565b60006120a0601383611b88565b91506120ab8261206a565b602082019050919050565b600060208201905081810360008301526120cf81612093565b9050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b600061210c601d83611b88565b9150612117826120d6565b602082019050919050565b6000602082019050818103600083015261213b816120ff565b9050919050565b7f5b42455d20696e76616c6964207369676e617475726500000000000000000000600082015250565b6000612178601683611b88565b915061218382612142565b602082019050919050565b600060208201905081810360008301526121a78161216b565b9050919050565b7f436c61696d426f78466163746f72793a20616464726573732063616e206e6f7460008201527f206265207a65726f000000000000000000000000000000000000000000000000602082015250565b600061220a602883611b88565b9150612215826121ae565b604082019050919050565b60006020820190508181036000830152612239816121fd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061229c602683611b88565b91506122a782612240565b604082019050919050565b600060208201905081810360008301526122cb8161228f565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612313601c836122d2565b915061231e826122dd565b601c82019050919050565b6000819050919050565b61234461233f8261170a565b612329565b82525050565b600061235582612306565b91506123618284612333565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006123d5601883611b88565b91506123e08261239f565b602082019050919050565b60006020820190508181036000830152612404816123c8565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000612441601f83611b88565b915061244c8261240b565b602082019050919050565b6000602082019050818103600083015261247081612434565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006124d3602283611b88565b91506124de82612477565b604082019050919050565b60006020820190508181036000830152612502816124c6565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612565602283611b88565b915061257082612509565b604082019050919050565b6000602082019050818103600083015261259481612558565b9050919050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006125d16002836122d2565b91506125dc8261259b565b600282019050919050565b60006125f2826125c4565b91506125fe8285612333565b60208201915061260e8284612333565b6020820191508190509392505050565b600060ff82169050919050565b6126348161261e565b82525050565b600060808201905061264f6000830187611714565b61265c602083018661262b565b6126696040830185611714565b6126766060830184611714565b95945050505050565b600060a0820190506126946000830188611714565b6126a16020830187611714565b6126ae6040830186611714565b6126bb606083018561182b565b6126c86080830184611a5e565b969550505050505056fea264697066735822122055990fd0d5851894ee98acd6ed69612aba44fcecf2c575e3faeb9dde470a645964736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063733c237d11610097578063ad2e8c9b11610066578063ad2e8c9b1461025a578063aed71e5614610278578063c34c08e514610294578063f2fde38b146102b2576100f5565b8063733c237d146101e857806374936c16146102045780637f9d3096146102205780638da5cb5b1461023c576100f5565b80632ba8d939116100d35780632ba8d93914610176578063425a69cc146101925780636d043194146101c2578063715018a6146101de576100f5565b8063062143f0146100fa5780630b71a0b71461012a5780632ada8a321461015a575b600080fd5b610114600480360381019061010f919061160a565b6102ce565b6040516101219190611652565b60405180910390f35b610144600480360381019061013f91906116a3565b6102ee565b6040516101519190611723565b60405180910390f35b610174600480360381019061016f91906117a3565b61032c565b005b610190600480360381019061018b919061160a565b610708565b005b6101ac60048036038101906101a7919061160a565b6107df565b6040516101b9919061183a565b60405180910390f35b6101dc60048036038101906101d791906119c2565b6107f7565b005b6101e661093b565b005b61020260048036038101906101fd919061160a565b6109c3565b005b61021e6004803603810190610219919061160a565b610a9a565b005b61023a60048036038101906102359190611a31565b610bca565b005b610244610c50565b6040516102519190611a6d565b60405180910390f35b610262610c79565b60405161026f919061183a565b60405180910390f35b610292600480360381019061028d91906119c2565b610c83565b005b61029c610d83565b6040516102a99190611a6d565b60405180910390f35b6102cc60048036038101906102c7919061160a565b610da9565b005b60056020528060005260406000206000915054906101000a900460ff1681565b600080858585856040516020016103089493929190611af1565b60405160208183030381529060405290508080519060200120915050949350505050565b818160018282604051610340929190611b6f565b908152602001604051809103902060009054906101000a900460ff161561039c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039390611c31565b60405180910390fd5b8542600354826103ac9190611c80565b10156103ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e490611d48565b60405180910390fd5b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047090611db4565b60405180910390fd5b6000610483610ea1565b90506000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ff90611e20565b60405180910390fd5b6000610516828b8b8b6102ee565b9050610589600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168289898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506107f7565b60008a73ffffffffffffffffffffffffffffffffffffffff166343508b058460016040518363ffffffff1660e01b81526004016105c7929190611e85565b6000604051808303816000875af11580156105e6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061060f9190611f86565b90508060008151811061062557610624611fcf565b5b6020026020010151600660008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061067a8888610ea9565b888373ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f36e4fff1eedba3c9f90a364c975cf0fa6c53970d6da4b0d8f6b4019ec3d7101f846000815181106106de576106dd611fcf565b5b60200260200101516040516106f3919061183a565b60405180910390a45050505050505050505050565b610710610ea1565b73ffffffffffffffffffffffffffffffffffffffff1661072e610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077b9061204a565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60066020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e906120b6565b60405180910390fd5b60418151146108ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a290612122565b60405180910390fd5b60006108b683610f18565b905060006108c48284610f48565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b9061218e565b60405180910390fd5b5050505050565b610943610ea1565b73ffffffffffffffffffffffffffffffffffffffff16610961610c50565b73ffffffffffffffffffffffffffffffffffffffff16146109b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ae9061204a565b60405180910390fd5b6109c16000610f6f565b565b6109cb610ea1565b73ffffffffffffffffffffffffffffffffffffffff166109e9610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a369061204a565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610aa2610ea1565b73ffffffffffffffffffffffffffffffffffffffff16610ac0610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d9061204a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7d90612220565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610bd2610ea1565b73ffffffffffffffffffffffffffffffffffffffff16610bf0610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3d9061204a565b60405180910390fd5b8060038190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600354905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cea906120b6565b60405180910390fd5b6000610cfe83611033565b90506000610d0c8284610f48565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d739061218e565b60405180910390fd5b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610db1610ea1565b73ffffffffffffffffffffffffffffffffffffffff16610dcf610c50565b73ffffffffffffffffffffffffffffffffffffffff1614610e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1c9061204a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c906122b2565b60405180910390fd5b610e9e81610f6f565b50565b600033905090565b60018282604051610ebb929190611b6f565b908152602001604051809103902060009054906101000a900460ff16610f14576001808383604051610eee929190611b6f565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505b5050565b600081604051602001610f2b919061234a565b604051602081830303815290604052805190602001209050919050565b6000806000610f57858561104d565b91509150610f64816110d0565b819250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006110466110406112a5565b836113bf565b9050919050565b60008060418351141561108f5760008060006020860151925060408601519150606086015160001a9050611083878285856113f2565b945094505050506110c9565b6040835114156110c05760008060208501519150604085015190506110b58683836114ff565b9350935050506110c9565b60006002915091505b9250929050565b600060048111156110e4576110e3612370565b5b8160048111156110f7576110f6612370565b5b1415611102576112a2565b6001600481111561111657611115612370565b5b81600481111561112957611128612370565b5b141561116a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611161906123eb565b60405180910390fd5b6002600481111561117e5761117d612370565b5b81600481111561119157611190612370565b5b14156111d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c990612457565b60405180910390fd5b600360048111156111e6576111e5612370565b5b8160048111156111f9576111f8612370565b5b141561123a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611231906124e9565b60405180910390fd5b60048081111561124d5761124c612370565b5b8160048111156112605761125f612370565b5b14156112a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112989061257b565b60405180910390fd5b5b50565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561132157507f000000000000000000000000000000000000000000000000000000000000000046145b1561134e577f000000000000000000000000000000000000000000000000000000000000000090506113bc565b6113b97f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061155e565b90505b90565b600082826040516020016113d49291906125e7565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561142d5760006003915091506114f6565b601b8560ff16141580156114455750601c8560ff1614155b156114575760006004915091506114f6565b60006001878787876040516000815260200160405260405161147c949392919061263a565b6020604051602081039080840390855afa15801561149e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ed576000600192509250506114f6565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6115429190611c80565b9050611550878288856113f2565b935093505050935093915050565b6000838383463060405160200161157995949392919061267f565b6040516020818303038152906040528051906020012090509392505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115d7826115ac565b9050919050565b6115e7816115cc565b81146115f257600080fd5b50565b600081359050611604816115de565b92915050565b6000602082840312156116205761161f6115a2565b5b600061162e848285016115f5565b91505092915050565b60008115159050919050565b61164c81611637565b82525050565b60006020820190506116676000830184611643565b92915050565b6000819050919050565b6116808161166d565b811461168b57600080fd5b50565b60008135905061169d81611677565b92915050565b600080600080608085870312156116bd576116bc6115a2565b5b60006116cb878288016115f5565b94505060206116dc878288016115f5565b93505060406116ed8782880161168e565b92505060606116fe8782880161168e565b91505092959194509250565b6000819050919050565b61171d8161170a565b82525050565b60006020820190506117386000830184611714565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126117635761176261173e565b5b8235905067ffffffffffffffff8111156117805761177f611743565b5b60208301915083600182028301111561179c5761179b611748565b5b9250929050565b6000806000806000608086880312156117bf576117be6115a2565b5b60006117cd888289016115f5565b95505060206117de8882890161168e565b94505060406117ef8882890161168e565b935050606086013567ffffffffffffffff8111156118105761180f6115a7565b5b61181c8882890161174d565b92509250509295509295909350565b6118348161166d565b82525050565b600060208201905061184f600083018461182b565b92915050565b61185e8161170a565b811461186957600080fd5b50565b60008135905061187b81611855565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6118cf82611886565b810181811067ffffffffffffffff821117156118ee576118ed611897565b5b80604052505050565b6000611901611598565b905061190d82826118c6565b919050565b600067ffffffffffffffff82111561192d5761192c611897565b5b61193682611886565b9050602081019050919050565b82818337600083830152505050565b600061196561196084611912565b6118f7565b90508281526020810184848401111561198157611980611881565b5b61198c848285611943565b509392505050565b600082601f8301126119a9576119a861173e565b5b81356119b9848260208601611952565b91505092915050565b6000806000606084860312156119db576119da6115a2565b5b60006119e9868287016115f5565b93505060206119fa8682870161186c565b925050604084013567ffffffffffffffff811115611a1b57611a1a6115a7565b5b611a2786828701611994565b9150509250925092565b600060208284031215611a4757611a466115a2565b5b6000611a558482850161168e565b91505092915050565b611a67816115cc565b82525050565b6000602082019050611a826000830184611a5e565b92915050565b60008160601b9050919050565b6000611aa082611a88565b9050919050565b6000611ab282611a95565b9050919050565b611aca611ac5826115cc565b611aa7565b82525050565b6000819050919050565b611aeb611ae68261166d565b611ad0565b82525050565b6000611afd8287611ab9565b601482019150611b0d8286611ab9565b601482019150611b1d8285611ada565b602082019150611b2d8284611ada565b60208201915081905095945050505050565b600081905092915050565b6000611b568385611b3f565b9350611b63838584611943565b82840190509392505050565b6000611b7c828486611b4a565b91508190509392505050565b600082825260208201905092915050565b7f5b42455d207369676e617475726520757365642e20706c656173652073656e6460008201527f20616e6f74686572207472616e73616374696f6e2077697468206e657720736960208201527f676e617475726500000000000000000000000000000000000000000000000000604082015250565b6000611c1b604783611b88565b9150611c2682611b99565b606082019050919050565b60006020820190508181036000830152611c4a81611c0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c8b8261166d565b9150611c968361166d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611ccb57611cca611c51565b5b828201905092915050565b7f657870697265642c20706c656173652073656e6420616e6f746865722074726160008201527f6e73616374696f6e2077697468206e6577207369676e61747572650000000000602082015250565b6000611d32603b83611b88565b9150611d3d82611cd6565b604082019050919050565b60006020820190508181036000830152611d6181611d25565b9050919050565b7f436c61696d426f78466163746f72793a20756e737570706f72746564204e4654600082015250565b6000611d9e602083611b88565b9150611da982611d68565b602082019050919050565b60006020820190508181036000830152611dcd81611d91565b9050919050565b7f436c61696d426f78466163746f72793a20636c61696d65640000000000000000600082015250565b6000611e0a601883611b88565b9150611e1582611dd4565b602082019050919050565b60006020820190508181036000830152611e3981611dfd565b9050919050565b6000819050919050565b6000819050919050565b6000611e6f611e6a611e6584611e40565b611e4a565b61166d565b9050919050565b611e7f81611e54565b82525050565b6000604082019050611e9a6000830185611a5e565b611ea76020830184611e76565b9392505050565b600067ffffffffffffffff821115611ec957611ec8611897565b5b602082029050602081019050919050565b600081519050611ee981611677565b92915050565b6000611f02611efd84611eae565b6118f7565b90508083825260208201905060208402830185811115611f2557611f24611748565b5b835b81811015611f4e5780611f3a8882611eda565b845260208401935050602081019050611f27565b5050509392505050565b600082601f830112611f6d57611f6c61173e565b5b8151611f7d848260208601611eef565b91505092915050565b600060208284031215611f9c57611f9b6115a2565b5b600082015167ffffffffffffffff811115611fba57611fb96115a7565b5b611fc684828501611f58565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612034602083611b88565b915061203f82611ffe565b602082019050919050565b6000602082019050818103600083015261206381612027565b9050919050565b7f5b42455d20696e76616c6964207369676e657200000000000000000000000000600082015250565b60006120a0601383611b88565b91506120ab8261206a565b602082019050919050565b600060208201905081810360008301526120cf81612093565b9050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b600061210c601d83611b88565b9150612117826120d6565b602082019050919050565b6000602082019050818103600083015261213b816120ff565b9050919050565b7f5b42455d20696e76616c6964207369676e617475726500000000000000000000600082015250565b6000612178601683611b88565b915061218382612142565b602082019050919050565b600060208201905081810360008301526121a78161216b565b9050919050565b7f436c61696d426f78466163746f72793a20616464726573732063616e206e6f7460008201527f206265207a65726f000000000000000000000000000000000000000000000000602082015250565b600061220a602883611b88565b9150612215826121ae565b604082019050919050565b60006020820190508181036000830152612239816121fd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061229c602683611b88565b91506122a782612240565b604082019050919050565b600060208201905081810360008301526122cb8161228f565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b6000612313601c836122d2565b915061231e826122dd565b601c82019050919050565b6000819050919050565b61234461233f8261170a565b612329565b82525050565b600061235582612306565b91506123618284612333565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006123d5601883611b88565b91506123e08261239f565b602082019050919050565b60006020820190508181036000830152612404816123c8565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000612441601f83611b88565b915061244c8261240b565b602082019050919050565b6000602082019050818103600083015261247081612434565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006124d3602283611b88565b91506124de82612477565b604082019050919050565b60006020820190508181036000830152612502816124c6565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612565602283611b88565b915061257082612509565b604082019050919050565b6000602082019050818103600083015261259481612558565b9050919050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006125d16002836122d2565b91506125dc8261259b565b600282019050919050565b60006125f2826125c4565b91506125fe8285612333565b60208201915061260e8284612333565b6020820191508190509392505050565b600060ff82169050919050565b6126348161261e565b82525050565b600060808201905061264f6000830187611714565b61265c602083018661262b565b6126696040830185611714565b6126766060830184611714565b95945050505050565b600060a0820190506126946000830188611714565b6126a16020830187611714565b6126ae6040830186611714565b6126bb606083018561182b565b6126c86080830184611a5e565b969550505050505056fea264697066735822122055990fd0d5851894ee98acd6ed69612aba44fcecf2c575e3faeb9dde470a645964736f6c634300080a0033", "immutableReferences": { - "948": [ + "959": [ { "length": 32, - "start": 4748 + "start": 4904 } ], - "950": [ + "961": [ { "length": 32, - "start": 4707 + "start": 4863 } ], - "952": [ + "963": [ { "length": 32, - "start": 4621 + "start": 4777 } ], - "954": [ + "965": [ { "length": 32, - "start": 4824 + "start": 4980 } ], - "956": [ + "967": [ { "length": 32, - "start": 4857 + "start": 5013 } ], - "958": [ + "969": [ { "length": 32, - "start": 4791 + "start": 4947 } ] }, @@ -1044,7 +1063,7 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:31255:7", + "src": "0:33900:7", "statements": [ { "body": { @@ -3633,12 +3652,183 @@ { "body": { "nodeType": "YulBlock", - "src": "5117:79:7", + "src": "5139:53:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5156:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5179:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5161:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "5161:24:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5149:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5149:37:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5149:37:7" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5127:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5134:3:7", + "type": "" + } + ], + "src": "5074:118:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5296:124:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5306:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5318:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5329:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5314:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5314:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5306:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5386:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5399:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5410:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5395:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5395:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "5342:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "5342:71:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5342:71:7" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5268:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5280:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5291:4:7", + "type": "" + } + ], + "src": "5198:222:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5469:79:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5174:16:7", + "src": "5526:16:7", "statements": [ { "expression": { @@ -3646,14 +3836,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5183:1:7", + "src": "5535:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5186:1:7", + "src": "5538:1:7", "type": "", "value": "0" } @@ -3661,13 +3851,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5176:6:7" + "src": "5528:6:7" }, "nodeType": "YulFunctionCall", - "src": "5176:12:7" + "src": "5528:12:7" }, "nodeType": "YulExpressionStatement", - "src": "5176:12:7" + "src": "5528:12:7" } ] }, @@ -3678,44 +3868,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5140:5:7" + "src": "5492:5:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5165:5:7" + "src": "5517:5:7" } ], "functionName": { "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "5147:17:7" + "src": "5499:17:7" }, "nodeType": "YulFunctionCall", - "src": "5147:24:7" + "src": "5499:24:7" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "5137:2:7" + "src": "5489:2:7" }, "nodeType": "YulFunctionCall", - "src": "5137:35:7" + "src": "5489:35:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "5130:6:7" + "src": "5482:6:7" }, "nodeType": "YulFunctionCall", - "src": "5130:43:7" + "src": "5482:43:7" }, "nodeType": "YulIf", - "src": "5127:63:7" + "src": "5479:63:7" } ] }, @@ -3725,41 +3915,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5110:5:7", + "src": "5462:5:7", "type": "" } ], - "src": "5074:122:7" + "src": "5426:122:7" }, { "body": { "nodeType": "YulBlock", - "src": "5254:87:7", + "src": "5606:87:7", "statements": [ { "nodeType": "YulAssignment", - "src": "5264:29:7", + "src": "5616:29:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "5286:6:7" + "src": "5638:6:7" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "5273:12:7" + "src": "5625:12:7" }, "nodeType": "YulFunctionCall", - "src": "5273:20:7" + "src": "5625:20:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5264:5:7" + "src": "5616:5:7" } ] }, @@ -3769,19 +3959,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5329:5:7" + "src": "5681:5:7" } ], "functionName": { "name": "validator_revert_t_bytes32", "nodeType": "YulIdentifier", - "src": "5302:26:7" + "src": "5654:26:7" }, "nodeType": "YulFunctionCall", - "src": "5302:33:7" + "src": "5654:33:7" }, "nodeType": "YulExpressionStatement", - "src": "5302:33:7" + "src": "5654:33:7" } ] }, @@ -3791,13 +3981,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5232:6:7", + "src": "5584:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "5240:3:7", + "src": "5592:3:7", "type": "" } ], @@ -3805,16 +3995,16 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5248:5:7", + "src": "5600:5:7", "type": "" } ], - "src": "5202:139:7" + "src": "5554:139:7" }, { "body": { "nodeType": "YulBlock", - "src": "5436:28:7", + "src": "5788:28:7", "statements": [ { "expression": { @@ -3822,14 +4012,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5453:1:7", + "src": "5805:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5456:1:7", + "src": "5808:1:7", "type": "", "value": "0" } @@ -3837,28 +4027,28 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5446:6:7" + "src": "5798:6:7" }, "nodeType": "YulFunctionCall", - "src": "5446:12:7" + "src": "5798:12:7" }, "nodeType": "YulExpressionStatement", - "src": "5446:12:7" + "src": "5798:12:7" } ] }, "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulFunctionDefinition", - "src": "5347:117:7" + "src": "5699:117:7" }, { "body": { "nodeType": "YulBlock", - "src": "5518:54:7", + "src": "5870:54:7", "statements": [ { "nodeType": "YulAssignment", - "src": "5528:38:7", + "src": "5880:38:7", "value": { "arguments": [ { @@ -3866,12 +4056,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5546:5:7" + "src": "5898:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5553:2:7", + "src": "5905:2:7", "type": "", "value": "31" } @@ -3879,17 +4069,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5542:3:7" + "src": "5894:3:7" }, "nodeType": "YulFunctionCall", - "src": "5542:14:7" + "src": "5894:14:7" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "5562:2:7", + "src": "5914:2:7", "type": "", "value": "31" } @@ -3897,25 +4087,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "5558:3:7" + "src": "5910:3:7" }, "nodeType": "YulFunctionCall", - "src": "5558:7:7" + "src": "5910:7:7" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "5538:3:7" + "src": "5890:3:7" }, "nodeType": "YulFunctionCall", - "src": "5538:28:7" + "src": "5890:28:7" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "5528:6:7" + "src": "5880:6:7" } ] } @@ -3927,7 +4117,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5501:5:7", + "src": "5853:5:7", "type": "" } ], @@ -3935,16 +4125,16 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "5511:6:7", + "src": "5863:6:7", "type": "" } ], - "src": "5470:102:7" + "src": "5822:102:7" }, { "body": { "nodeType": "YulBlock", - "src": "5606:152:7", + "src": "5958:152:7", "statements": [ { "expression": { @@ -3952,14 +4142,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5623:1:7", + "src": "5975:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5626:77:7", + "src": "5978:77:7", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -3967,13 +4157,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5616:6:7" + "src": "5968:6:7" }, "nodeType": "YulFunctionCall", - "src": "5616:88:7" + "src": "5968:88:7" }, "nodeType": "YulExpressionStatement", - "src": "5616:88:7" + "src": "5968:88:7" }, { "expression": { @@ -3981,14 +4171,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5720:1:7", + "src": "6072:1:7", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5723:4:7", + "src": "6075:4:7", "type": "", "value": "0x41" } @@ -3996,13 +4186,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5713:6:7" + "src": "6065:6:7" }, "nodeType": "YulFunctionCall", - "src": "5713:15:7" + "src": "6065:15:7" }, "nodeType": "YulExpressionStatement", - "src": "5713:15:7" + "src": "6065:15:7" }, { "expression": { @@ -4010,14 +4200,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5744:1:7", + "src": "6096:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5747:4:7", + "src": "6099:4:7", "type": "", "value": "0x24" } @@ -4025,65 +4215,65 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5737:6:7" + "src": "6089:6:7" }, "nodeType": "YulFunctionCall", - "src": "5737:15:7" + "src": "6089:15:7" }, "nodeType": "YulExpressionStatement", - "src": "5737:15:7" + "src": "6089:15:7" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", - "src": "5578:180:7" + "src": "5930:180:7" }, { "body": { "nodeType": "YulBlock", - "src": "5807:238:7", + "src": "6159:238:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5817:58:7", + "src": "6169:58:7", "value": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "5839:6:7" + "src": "6191:6:7" }, { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "5869:4:7" + "src": "6221:4:7" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "5847:21:7" + "src": "6199:21:7" }, "nodeType": "YulFunctionCall", - "src": "5847:27:7" + "src": "6199:27:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5835:3:7" + "src": "6187:3:7" }, "nodeType": "YulFunctionCall", - "src": "5835:40:7" + "src": "6187:40:7" }, "variables": [ { "name": "newFreePtr", "nodeType": "YulTypedName", - "src": "5821:10:7", + "src": "6173:10:7", "type": "" } ] @@ -4091,7 +4281,7 @@ { "body": { "nodeType": "YulBlock", - "src": "5986:22:7", + "src": "6338:22:7", "statements": [ { "expression": { @@ -4099,13 +4289,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "5988:16:7" + "src": "6340:16:7" }, "nodeType": "YulFunctionCall", - "src": "5988:18:7" + "src": "6340:18:7" }, "nodeType": "YulExpressionStatement", - "src": "5988:18:7" + "src": "6340:18:7" } ] }, @@ -4116,12 +4306,12 @@ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "5929:10:7" + "src": "6281:10:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5941:18:7", + "src": "6293:18:7", "type": "", "value": "0xffffffffffffffff" } @@ -4129,43 +4319,43 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "5926:2:7" + "src": "6278:2:7" }, "nodeType": "YulFunctionCall", - "src": "5926:34:7" + "src": "6278:34:7" }, { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "5965:10:7" + "src": "6317:10:7" }, { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "5977:6:7" + "src": "6329:6:7" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "5962:2:7" + "src": "6314:2:7" }, "nodeType": "YulFunctionCall", - "src": "5962:22:7" + "src": "6314:22:7" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "5923:2:7" + "src": "6275:2:7" }, "nodeType": "YulFunctionCall", - "src": "5923:62:7" + "src": "6275:62:7" }, "nodeType": "YulIf", - "src": "5920:88:7" + "src": "6272:88:7" }, { "expression": { @@ -4173,26 +4363,26 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6024:2:7", + "src": "6376:2:7", "type": "", "value": "64" }, { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "6028:10:7" + "src": "6380:10:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6017:6:7" + "src": "6369:6:7" }, "nodeType": "YulFunctionCall", - "src": "6017:22:7" + "src": "6369:22:7" }, "nodeType": "YulExpressionStatement", - "src": "6017:22:7" + "src": "6369:22:7" } ] }, @@ -4202,41 +4392,41 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "5793:6:7", + "src": "6145:6:7", "type": "" }, { "name": "size", "nodeType": "YulTypedName", - "src": "5801:4:7", + "src": "6153:4:7", "type": "" } ], - "src": "5764:281:7" + "src": "6116:281:7" }, { "body": { "nodeType": "YulBlock", - "src": "6092:88:7", + "src": "6444:88:7", "statements": [ { "nodeType": "YulAssignment", - "src": "6102:30:7", + "src": "6454:30:7", "value": { "arguments": [], "functionName": { "name": "allocate_unbounded", "nodeType": "YulIdentifier", - "src": "6112:18:7" + "src": "6464:18:7" }, "nodeType": "YulFunctionCall", - "src": "6112:20:7" + "src": "6464:20:7" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6102:6:7" + "src": "6454:6:7" } ] }, @@ -4246,24 +4436,24 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6161:6:7" + "src": "6513:6:7" }, { "name": "size", "nodeType": "YulIdentifier", - "src": "6169:4:7" + "src": "6521:4:7" } ], "functionName": { "name": "finalize_allocation", "nodeType": "YulIdentifier", - "src": "6141:19:7" + "src": "6493:19:7" }, "nodeType": "YulFunctionCall", - "src": "6141:33:7" + "src": "6493:33:7" }, "nodeType": "YulExpressionStatement", - "src": "6141:33:7" + "src": "6493:33:7" } ] }, @@ -4273,7 +4463,7 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "6076:4:7", + "src": "6428:4:7", "type": "" } ], @@ -4281,21 +4471,21 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "6085:6:7", + "src": "6437:6:7", "type": "" } ], - "src": "6051:129:7" + "src": "6403:129:7" }, { "body": { "nodeType": "YulBlock", - "src": "6252:241:7", + "src": "6604:241:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "6357:22:7", + "src": "6709:22:7", "statements": [ { "expression": { @@ -4303,13 +4493,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "6359:16:7" + "src": "6711:16:7" }, "nodeType": "YulFunctionCall", - "src": "6359:18:7" + "src": "6711:18:7" }, "nodeType": "YulExpressionStatement", - "src": "6359:18:7" + "src": "6711:18:7" } ] }, @@ -4318,12 +4508,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "6329:6:7" + "src": "6681:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6337:18:7", + "src": "6689:18:7", "type": "", "value": "0xffffffffffffffff" } @@ -4331,55 +4521,55 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "6326:2:7" + "src": "6678:2:7" }, "nodeType": "YulFunctionCall", - "src": "6326:30:7" + "src": "6678:30:7" }, "nodeType": "YulIf", - "src": "6323:56:7" + "src": "6675:56:7" }, { "nodeType": "YulAssignment", - "src": "6389:37:7", + "src": "6741:37:7", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6419:6:7" + "src": "6771:6:7" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "6397:21:7" + "src": "6749:21:7" }, "nodeType": "YulFunctionCall", - "src": "6397:29:7" + "src": "6749:29:7" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "6389:4:7" + "src": "6741:4:7" } ] }, { "nodeType": "YulAssignment", - "src": "6463:23:7", + "src": "6815:23:7", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "6475:4:7" + "src": "6827:4:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6481:4:7", + "src": "6833:4:7", "type": "", "value": "0x20" } @@ -4387,16 +4577,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6471:3:7" + "src": "6823:3:7" }, "nodeType": "YulFunctionCall", - "src": "6471:15:7" + "src": "6823:15:7" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "6463:4:7" + "src": "6815:4:7" } ] } @@ -4408,7 +4598,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "6236:6:7", + "src": "6588:6:7", "type": "" } ], @@ -4416,16 +4606,16 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "6247:4:7", + "src": "6599:4:7", "type": "" } ], - "src": "6186:307:7" + "src": "6538:307:7" }, { "body": { "nodeType": "YulBlock", - "src": "6550:103:7", + "src": "6902:103:7", "statements": [ { "expression": { @@ -4433,29 +4623,29 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "6573:3:7" + "src": "6925:3:7" }, { "name": "src", "nodeType": "YulIdentifier", - "src": "6578:3:7" + "src": "6930:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "6583:6:7" + "src": "6935:6:7" } ], "functionName": { "name": "calldatacopy", "nodeType": "YulIdentifier", - "src": "6560:12:7" + "src": "6912:12:7" }, "nodeType": "YulFunctionCall", - "src": "6560:30:7" + "src": "6912:30:7" }, "nodeType": "YulExpressionStatement", - "src": "6560:30:7" + "src": "6912:30:7" }, { "expression": { @@ -4465,26 +4655,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "6631:3:7" + "src": "6983:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "6636:6:7" + "src": "6988:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6627:3:7" + "src": "6979:3:7" }, "nodeType": "YulFunctionCall", - "src": "6627:16:7" + "src": "6979:16:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6645:1:7", + "src": "6997:1:7", "type": "", "value": "0" } @@ -4492,13 +4682,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6620:6:7" + "src": "6972:6:7" }, "nodeType": "YulFunctionCall", - "src": "6620:27:7" + "src": "6972:27:7" }, "nodeType": "YulExpressionStatement", - "src": "6620:27:7" + "src": "6972:27:7" } ] }, @@ -4508,32 +4698,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "6532:3:7", + "src": "6884:3:7", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "6537:3:7", + "src": "6889:3:7", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "6542:6:7", + "src": "6894:6:7", "type": "" } ], - "src": "6499:154:7" + "src": "6851:154:7" }, { "body": { "nodeType": "YulBlock", - "src": "6742:327:7", + "src": "7094:327:7", "statements": [ { "nodeType": "YulAssignment", - "src": "6752:74:7", + "src": "7104:74:7", "value": { "arguments": [ { @@ -4541,31 +4731,31 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "6818:6:7" + "src": "7170:6:7" } ], "functionName": { "name": "array_allocation_size_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "6777:40:7" + "src": "7129:40:7" }, "nodeType": "YulFunctionCall", - "src": "6777:48:7" + "src": "7129:48:7" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "6761:15:7" + "src": "7113:15:7" }, "nodeType": "YulFunctionCall", - "src": "6761:65:7" + "src": "7113:65:7" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "6752:5:7" + "src": "7104:5:7" } ] }, @@ -4575,39 +4765,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "6842:5:7" + "src": "7194:5:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "6849:6:7" + "src": "7201:6:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6835:6:7" + "src": "7187:6:7" }, "nodeType": "YulFunctionCall", - "src": "6835:21:7" + "src": "7187:21:7" }, "nodeType": "YulExpressionStatement", - "src": "6835:21:7" + "src": "7187:21:7" }, { "nodeType": "YulVariableDeclaration", - "src": "6865:27:7", + "src": "7217:27:7", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "6880:5:7" + "src": "7232:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6887:4:7", + "src": "7239:4:7", "type": "", "value": "0x20" } @@ -4615,16 +4805,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6876:3:7" + "src": "7228:3:7" }, "nodeType": "YulFunctionCall", - "src": "6876:16:7" + "src": "7228:16:7" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "6869:3:7", + "src": "7221:3:7", "type": "" } ] @@ -4632,7 +4822,7 @@ { "body": { "nodeType": "YulBlock", - "src": "6930:83:7", + "src": "7282:83:7", "statements": [ { "expression": { @@ -4640,13 +4830,13 @@ "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", - "src": "6932:77:7" + "src": "7284:77:7" }, "nodeType": "YulFunctionCall", - "src": "6932:79:7" + "src": "7284:79:7" }, "nodeType": "YulExpressionStatement", - "src": "6932:79:7" + "src": "7284:79:7" } ] }, @@ -4657,38 +4847,38 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "6911:3:7" + "src": "7263:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "6916:6:7" + "src": "7268:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6907:3:7" + "src": "7259:3:7" }, "nodeType": "YulFunctionCall", - "src": "6907:16:7" + "src": "7259:16:7" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "6925:3:7" + "src": "7277:3:7" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "6904:2:7" + "src": "7256:2:7" }, "nodeType": "YulFunctionCall", - "src": "6904:25:7" + "src": "7256:25:7" }, "nodeType": "YulIf", - "src": "6901:112:7" + "src": "7253:112:7" }, { "expression": { @@ -4696,29 +4886,29 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "7046:3:7" + "src": "7398:3:7" }, { "name": "dst", "nodeType": "YulIdentifier", - "src": "7051:3:7" + "src": "7403:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "7056:6:7" + "src": "7408:6:7" } ], "functionName": { "name": "copy_calldata_to_memory", "nodeType": "YulIdentifier", - "src": "7022:23:7" + "src": "7374:23:7" }, "nodeType": "YulFunctionCall", - "src": "7022:41:7" + "src": "7374:41:7" }, "nodeType": "YulExpressionStatement", - "src": "7022:41:7" + "src": "7374:41:7" } ] }, @@ -4728,19 +4918,19 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "6715:3:7", + "src": "7067:3:7", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "6720:6:7", + "src": "7072:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "6728:3:7", + "src": "7080:3:7", "type": "" } ], @@ -4748,21 +4938,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "6736:5:7", + "src": "7088:5:7", "type": "" } ], - "src": "6659:410:7" + "src": "7011:410:7" }, { "body": { "nodeType": "YulBlock", - "src": "7149:277:7", + "src": "7501:277:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "7198:83:7", + "src": "7550:83:7", "statements": [ { "expression": { @@ -4770,13 +4960,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "7200:77:7" + "src": "7552:77:7" }, "nodeType": "YulFunctionCall", - "src": "7200:79:7" + "src": "7552:79:7" }, "nodeType": "YulExpressionStatement", - "src": "7200:79:7" + "src": "7552:79:7" } ] }, @@ -4789,12 +4979,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7177:6:7" + "src": "7529:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7185:4:7", + "src": "7537:4:7", "type": "", "value": "0x1f" } @@ -4802,68 +4992,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7173:3:7" + "src": "7525:3:7" }, "nodeType": "YulFunctionCall", - "src": "7173:17:7" + "src": "7525:17:7" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "7192:3:7" + "src": "7544:3:7" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "7169:3:7" + "src": "7521:3:7" }, "nodeType": "YulFunctionCall", - "src": "7169:27:7" + "src": "7521:27:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "7162:6:7" + "src": "7514:6:7" }, "nodeType": "YulFunctionCall", - "src": "7162:35:7" + "src": "7514:35:7" }, "nodeType": "YulIf", - "src": "7159:122:7" + "src": "7511:122:7" }, { "nodeType": "YulVariableDeclaration", - "src": "7290:34:7", + "src": "7642:34:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7317:6:7" + "src": "7669:6:7" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "7304:12:7" + "src": "7656:12:7" }, "nodeType": "YulFunctionCall", - "src": "7304:20:7" + "src": "7656:20:7" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "7294:6:7", + "src": "7646:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7333:87:7", + "src": "7685:87:7", "value": { "arguments": [ { @@ -4871,12 +5061,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7393:6:7" + "src": "7745:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7401:4:7", + "src": "7753:4:7", "type": "", "value": "0x20" } @@ -4884,35 +5074,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7389:3:7" + "src": "7741:3:7" }, "nodeType": "YulFunctionCall", - "src": "7389:17:7" + "src": "7741:17:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "7408:6:7" + "src": "7760:6:7" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "7416:3:7" + "src": "7768:3:7" } ], "functionName": { "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "7342:46:7" + "src": "7694:46:7" }, "nodeType": "YulFunctionCall", - "src": "7342:78:7" + "src": "7694:78:7" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "7333:5:7" + "src": "7685:5:7" } ] } @@ -4924,13 +5114,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7127:6:7", + "src": "7479:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "7135:3:7", + "src": "7487:3:7", "type": "" } ], @@ -4938,21 +5128,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "7143:5:7", + "src": "7495:5:7", "type": "" } ], - "src": "7088:338:7" + "src": "7440:338:7" }, { "body": { "nodeType": "YulBlock", - "src": "7541:688:7", + "src": "7893:688:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "7587:83:7", + "src": "7939:83:7", "statements": [ { "expression": { @@ -4960,13 +5150,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "7589:77:7" + "src": "7941:77:7" }, "nodeType": "YulFunctionCall", - "src": "7589:79:7" + "src": "7941:79:7" }, "nodeType": "YulExpressionStatement", - "src": "7589:79:7" + "src": "7941:79:7" } ] }, @@ -4977,26 +5167,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7562:7:7" + "src": "7914:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7571:9:7" + "src": "7923:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "7558:3:7" + "src": "7910:3:7" }, "nodeType": "YulFunctionCall", - "src": "7558:23:7" + "src": "7910:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7583:2:7", + "src": "7935:2:7", "type": "", "value": "96" } @@ -5004,25 +5194,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "7554:3:7" + "src": "7906:3:7" }, "nodeType": "YulFunctionCall", - "src": "7554:32:7" + "src": "7906:32:7" }, "nodeType": "YulIf", - "src": "7551:119:7" + "src": "7903:119:7" }, { "nodeType": "YulBlock", - "src": "7680:117:7", + "src": "8032:117:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7695:15:7", + "src": "8047:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "7709:1:7", + "src": "8061:1:7", "type": "", "value": "0" }, @@ -5030,14 +5220,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7699:6:7", + "src": "8051:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7724:63:7", + "src": "8076:63:7", "value": { "arguments": [ { @@ -5045,41 +5235,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7759:9:7" + "src": "8111:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "7770:6:7" + "src": "8122:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7755:3:7" + "src": "8107:3:7" }, "nodeType": "YulFunctionCall", - "src": "7755:22:7" + "src": "8107:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7779:7:7" + "src": "8131:7:7" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "7734:20:7" + "src": "8086:20:7" }, "nodeType": "YulFunctionCall", - "src": "7734:53:7" + "src": "8086:53:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7724:6:7" + "src": "8076:6:7" } ] } @@ -5087,15 +5277,15 @@ }, { "nodeType": "YulBlock", - "src": "7807:118:7", + "src": "8159:118:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7822:16:7", + "src": "8174:16:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "7836:2:7", + "src": "8188:2:7", "type": "", "value": "32" }, @@ -5103,14 +5293,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7826:6:7", + "src": "8178:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7852:63:7", + "src": "8204:63:7", "value": { "arguments": [ { @@ -5118,41 +5308,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7887:9:7" + "src": "8239:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "7898:6:7" + "src": "8250:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7883:3:7" + "src": "8235:3:7" }, "nodeType": "YulFunctionCall", - "src": "7883:22:7" + "src": "8235:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7907:7:7" + "src": "8259:7:7" } ], "functionName": { "name": "abi_decode_t_bytes32", "nodeType": "YulIdentifier", - "src": "7862:20:7" + "src": "8214:20:7" }, "nodeType": "YulFunctionCall", - "src": "7862:53:7" + "src": "8214:53:7" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "7852:6:7" + "src": "8204:6:7" } ] } @@ -5160,11 +5350,11 @@ }, { "nodeType": "YulBlock", - "src": "7935:287:7", + "src": "8287:287:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7950:46:7", + "src": "8302:46:7", "value": { "arguments": [ { @@ -5172,12 +5362,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7981:9:7" + "src": "8333:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7992:2:7", + "src": "8344:2:7", "type": "", "value": "64" } @@ -5185,25 +5375,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7977:3:7" + "src": "8329:3:7" }, "nodeType": "YulFunctionCall", - "src": "7977:18:7" + "src": "8329:18:7" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "7964:12:7" + "src": "8316:12:7" }, "nodeType": "YulFunctionCall", - "src": "7964:32:7" + "src": "8316:32:7" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "7954:6:7", + "src": "8306:6:7", "type": "" } ] @@ -5211,7 +5401,7 @@ { "body": { "nodeType": "YulBlock", - "src": "8043:83:7", + "src": "8395:83:7", "statements": [ { "expression": { @@ -5219,13 +5409,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "8045:77:7" + "src": "8397:77:7" }, "nodeType": "YulFunctionCall", - "src": "8045:79:7" + "src": "8397:79:7" }, "nodeType": "YulExpressionStatement", - "src": "8045:79:7" + "src": "8397:79:7" } ] }, @@ -5234,12 +5424,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "8015:6:7" + "src": "8367:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8023:18:7", + "src": "8375:18:7", "type": "", "value": "0xffffffffffffffff" } @@ -5247,17 +5437,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "8012:2:7" + "src": "8364:2:7" }, "nodeType": "YulFunctionCall", - "src": "8012:30:7" + "src": "8364:30:7" }, "nodeType": "YulIf", - "src": "8009:117:7" + "src": "8361:117:7" }, { "nodeType": "YulAssignment", - "src": "8140:72:7", + "src": "8492:72:7", "value": { "arguments": [ { @@ -5265,41 +5455,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8184:9:7" + "src": "8536:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8195:6:7" + "src": "8547:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8180:3:7" + "src": "8532:3:7" }, "nodeType": "YulFunctionCall", - "src": "8180:22:7" + "src": "8532:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8204:7:7" + "src": "8556:7:7" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "8150:29:7" + "src": "8502:29:7" }, "nodeType": "YulFunctionCall", - "src": "8150:62:7" + "src": "8502:62:7" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "8140:6:7" + "src": "8492:6:7" } ] } @@ -5313,13 +5503,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7495:9:7", + "src": "7847:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "7506:7:7", + "src": "7858:7:7", "type": "" } ], @@ -5327,33 +5517,33 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "7518:6:7", + "src": "7870:6:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "7526:6:7", + "src": "7878:6:7", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "7534:6:7", + "src": "7886:6:7", "type": "" } ], - "src": "7432:797:7" + "src": "7784:797:7" }, { "body": { "nodeType": "YulBlock", - "src": "8301:263:7", + "src": "8653:263:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "8347:83:7", + "src": "8699:83:7", "statements": [ { "expression": { @@ -5361,13 +5551,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "8349:77:7" + "src": "8701:77:7" }, "nodeType": "YulFunctionCall", - "src": "8349:79:7" + "src": "8701:79:7" }, "nodeType": "YulExpressionStatement", - "src": "8349:79:7" + "src": "8701:79:7" } ] }, @@ -5378,26 +5568,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8322:7:7" + "src": "8674:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8331:9:7" + "src": "8683:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "8318:3:7" + "src": "8670:3:7" }, "nodeType": "YulFunctionCall", - "src": "8318:23:7" + "src": "8670:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8343:2:7", + "src": "8695:2:7", "type": "", "value": "32" } @@ -5405,25 +5595,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "8314:3:7" + "src": "8666:3:7" }, "nodeType": "YulFunctionCall", - "src": "8314:32:7" + "src": "8666:32:7" }, "nodeType": "YulIf", - "src": "8311:119:7" + "src": "8663:119:7" }, { "nodeType": "YulBlock", - "src": "8440:117:7", + "src": "8792:117:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8455:15:7", + "src": "8807:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "8469:1:7", + "src": "8821:1:7", "type": "", "value": "0" }, @@ -5431,14 +5621,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "8459:6:7", + "src": "8811:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "8484:63:7", + "src": "8836:63:7", "value": { "arguments": [ { @@ -5446,41 +5636,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8519:9:7" + "src": "8871:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8530:6:7" + "src": "8882:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8515:3:7" + "src": "8867:3:7" }, "nodeType": "YulFunctionCall", - "src": "8515:22:7" + "src": "8867:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8539:7:7" + "src": "8891:7:7" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "8494:20:7" + "src": "8846:20:7" }, "nodeType": "YulFunctionCall", - "src": "8494:53:7" + "src": "8846:53:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8484:6:7" + "src": "8836:6:7" } ] } @@ -5494,13 +5684,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8271:9:7", + "src": "8623:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "8282:7:7", + "src": "8634:7:7", "type": "" } ], @@ -5508,182 +5698,11 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "8294:6:7", + "src": "8646:6:7", "type": "" } ], - "src": "8235:329:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8635:53:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8652:3:7" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8675:5:7" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "8657:17:7" - }, - "nodeType": "YulFunctionCall", - "src": "8657:24:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8645:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "8645:37:7" - }, - "nodeType": "YulExpressionStatement", - "src": "8645:37:7" - } - ] - }, - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8623:5:7", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8630:3:7", - "type": "" - } - ], - "src": "8570:118:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8792:124:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8802:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8814:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8825:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8810:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "8810:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8802:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8882:6:7" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8895:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8906:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8891:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "8891:17:7" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "8838:43:7" - }, - "nodeType": "YulFunctionCall", - "src": "8838:71:7" - }, - "nodeType": "YulExpressionStatement", - "src": "8838:71:7" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8764:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8776:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8787:4:7", - "type": "" - } - ], - "src": "8694:222:7" + "src": "8587:329:7" }, { "body": { @@ -5707,7 +5726,7 @@ } ], "functionName": { - "name": "cleanup_t_uint256", + "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "9009:17:7" }, @@ -5728,7 +5747,7 @@ } ] }, - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { @@ -5818,7 +5837,7 @@ } ], "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", "src": "9190:43:7" }, @@ -5830,7 +5849,7 @@ } ] }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { @@ -8283,32 +8302,883 @@ { "body": { "nodeType": "YulBlock", - "src": "15335:80:7", + "src": "15378:68:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15400:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15408:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15396:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "15396:14:7" + }, + { + "hexValue": "436c61696d426f78466163746f72793a20636c61696d6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15412:26:7", + "type": "", + "value": "ClaimBoxFactory: claimed" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15389:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "15389:50:7" + }, + "nodeType": "YulExpressionStatement", + "src": "15389:50:7" + } + ] + }, + "name": "store_literal_in_memory_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15370:6:7", + "type": "" + } + ], + "src": "15272:174:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15598:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "15345:22:7", + "src": "15608:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15674:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15679:2:7", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15615:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "15615:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15608:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15780:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1", + "nodeType": "YulIdentifier", + "src": "15691:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "15691:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "15691:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "15793:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15804:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15809:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15800:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "15800:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15793:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15586:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15594:3:7", + "type": "" + } + ], + "src": "15452:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15995:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16005:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16017:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16028:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16013:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16013:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16005:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16052:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16063:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16048:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16048:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16071:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16077:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16067:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16067:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16041:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "16041:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16041:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "16097:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16231:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16105:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "16105:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16097:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15975:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15990:4:7", + "type": "" + } + ], + "src": "15824:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16302:32:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16312:16:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16323:5:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "16312:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_rational_1_by_1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16284:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "16294:7:7", + "type": "" + } + ], + "src": "16249:85:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16372:28:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16382:12:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16389:5:7" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "16382:3:7" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16358:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "16368:3:7", + "type": "" + } + ], + "src": "16340:60:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16474:90:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16484:74:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16550:5:7" + } + ], + "functionName": { + "name": "cleanup_t_rational_1_by_1", + "nodeType": "YulIdentifier", + "src": "16524:25:7" + }, + "nodeType": "YulFunctionCall", + "src": "16524:32:7" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "16515:8:7" + }, + "nodeType": "YulFunctionCall", + "src": "16515:42:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "16497:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "16497:61:7" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "16484:9:7" + } + ] + } + ] + }, + "name": "convert_t_rational_1_by_1_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16454:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "16464:9:7", + "type": "" + } + ], + "src": "16406:158:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16643:74:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16660:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16704:5:7" + } + ], + "functionName": { + "name": "convert_t_rational_1_by_1_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "16665:38:7" + }, + "nodeType": "YulFunctionCall", + "src": "16665:45:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16653:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "16653:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16653:58:7" + } + ] + }, + "name": "abi_encode_t_rational_1_by_1_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16631:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16638:3:7", + "type": "" + } + ], + "src": "16570:147:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16857:214:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16867:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16879:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16890:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16875:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16875:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16867:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16947:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16960:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16971:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16956:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16956:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "16903:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "16903:71:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16903:71:7" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17036:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17049:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17060:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17045:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17045:18:7" + } + ], + "functionName": { + "name": "abi_encode_t_rational_1_by_1_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "16984:51:7" + }, + "nodeType": "YulFunctionCall", + "src": "16984:80:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16984:80:7" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_rational_1_by_1__to_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16821:9:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16833:6:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16841:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16852:4:7", + "type": "" + } + ], + "src": "16723:348:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17159:229:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17264:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "17266:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "17266:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "17266:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17236:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17244:18:7", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "17233:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "17233:30:7" + }, + "nodeType": "YulIf", + "src": "17230:56:7" + }, + { + "nodeType": "YulAssignment", + "src": "17296:25:7", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17308:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17316:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "17304:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17304:17:7" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "17296:4:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17358:23:7", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "17370:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17376:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17366:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17366:15:7" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "17358:4:7" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "17143:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "17154:4:7", + "type": "" + } + ], + "src": "17077:311:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17457:80:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17467:22:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "15360:6:7" + "src": "17482:6:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "15354:5:7" + "src": "17476:5:7" }, "nodeType": "YulFunctionCall", - "src": "15354:13:7" + "src": "17476:13:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "15345:5:7" + "src": "17467:5:7" } ] }, @@ -8318,19 +9188,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "15403:5:7" + "src": "17525:5:7" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "15376:26:7" + "src": "17498:26:7" }, "nodeType": "YulFunctionCall", - "src": "15376:33:7" + "src": "17498:33:7" }, "nodeType": "YulExpressionStatement", - "src": "15376:33:7" + "src": "17498:33:7" } ] }, @@ -8340,13 +9210,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15313:6:7", + "src": "17435:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "15321:3:7", + "src": "17443:3:7", "type": "" } ], @@ -8354,21 +9224,646 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "15329:5:7", + "src": "17451:5:7", "type": "" } ], - "src": "15272:143:7" + "src": "17394:143:7" }, { "body": { "nodeType": "YulBlock", - "src": "15498:274:7", + "src": "17673:619:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17683:90:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17765:6:7" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "17708:56:7" + }, + "nodeType": "YulFunctionCall", + "src": "17708:64:7" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "17692:15:7" + }, + "nodeType": "YulFunctionCall", + "src": "17692:81:7" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17683:5:7" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17782:16:7", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17793:5:7" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "17786:3:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17815:5:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17822:6:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17808:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "17808:21:7" + }, + "nodeType": "YulExpressionStatement", + "src": "17808:21:7" + }, + { + "nodeType": "YulAssignment", + "src": "17838:23:7", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "17849:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17856:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17845:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17845:16:7" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "17838:3:7" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17871:44:7", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17889:6:7" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17901:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17909:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "17897:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17897:17:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17885:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17885:30:7" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "17875:6:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17943:103:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "17957:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "17957:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "17957:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "17930:6:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17938:3:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "17927:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "17927:15:7" + }, + "nodeType": "YulIf", + "src": "17924:122:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18131:155:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18146:21:7", + "value": { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18164:3:7" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "18150:10:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "18188:3:7" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "18225:10:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18237:3:7" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "18193:31:7" + }, + "nodeType": "YulFunctionCall", + "src": "18193:48:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18181:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "18181:61:7" + }, + "nodeType": "YulExpressionStatement", + "src": "18181:61:7" + }, + { + "nodeType": "YulAssignment", + "src": "18255:21:7", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "18266:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18271:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18262:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18262:14:7" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "18255:3:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18084:3:7" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "18089:6:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "18081:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "18081:15:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "18097:25:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18099:21:7", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18110:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18115:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18106:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18106:14:7" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18099:3:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "18059:21:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18061:17:7", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18072:6:7" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "18065:3:7", + "type": "" + } + ] + } + ] + }, + "src": "18055:231:7" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17643:6:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "17651:6:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17659:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "17667:5:7", + "type": "" + } + ], + "src": "17560:732:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18403:297:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "15544:83:7", + "src": "18452:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "18454:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "18454:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "18454:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18431:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18439:4:7", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18427:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18427:17:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18446:3:7" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "18423:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18423:27:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "18416:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "18416:35:7" + }, + "nodeType": "YulIf", + "src": "18413:122:7" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18544:27:7", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18564:6:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18558:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "18558:13:7" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "18548:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18580:114:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18667:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18675:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18663:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18663:17:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18682:6:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18690:3:7" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "18589:73:7" + }, + "nodeType": "YulFunctionCall", + "src": "18589:105:7" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "18580:5:7" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18381:6:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18389:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "18397:5:7", + "type": "" + } + ], + "src": "18315:385:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18808:452:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "18854:83:7", "statements": [ { "expression": { @@ -8376,13 +9871,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "15546:77:7" + "src": "18856:77:7" }, "nodeType": "YulFunctionCall", - "src": "15546:79:7" + "src": "18856:79:7" }, "nodeType": "YulExpressionStatement", - "src": "15546:79:7" + "src": "18856:79:7" } ] }, @@ -8393,26 +9888,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15519:7:7" + "src": "18829:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15528:9:7" + "src": "18838:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15515:3:7" + "src": "18825:3:7" }, "nodeType": "YulFunctionCall", - "src": "15515:23:7" + "src": "18825:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15540:2:7", + "src": "18850:2:7", "type": "", "value": "32" } @@ -8420,40 +9915,21 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "15511:3:7" + "src": "18821:3:7" }, "nodeType": "YulFunctionCall", - "src": "15511:32:7" + "src": "18821:32:7" }, "nodeType": "YulIf", - "src": "15508:119:7" + "src": "18818:119:7" }, { "nodeType": "YulBlock", - "src": "15637:128:7", + "src": "18947:306:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15652:15:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15666:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "15656:6:7", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15681:74:7", + "src": "18962:38:7", "value": { "arguments": [ { @@ -8461,41 +9937,134 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15727:9:7" + "src": "18986:9:7" }, { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15738:6:7" + "kind": "number", + "nodeType": "YulLiteral", + "src": "18997:1:7", + "type": "", + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15723:3:7" + "src": "18982:3:7" }, "nodeType": "YulFunctionCall", - "src": "15723:22:7" + "src": "18982:17:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18976:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "18976:24:7" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18966:6:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19047:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "19049:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "19049:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "19049:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19019:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19027:18:7", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "19016:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "19016:30:7" + }, + "nodeType": "YulIf", + "src": "19013:117:7" + }, + { + "nodeType": "YulAssignment", + "src": "19144:99:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19215:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19226:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19211:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "19211:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15747:7:7" + "src": "19235:7:7" } ], "functionName": { - "name": "abi_decode_t_uint256_fromMemory", + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "15691:31:7" + "src": "19154:56:7" }, "nodeType": "YulFunctionCall", - "src": "15691:64:7" + "src": "19154:89:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "15681:6:7" + "src": "19144:6:7" } ] } @@ -8503,19 +10072,19 @@ } ] }, - "name": "abi_decode_tuple_t_uint256_fromMemory", + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15468:9:7", + "src": "18778:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "15479:7:7", + "src": "18789:7:7", "type": "" } ], @@ -8523,16 +10092,114 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "15491:6:7", + "src": "18801:6:7", "type": "" } ], - "src": "15421:351:7" + "src": "18706:554:7" }, { "body": { "nodeType": "YulBlock", - "src": "15884:120:7", + "src": "19294:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19311:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19314:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19304:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "19304:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "19304:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19408:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19411:4:7", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19401:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "19401:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "19401:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19432:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19435:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "19425:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "19425:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "19425:15:7" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "19266:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19558:76:7", "statements": [ { "expression": { @@ -8542,12 +10209,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "15906:6:7" + "src": "19580:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15914:1:7", + "src": "19588:1:7", "type": "", "value": "0" } @@ -8555,389 +10222,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15902:3:7" + "src": "19576:3:7" }, "nodeType": "YulFunctionCall", - "src": "15902:14:7" - }, - { - "hexValue": "436c61696d426f78466163746f72793a20796f7520616c726561647920686176", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15918:34:7", - "type": "", - "value": "ClaimBoxFactory: you already hav" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15895:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "15895:58:7" - }, - "nodeType": "YulExpressionStatement", - "src": "15895:58:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "15974:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15982:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15970:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "15970:15:7" - }, - { - "hexValue": "65206120626f78", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15987:9:7", - "type": "", - "value": "e a box" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15963:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "15963:34:7" - }, - "nodeType": "YulExpressionStatement", - "src": "15963:34:7" - } - ] - }, - "name": "store_literal_in_memory_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "15876:6:7", - "type": "" - } - ], - "src": "15778:226:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16156:220:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16166:74:7", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16232:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16237:2:7", - "type": "", - "value": "39" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "16173:58:7" - }, - "nodeType": "YulFunctionCall", - "src": "16173:67:7" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16166:3:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16338:3:7" - } - ], - "functionName": { - "name": "store_literal_in_memory_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", - "nodeType": "YulIdentifier", - "src": "16249:88:7" - }, - "nodeType": "YulFunctionCall", - "src": "16249:93:7" - }, - "nodeType": "YulExpressionStatement", - "src": "16249:93:7" - }, - { - "nodeType": "YulAssignment", - "src": "16351:19:7", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16362:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16367:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16358:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "16358:12:7" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "16351:3:7" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "16144:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "16152:3:7", - "type": "" - } - ], - "src": "16010:366:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16553:248:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16563:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16575:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16586:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16571:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "16571:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16563:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16610:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16621:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16606:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "16606:17:7" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16629:4:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16635:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "16625:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "16625:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16599:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "16599:47:7" - }, - "nodeType": "YulExpressionStatement", - "src": "16599:47:7" - }, - { - "nodeType": "YulAssignment", - "src": "16655:139:7", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16789:4:7" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "16663:124:7" - }, - "nodeType": "YulFunctionCall", - "src": "16663:131:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16655:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16533:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16548:4:7", - "type": "" - } - ], - "src": "16382:419:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16913:76:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "16935:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16943:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16931:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "16931:14:7" + "src": "19576:14:7" }, { "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "16947:34:7", + "src": "19592:34:7", "type": "", "value": "Ownable: caller is not the owner" } @@ -8945,13 +10239,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16924:6:7" + "src": "19569:6:7" }, "nodeType": "YulFunctionCall", - "src": "16924:58:7" + "src": "19569:58:7" }, "nodeType": "YulExpressionStatement", - "src": "16924:58:7" + "src": "19569:58:7" } ] }, @@ -8961,31 +10255,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "16905:6:7", + "src": "19550:6:7", "type": "" } ], - "src": "16807:182:7" + "src": "19452:182:7" }, { "body": { "nodeType": "YulBlock", - "src": "17141:220:7", + "src": "19786:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "17151:74:7", + "src": "19796:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17217:3:7" + "src": "19862:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17222:2:7", + "src": "19867:2:7", "type": "", "value": "32" } @@ -8993,16 +10287,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17158:58:7" + "src": "19803:58:7" }, "nodeType": "YulFunctionCall", - "src": "17158:67:7" + "src": "19803:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17151:3:7" + "src": "19796:3:7" } ] }, @@ -9012,34 +10306,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17323:3:7" + "src": "19968:3:7" } ], "functionName": { "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", "nodeType": "YulIdentifier", - "src": "17234:88:7" + "src": "19879:88:7" }, "nodeType": "YulFunctionCall", - "src": "17234:93:7" + "src": "19879:93:7" }, "nodeType": "YulExpressionStatement", - "src": "17234:93:7" + "src": "19879:93:7" }, { "nodeType": "YulAssignment", - "src": "17336:19:7", + "src": "19981:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17347:3:7" + "src": "19992:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17352:2:7", + "src": "19997:2:7", "type": "", "value": "32" } @@ -9047,16 +10341,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17343:3:7" + "src": "19988:3:7" }, "nodeType": "YulFunctionCall", - "src": "17343:12:7" + "src": "19988:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "17336:3:7" + "src": "19981:3:7" } ] } @@ -9068,7 +10362,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "17129:3:7", + "src": "19774:3:7", "type": "" } ], @@ -9076,31 +10370,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "17137:3:7", + "src": "19782:3:7", "type": "" } ], - "src": "16995:366:7" + "src": "19640:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "17538:248:7", + "src": "20183:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "17548:26:7", + "src": "20193:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17560:9:7" + "src": "20205:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17571:2:7", + "src": "20216:2:7", "type": "", "value": "32" } @@ -9108,16 +10402,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17556:3:7" + "src": "20201:3:7" }, "nodeType": "YulFunctionCall", - "src": "17556:18:7" + "src": "20201:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17548:4:7" + "src": "20193:4:7" } ] }, @@ -9129,12 +10423,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17595:9:7" + "src": "20240:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17606:1:7", + "src": "20251:1:7", "type": "", "value": "0" } @@ -9142,68 +10436,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17591:3:7" + "src": "20236:3:7" }, "nodeType": "YulFunctionCall", - "src": "17591:17:7" + "src": "20236:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17614:4:7" + "src": "20259:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17620:9:7" + "src": "20265:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17610:3:7" + "src": "20255:3:7" }, "nodeType": "YulFunctionCall", - "src": "17610:20:7" + "src": "20255:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17584:6:7" + "src": "20229:6:7" }, "nodeType": "YulFunctionCall", - "src": "17584:47:7" + "src": "20229:47:7" }, "nodeType": "YulExpressionStatement", - "src": "17584:47:7" + "src": "20229:47:7" }, { "nodeType": "YulAssignment", - "src": "17640:139:7", + "src": "20285:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17774:4:7" + "src": "20419:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17648:124:7" + "src": "20293:124:7" }, "nodeType": "YulFunctionCall", - "src": "17648:131:7" + "src": "20293:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17640:4:7" + "src": "20285:4:7" } ] } @@ -9215,7 +10509,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "17518:9:7", + "src": "20163:9:7", "type": "" } ], @@ -9223,16 +10517,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "17533:4:7", + "src": "20178:4:7", "type": "" } ], - "src": "17367:419:7" + "src": "20012:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "17898:63:7", + "src": "20543:63:7", "statements": [ { "expression": { @@ -9242,12 +10536,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17920:6:7" + "src": "20565:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17928:1:7", + "src": "20573:1:7", "type": "", "value": "0" } @@ -9255,16 +10549,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17916:3:7" + "src": "20561:3:7" }, "nodeType": "YulFunctionCall", - "src": "17916:14:7" + "src": "20561:14:7" }, { "hexValue": "5b42455d20696e76616c6964207369676e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "17932:21:7", + "src": "20577:21:7", "type": "", "value": "[BE] invalid signer" } @@ -9272,13 +10566,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17909:6:7" + "src": "20554:6:7" }, "nodeType": "YulFunctionCall", - "src": "17909:45:7" + "src": "20554:45:7" }, "nodeType": "YulExpressionStatement", - "src": "17909:45:7" + "src": "20554:45:7" } ] }, @@ -9288,31 +10582,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "17890:6:7", + "src": "20535:6:7", "type": "" } ], - "src": "17792:169:7" + "src": "20437:169:7" }, { "body": { "nodeType": "YulBlock", - "src": "18113:220:7", + "src": "20758:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "18123:74:7", + "src": "20768:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18189:3:7" + "src": "20834:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18194:2:7", + "src": "20839:2:7", "type": "", "value": "19" } @@ -9320,16 +10614,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18130:58:7" + "src": "20775:58:7" }, "nodeType": "YulFunctionCall", - "src": "18130:67:7" + "src": "20775:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18123:3:7" + "src": "20768:3:7" } ] }, @@ -9339,34 +10633,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18295:3:7" + "src": "20940:3:7" } ], "functionName": { "name": "store_literal_in_memory_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c", "nodeType": "YulIdentifier", - "src": "18206:88:7" + "src": "20851:88:7" }, "nodeType": "YulFunctionCall", - "src": "18206:93:7" + "src": "20851:93:7" }, "nodeType": "YulExpressionStatement", - "src": "18206:93:7" + "src": "20851:93:7" }, { "nodeType": "YulAssignment", - "src": "18308:19:7", + "src": "20953:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18319:3:7" + "src": "20964:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18324:2:7", + "src": "20969:2:7", "type": "", "value": "32" } @@ -9374,16 +10668,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18315:3:7" + "src": "20960:3:7" }, "nodeType": "YulFunctionCall", - "src": "18315:12:7" + "src": "20960:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "18308:3:7" + "src": "20953:3:7" } ] } @@ -9395,7 +10689,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "18101:3:7", + "src": "20746:3:7", "type": "" } ], @@ -9403,31 +10697,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18109:3:7", + "src": "20754:3:7", "type": "" } ], - "src": "17967:366:7" + "src": "20612:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "18510:248:7", + "src": "21155:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "18520:26:7", + "src": "21165:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18532:9:7" + "src": "21177:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18543:2:7", + "src": "21188:2:7", "type": "", "value": "32" } @@ -9435,16 +10729,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18528:3:7" + "src": "21173:3:7" }, "nodeType": "YulFunctionCall", - "src": "18528:18:7" + "src": "21173:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18520:4:7" + "src": "21165:4:7" } ] }, @@ -9456,12 +10750,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18567:9:7" + "src": "21212:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18578:1:7", + "src": "21223:1:7", "type": "", "value": "0" } @@ -9469,68 +10763,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18563:3:7" + "src": "21208:3:7" }, "nodeType": "YulFunctionCall", - "src": "18563:17:7" + "src": "21208:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18586:4:7" + "src": "21231:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18592:9:7" + "src": "21237:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "18582:3:7" + "src": "21227:3:7" }, "nodeType": "YulFunctionCall", - "src": "18582:20:7" + "src": "21227:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18556:6:7" + "src": "21201:6:7" }, "nodeType": "YulFunctionCall", - "src": "18556:47:7" + "src": "21201:47:7" }, "nodeType": "YulExpressionStatement", - "src": "18556:47:7" + "src": "21201:47:7" }, { "nodeType": "YulAssignment", - "src": "18612:139:7", + "src": "21257:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18746:4:7" + "src": "21391:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18620:124:7" + "src": "21265:124:7" }, "nodeType": "YulFunctionCall", - "src": "18620:131:7" + "src": "21265:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18612:4:7" + "src": "21257:4:7" } ] } @@ -9542,7 +10836,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18490:9:7", + "src": "21135:9:7", "type": "" } ], @@ -9550,16 +10844,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18505:4:7", + "src": "21150:4:7", "type": "" } ], - "src": "18339:419:7" + "src": "20984:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "18870:73:7", + "src": "21515:73:7", "statements": [ { "expression": { @@ -9569,12 +10863,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18892:6:7" + "src": "21537:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18900:1:7", + "src": "21545:1:7", "type": "", "value": "0" } @@ -9582,16 +10876,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18888:3:7" + "src": "21533:3:7" }, "nodeType": "YulFunctionCall", - "src": "18888:14:7" + "src": "21533:14:7" }, { "hexValue": "5b42455d20696e76616c6964207369676e6174757265206c656e677468", "kind": "string", "nodeType": "YulLiteral", - "src": "18904:31:7", + "src": "21549:31:7", "type": "", "value": "[BE] invalid signature length" } @@ -9599,13 +10893,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18881:6:7" + "src": "21526:6:7" }, "nodeType": "YulFunctionCall", - "src": "18881:55:7" + "src": "21526:55:7" }, "nodeType": "YulExpressionStatement", - "src": "18881:55:7" + "src": "21526:55:7" } ] }, @@ -9615,31 +10909,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "18862:6:7", + "src": "21507:6:7", "type": "" } ], - "src": "18764:179:7" + "src": "21409:179:7" }, { "body": { "nodeType": "YulBlock", - "src": "19095:220:7", + "src": "21740:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "19105:74:7", + "src": "21750:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19171:3:7" + "src": "21816:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19176:2:7", + "src": "21821:2:7", "type": "", "value": "29" } @@ -9647,16 +10941,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19112:58:7" + "src": "21757:58:7" }, "nodeType": "YulFunctionCall", - "src": "19112:67:7" + "src": "21757:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19105:3:7" + "src": "21750:3:7" } ] }, @@ -9666,34 +10960,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19277:3:7" + "src": "21922:3:7" } ], "functionName": { "name": "store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", "nodeType": "YulIdentifier", - "src": "19188:88:7" + "src": "21833:88:7" }, "nodeType": "YulFunctionCall", - "src": "19188:93:7" + "src": "21833:93:7" }, "nodeType": "YulExpressionStatement", - "src": "19188:93:7" + "src": "21833:93:7" }, { "nodeType": "YulAssignment", - "src": "19290:19:7", + "src": "21935:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19301:3:7" + "src": "21946:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19306:2:7", + "src": "21951:2:7", "type": "", "value": "32" } @@ -9701,16 +10995,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19297:3:7" + "src": "21942:3:7" }, "nodeType": "YulFunctionCall", - "src": "19297:12:7" + "src": "21942:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19290:3:7" + "src": "21935:3:7" } ] } @@ -9722,7 +11016,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "19083:3:7", + "src": "21728:3:7", "type": "" } ], @@ -9730,31 +11024,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "19091:3:7", + "src": "21736:3:7", "type": "" } ], - "src": "18949:366:7" + "src": "21594:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "19492:248:7", + "src": "22137:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "19502:26:7", + "src": "22147:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19514:9:7" + "src": "22159:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19525:2:7", + "src": "22170:2:7", "type": "", "value": "32" } @@ -9762,16 +11056,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19510:3:7" + "src": "22155:3:7" }, "nodeType": "YulFunctionCall", - "src": "19510:18:7" + "src": "22155:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19502:4:7" + "src": "22147:4:7" } ] }, @@ -9783,12 +11077,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19549:9:7" + "src": "22194:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19560:1:7", + "src": "22205:1:7", "type": "", "value": "0" } @@ -9796,68 +11090,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19545:3:7" + "src": "22190:3:7" }, "nodeType": "YulFunctionCall", - "src": "19545:17:7" + "src": "22190:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19568:4:7" + "src": "22213:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19574:9:7" + "src": "22219:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "19564:3:7" + "src": "22209:3:7" }, "nodeType": "YulFunctionCall", - "src": "19564:20:7" + "src": "22209:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19538:6:7" + "src": "22183:6:7" }, "nodeType": "YulFunctionCall", - "src": "19538:47:7" + "src": "22183:47:7" }, "nodeType": "YulExpressionStatement", - "src": "19538:47:7" + "src": "22183:47:7" }, { "nodeType": "YulAssignment", - "src": "19594:139:7", + "src": "22239:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19728:4:7" + "src": "22373:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19602:124:7" + "src": "22247:124:7" }, "nodeType": "YulFunctionCall", - "src": "19602:131:7" + "src": "22247:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19594:4:7" + "src": "22239:4:7" } ] } @@ -9869,7 +11163,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19472:9:7", + "src": "22117:9:7", "type": "" } ], @@ -9877,16 +11171,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19487:4:7", + "src": "22132:4:7", "type": "" } ], - "src": "19321:419:7" + "src": "21966:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "19852:66:7", + "src": "22497:66:7", "statements": [ { "expression": { @@ -9896,12 +11190,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19874:6:7" + "src": "22519:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19882:1:7", + "src": "22527:1:7", "type": "", "value": "0" } @@ -9909,16 +11203,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19870:3:7" + "src": "22515:3:7" }, "nodeType": "YulFunctionCall", - "src": "19870:14:7" + "src": "22515:14:7" }, { "hexValue": "5b42455d20696e76616c6964207369676e6174757265", "kind": "string", "nodeType": "YulLiteral", - "src": "19886:24:7", + "src": "22531:24:7", "type": "", "value": "[BE] invalid signature" } @@ -9926,13 +11220,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19863:6:7" + "src": "22508:6:7" }, "nodeType": "YulFunctionCall", - "src": "19863:48:7" + "src": "22508:48:7" }, "nodeType": "YulExpressionStatement", - "src": "19863:48:7" + "src": "22508:48:7" } ] }, @@ -9942,31 +11236,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "19844:6:7", + "src": "22489:6:7", "type": "" } ], - "src": "19746:172:7" + "src": "22391:172:7" }, { "body": { "nodeType": "YulBlock", - "src": "20070:220:7", + "src": "22715:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "20080:74:7", + "src": "22725:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20146:3:7" + "src": "22791:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20151:2:7", + "src": "22796:2:7", "type": "", "value": "22" } @@ -9974,16 +11268,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20087:58:7" + "src": "22732:58:7" }, "nodeType": "YulFunctionCall", - "src": "20087:67:7" + "src": "22732:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20080:3:7" + "src": "22725:3:7" } ] }, @@ -9993,34 +11287,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20252:3:7" + "src": "22897:3:7" } ], "functionName": { "name": "store_literal_in_memory_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72", "nodeType": "YulIdentifier", - "src": "20163:88:7" + "src": "22808:88:7" }, "nodeType": "YulFunctionCall", - "src": "20163:93:7" + "src": "22808:93:7" }, "nodeType": "YulExpressionStatement", - "src": "20163:93:7" + "src": "22808:93:7" }, { "nodeType": "YulAssignment", - "src": "20265:19:7", + "src": "22910:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20276:3:7" + "src": "22921:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20281:2:7", + "src": "22926:2:7", "type": "", "value": "32" } @@ -10028,16 +11322,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20272:3:7" + "src": "22917:3:7" }, "nodeType": "YulFunctionCall", - "src": "20272:12:7" + "src": "22917:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20265:3:7" + "src": "22910:3:7" } ] } @@ -10049,7 +11343,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "20058:3:7", + "src": "22703:3:7", "type": "" } ], @@ -10057,31 +11351,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "20066:3:7", + "src": "22711:3:7", "type": "" } ], - "src": "19924:366:7" + "src": "22569:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "20467:248:7", + "src": "23112:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "20477:26:7", + "src": "23122:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20489:9:7" + "src": "23134:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20500:2:7", + "src": "23145:2:7", "type": "", "value": "32" } @@ -10089,16 +11383,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20485:3:7" + "src": "23130:3:7" }, "nodeType": "YulFunctionCall", - "src": "20485:18:7" + "src": "23130:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20477:4:7" + "src": "23122:4:7" } ] }, @@ -10110,12 +11404,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20524:9:7" + "src": "23169:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20535:1:7", + "src": "23180:1:7", "type": "", "value": "0" } @@ -10123,68 +11417,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20520:3:7" + "src": "23165:3:7" }, "nodeType": "YulFunctionCall", - "src": "20520:17:7" + "src": "23165:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20543:4:7" + "src": "23188:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20549:9:7" + "src": "23194:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "20539:3:7" + "src": "23184:3:7" }, "nodeType": "YulFunctionCall", - "src": "20539:20:7" + "src": "23184:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20513:6:7" + "src": "23158:6:7" }, "nodeType": "YulFunctionCall", - "src": "20513:47:7" + "src": "23158:47:7" }, "nodeType": "YulExpressionStatement", - "src": "20513:47:7" + "src": "23158:47:7" }, { "nodeType": "YulAssignment", - "src": "20569:139:7", + "src": "23214:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20703:4:7" + "src": "23348:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20577:124:7" + "src": "23222:124:7" }, "nodeType": "YulFunctionCall", - "src": "20577:131:7" + "src": "23222:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20569:4:7" + "src": "23214:4:7" } ] } @@ -10196,7 +11490,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20447:9:7", + "src": "23092:9:7", "type": "" } ], @@ -10204,16 +11498,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20462:4:7", + "src": "23107:4:7", "type": "" } ], - "src": "20296:419:7" + "src": "22941:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "20827:121:7", + "src": "23472:121:7", "statements": [ { "expression": { @@ -10223,12 +11517,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20849:6:7" + "src": "23494:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20857:1:7", + "src": "23502:1:7", "type": "", "value": "0" } @@ -10236,16 +11530,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20845:3:7" + "src": "23490:3:7" }, "nodeType": "YulFunctionCall", - "src": "20845:14:7" + "src": "23490:14:7" }, { "hexValue": "436c61696d426f78466163746f72793a20616464726573732063616e206e6f74", "kind": "string", "nodeType": "YulLiteral", - "src": "20861:34:7", + "src": "23506:34:7", "type": "", "value": "ClaimBoxFactory: address can not" } @@ -10253,13 +11547,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20838:6:7" + "src": "23483:6:7" }, "nodeType": "YulFunctionCall", - "src": "20838:58:7" + "src": "23483:58:7" }, "nodeType": "YulExpressionStatement", - "src": "20838:58:7" + "src": "23483:58:7" }, { "expression": { @@ -10269,12 +11563,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20917:6:7" + "src": "23562:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20925:2:7", + "src": "23570:2:7", "type": "", "value": "32" } @@ -10282,16 +11576,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20913:3:7" + "src": "23558:3:7" }, "nodeType": "YulFunctionCall", - "src": "20913:15:7" + "src": "23558:15:7" }, { "hexValue": "206265207a65726f", "kind": "string", "nodeType": "YulLiteral", - "src": "20930:10:7", + "src": "23575:10:7", "type": "", "value": " be zero" } @@ -10299,13 +11593,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20906:6:7" + "src": "23551:6:7" }, "nodeType": "YulFunctionCall", - "src": "20906:35:7" + "src": "23551:35:7" }, "nodeType": "YulExpressionStatement", - "src": "20906:35:7" + "src": "23551:35:7" } ] }, @@ -10315,31 +11609,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "20819:6:7", + "src": "23464:6:7", "type": "" } ], - "src": "20721:227:7" + "src": "23366:227:7" }, { "body": { "nodeType": "YulBlock", - "src": "21100:220:7", + "src": "23745:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "21110:74:7", + "src": "23755:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21176:3:7" + "src": "23821:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21181:2:7", + "src": "23826:2:7", "type": "", "value": "40" } @@ -10347,16 +11641,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21117:58:7" + "src": "23762:58:7" }, "nodeType": "YulFunctionCall", - "src": "21117:67:7" + "src": "23762:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21110:3:7" + "src": "23755:3:7" } ] }, @@ -10366,34 +11660,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21282:3:7" + "src": "23927:3:7" } ], "functionName": { "name": "store_literal_in_memory_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1", "nodeType": "YulIdentifier", - "src": "21193:88:7" + "src": "23838:88:7" }, "nodeType": "YulFunctionCall", - "src": "21193:93:7" + "src": "23838:93:7" }, "nodeType": "YulExpressionStatement", - "src": "21193:93:7" + "src": "23838:93:7" }, { "nodeType": "YulAssignment", - "src": "21295:19:7", + "src": "23940:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21306:3:7" + "src": "23951:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21311:2:7", + "src": "23956:2:7", "type": "", "value": "64" } @@ -10401,16 +11695,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21302:3:7" + "src": "23947:3:7" }, "nodeType": "YulFunctionCall", - "src": "21302:12:7" + "src": "23947:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "21295:3:7" + "src": "23940:3:7" } ] } @@ -10422,7 +11716,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "21088:3:7", + "src": "23733:3:7", "type": "" } ], @@ -10430,31 +11724,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "21096:3:7", + "src": "23741:3:7", "type": "" } ], - "src": "20954:366:7" + "src": "23599:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "21497:248:7", + "src": "24142:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "21507:26:7", + "src": "24152:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21519:9:7" + "src": "24164:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21530:2:7", + "src": "24175:2:7", "type": "", "value": "32" } @@ -10462,16 +11756,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21515:3:7" + "src": "24160:3:7" }, "nodeType": "YulFunctionCall", - "src": "21515:18:7" + "src": "24160:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21507:4:7" + "src": "24152:4:7" } ] }, @@ -10483,12 +11777,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21554:9:7" + "src": "24199:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21565:1:7", + "src": "24210:1:7", "type": "", "value": "0" } @@ -10496,68 +11790,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21550:3:7" + "src": "24195:3:7" }, "nodeType": "YulFunctionCall", - "src": "21550:17:7" + "src": "24195:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21573:4:7" + "src": "24218:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21579:9:7" + "src": "24224:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21569:3:7" + "src": "24214:3:7" }, "nodeType": "YulFunctionCall", - "src": "21569:20:7" + "src": "24214:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21543:6:7" + "src": "24188:6:7" }, "nodeType": "YulFunctionCall", - "src": "21543:47:7" + "src": "24188:47:7" }, "nodeType": "YulExpressionStatement", - "src": "21543:47:7" + "src": "24188:47:7" }, { "nodeType": "YulAssignment", - "src": "21599:139:7", + "src": "24244:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21733:4:7" + "src": "24378:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21607:124:7" + "src": "24252:124:7" }, "nodeType": "YulFunctionCall", - "src": "21607:131:7" + "src": "24252:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21599:4:7" + "src": "24244:4:7" } ] } @@ -10569,7 +11863,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21477:9:7", + "src": "24122:9:7", "type": "" } ], @@ -10577,16 +11871,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21492:4:7", + "src": "24137:4:7", "type": "" } ], - "src": "21326:419:7" + "src": "23971:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "21857:119:7", + "src": "24502:119:7", "statements": [ { "expression": { @@ -10596,12 +11890,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21879:6:7" + "src": "24524:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21887:1:7", + "src": "24532:1:7", "type": "", "value": "0" } @@ -10609,16 +11903,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21875:3:7" + "src": "24520:3:7" }, "nodeType": "YulFunctionCall", - "src": "21875:14:7" + "src": "24520:14:7" }, { "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", "kind": "string", "nodeType": "YulLiteral", - "src": "21891:34:7", + "src": "24536:34:7", "type": "", "value": "Ownable: new owner is the zero a" } @@ -10626,13 +11920,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21868:6:7" + "src": "24513:6:7" }, "nodeType": "YulFunctionCall", - "src": "21868:58:7" + "src": "24513:58:7" }, "nodeType": "YulExpressionStatement", - "src": "21868:58:7" + "src": "24513:58:7" }, { "expression": { @@ -10642,12 +11936,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21947:6:7" + "src": "24592:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21955:2:7", + "src": "24600:2:7", "type": "", "value": "32" } @@ -10655,16 +11949,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21943:3:7" + "src": "24588:3:7" }, "nodeType": "YulFunctionCall", - "src": "21943:15:7" + "src": "24588:15:7" }, { "hexValue": "646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "21960:8:7", + "src": "24605:8:7", "type": "", "value": "ddress" } @@ -10672,13 +11966,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21936:6:7" + "src": "24581:6:7" }, "nodeType": "YulFunctionCall", - "src": "21936:33:7" + "src": "24581:33:7" }, "nodeType": "YulExpressionStatement", - "src": "21936:33:7" + "src": "24581:33:7" } ] }, @@ -10688,31 +11982,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "21849:6:7", + "src": "24494:6:7", "type": "" } ], - "src": "21751:225:7" + "src": "24396:225:7" }, { "body": { "nodeType": "YulBlock", - "src": "22128:220:7", + "src": "24773:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "22138:74:7", + "src": "24783:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22204:3:7" + "src": "24849:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22209:2:7", + "src": "24854:2:7", "type": "", "value": "38" } @@ -10720,16 +12014,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22145:58:7" + "src": "24790:58:7" }, "nodeType": "YulFunctionCall", - "src": "22145:67:7" + "src": "24790:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22138:3:7" + "src": "24783:3:7" } ] }, @@ -10739,34 +12033,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22310:3:7" + "src": "24955:3:7" } ], "functionName": { "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", "nodeType": "YulIdentifier", - "src": "22221:88:7" + "src": "24866:88:7" }, "nodeType": "YulFunctionCall", - "src": "22221:93:7" + "src": "24866:93:7" }, "nodeType": "YulExpressionStatement", - "src": "22221:93:7" + "src": "24866:93:7" }, { "nodeType": "YulAssignment", - "src": "22323:19:7", + "src": "24968:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22334:3:7" + "src": "24979:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22339:2:7", + "src": "24984:2:7", "type": "", "value": "64" } @@ -10774,16 +12068,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22330:3:7" + "src": "24975:3:7" }, "nodeType": "YulFunctionCall", - "src": "22330:12:7" + "src": "24975:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "22323:3:7" + "src": "24968:3:7" } ] } @@ -10795,7 +12089,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "22116:3:7", + "src": "24761:3:7", "type": "" } ], @@ -10803,31 +12097,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "22124:3:7", + "src": "24769:3:7", "type": "" } ], - "src": "21982:366:7" + "src": "24627:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "22525:248:7", + "src": "25170:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "22535:26:7", + "src": "25180:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22547:9:7" + "src": "25192:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22558:2:7", + "src": "25203:2:7", "type": "", "value": "32" } @@ -10835,16 +12129,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22543:3:7" + "src": "25188:3:7" }, "nodeType": "YulFunctionCall", - "src": "22543:18:7" + "src": "25188:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22535:4:7" + "src": "25180:4:7" } ] }, @@ -10856,12 +12150,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22582:9:7" + "src": "25227:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22593:1:7", + "src": "25238:1:7", "type": "", "value": "0" } @@ -10869,68 +12163,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22578:3:7" + "src": "25223:3:7" }, "nodeType": "YulFunctionCall", - "src": "22578:17:7" + "src": "25223:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22601:4:7" + "src": "25246:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22607:9:7" + "src": "25252:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "22597:3:7" + "src": "25242:3:7" }, "nodeType": "YulFunctionCall", - "src": "22597:20:7" + "src": "25242:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22571:6:7" + "src": "25216:6:7" }, "nodeType": "YulFunctionCall", - "src": "22571:47:7" + "src": "25216:47:7" }, "nodeType": "YulExpressionStatement", - "src": "22571:47:7" + "src": "25216:47:7" }, { "nodeType": "YulAssignment", - "src": "22627:139:7", + "src": "25272:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22761:4:7" + "src": "25406:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22635:124:7" + "src": "25280:124:7" }, "nodeType": "YulFunctionCall", - "src": "22635:131:7" + "src": "25280:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22627:4:7" + "src": "25272:4:7" } ] } @@ -10942,7 +12236,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22505:9:7", + "src": "25150:9:7", "type": "" } ], @@ -10950,30 +12244,30 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22520:4:7", + "src": "25165:4:7", "type": "" } ], - "src": "22354:419:7" + "src": "24999:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "22893:34:7", + "src": "25538:34:7", "statements": [ { "nodeType": "YulAssignment", - "src": "22903:18:7", + "src": "25548:18:7", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "22918:3:7" + "src": "25563:3:7" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "22903:11:7" + "src": "25548:11:7" } ] } @@ -10985,13 +12279,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "22865:3:7", + "src": "25510:3:7", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "22870:6:7", + "src": "25515:6:7", "type": "" } ], @@ -10999,16 +12293,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "22881:11:7", + "src": "25526:11:7", "type": "" } ], - "src": "22779:148:7" + "src": "25424:148:7" }, { "body": { "nodeType": "YulBlock", - "src": "23039:108:7", + "src": "25684:108:7", "statements": [ { "expression": { @@ -11018,12 +12312,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23061:6:7" + "src": "25706:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23069:1:7", + "src": "25714:1:7", "type": "", "value": "0" } @@ -11031,15 +12325,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23057:3:7" + "src": "25702:3:7" }, "nodeType": "YulFunctionCall", - "src": "23057:14:7" + "src": "25702:14:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23073:66:7", + "src": "25718:66:7", "type": "", "value": "0x19457468657265756d205369676e6564204d6573736167653a0a333200000000" } @@ -11047,13 +12341,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23050:6:7" + "src": "25695:6:7" }, "nodeType": "YulFunctionCall", - "src": "23050:90:7" + "src": "25695:90:7" }, "nodeType": "YulExpressionStatement", - "src": "23050:90:7" + "src": "25695:90:7" } ] }, @@ -11063,31 +12357,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "23031:6:7", + "src": "25676:6:7", "type": "" } ], - "src": "22933:214:7" + "src": "25578:214:7" }, { "body": { "nodeType": "YulBlock", - "src": "23317:238:7", + "src": "25962:238:7", "statements": [ { "nodeType": "YulAssignment", - "src": "23327:92:7", + "src": "25972:92:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23411:3:7" + "src": "26056:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23416:2:7", + "src": "26061:2:7", "type": "", "value": "28" } @@ -11095,16 +12389,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "23334:76:7" + "src": "25979:76:7" }, "nodeType": "YulFunctionCall", - "src": "23334:85:7" + "src": "25979:85:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23327:3:7" + "src": "25972:3:7" } ] }, @@ -11114,34 +12408,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23517:3:7" + "src": "26162:3:7" } ], "functionName": { "name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", "nodeType": "YulIdentifier", - "src": "23428:88:7" + "src": "26073:88:7" }, "nodeType": "YulFunctionCall", - "src": "23428:93:7" + "src": "26073:93:7" }, "nodeType": "YulExpressionStatement", - "src": "23428:93:7" + "src": "26073:93:7" }, { "nodeType": "YulAssignment", - "src": "23530:19:7", + "src": "26175:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23541:3:7" + "src": "26186:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23546:2:7", + "src": "26191:2:7", "type": "", "value": "28" } @@ -11149,16 +12443,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23537:3:7" + "src": "26182:3:7" }, "nodeType": "YulFunctionCall", - "src": "23537:12:7" + "src": "26182:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "23530:3:7" + "src": "26175:3:7" } ] } @@ -11170,7 +12464,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "23305:3:7", + "src": "25950:3:7", "type": "" } ], @@ -11178,30 +12472,30 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "23313:3:7", + "src": "25958:3:7", "type": "" } ], - "src": "23153:402:7" + "src": "25798:402:7" }, { "body": { "nodeType": "YulBlock", - "src": "23608:32:7", + "src": "26253:32:7", "statements": [ { "nodeType": "YulAssignment", - "src": "23618:16:7", + "src": "26263:16:7", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "23629:5:7" + "src": "26274:5:7" }, "variableNames": [ { "name": "aligned", "nodeType": "YulIdentifier", - "src": "23618:7:7" + "src": "26263:7:7" } ] } @@ -11213,7 +12507,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "23590:5:7", + "src": "26235:5:7", "type": "" } ], @@ -11221,16 +12515,16 @@ { "name": "aligned", "nodeType": "YulTypedName", - "src": "23600:7:7", + "src": "26245:7:7", "type": "" } ], - "src": "23561:79:7" + "src": "26206:79:7" }, { "body": { "nodeType": "YulBlock", - "src": "23729:74:7", + "src": "26374:74:7", "statements": [ { "expression": { @@ -11238,7 +12532,7 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23746:3:7" + "src": "26391:3:7" }, { "arguments": [ @@ -11247,37 +12541,37 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "23789:5:7" + "src": "26434:5:7" } ], "functionName": { "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "23771:17:7" + "src": "26416:17:7" }, "nodeType": "YulFunctionCall", - "src": "23771:24:7" + "src": "26416:24:7" } ], "functionName": { "name": "leftAlign_t_bytes32", "nodeType": "YulIdentifier", - "src": "23751:19:7" + "src": "26396:19:7" }, "nodeType": "YulFunctionCall", - "src": "23751:45:7" + "src": "26396:45:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23739:6:7" + "src": "26384:6:7" }, "nodeType": "YulFunctionCall", - "src": "23739:58:7" + "src": "26384:58:7" }, "nodeType": "YulExpressionStatement", - "src": "23739:58:7" + "src": "26384:58:7" } ] }, @@ -11287,47 +12581,47 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "23717:5:7", + "src": "26362:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "23724:3:7", + "src": "26369:3:7", "type": "" } ], - "src": "23646:157:7" + "src": "26291:157:7" }, { "body": { "nodeType": "YulBlock", - "src": "24026:305:7", + "src": "26671:305:7", "statements": [ { "nodeType": "YulAssignment", - "src": "24037:155:7", + "src": "26682:155:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24188:3:7" + "src": "26833:3:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "24044:142:7" + "src": "26689:142:7" }, "nodeType": "YulFunctionCall", - "src": "24044:148:7" + "src": "26689:148:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24037:3:7" + "src": "26682:3:7" } ] }, @@ -11337,39 +12631,39 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "24264:6:7" + "src": "26909:6:7" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "24273:3:7" + "src": "26918:3:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "24202:61:7" + "src": "26847:61:7" }, "nodeType": "YulFunctionCall", - "src": "24202:75:7" + "src": "26847:75:7" }, "nodeType": "YulExpressionStatement", - "src": "24202:75:7" + "src": "26847:75:7" }, { "nodeType": "YulAssignment", - "src": "24286:19:7", + "src": "26931:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24297:3:7" + "src": "26942:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24302:2:7", + "src": "26947:2:7", "type": "", "value": "32" } @@ -11377,32 +12671,32 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24293:3:7" + "src": "26938:3:7" }, "nodeType": "YulFunctionCall", - "src": "24293:12:7" + "src": "26938:12:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24286:3:7" + "src": "26931:3:7" } ] }, { "nodeType": "YulAssignment", - "src": "24315:10:7", + "src": "26960:10:7", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "24322:3:7" + "src": "26967:3:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "24315:3:7" + "src": "26960:3:7" } ] } @@ -11414,13 +12708,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "24005:3:7", + "src": "26650:3:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "24011:6:7", + "src": "26656:6:7", "type": "" } ], @@ -11428,16 +12722,16 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "24022:3:7", + "src": "26667:3:7", "type": "" } ], - "src": "23809:522:7" + "src": "26454:522:7" }, { "body": { "nodeType": "YulBlock", - "src": "24365:152:7", + "src": "27010:152:7", "statements": [ { "expression": { @@ -11445,14 +12739,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24382:1:7", + "src": "27027:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24385:77:7", + "src": "27030:77:7", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -11460,13 +12754,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24375:6:7" + "src": "27020:6:7" }, "nodeType": "YulFunctionCall", - "src": "24375:88:7" + "src": "27020:88:7" }, "nodeType": "YulExpressionStatement", - "src": "24375:88:7" + "src": "27020:88:7" }, { "expression": { @@ -11474,14 +12768,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24479:1:7", + "src": "27124:1:7", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24482:4:7", + "src": "27127:4:7", "type": "", "value": "0x21" } @@ -11489,13 +12783,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24472:6:7" + "src": "27117:6:7" }, "nodeType": "YulFunctionCall", - "src": "24472:15:7" + "src": "27117:15:7" }, "nodeType": "YulExpressionStatement", - "src": "24472:15:7" + "src": "27117:15:7" }, { "expression": { @@ -11503,14 +12797,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24503:1:7", + "src": "27148:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24506:4:7", + "src": "27151:4:7", "type": "", "value": "0x24" } @@ -11518,24 +12812,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "24496:6:7" + "src": "27141:6:7" }, "nodeType": "YulFunctionCall", - "src": "24496:15:7" + "src": "27141:15:7" }, "nodeType": "YulExpressionStatement", - "src": "24496:15:7" + "src": "27141:15:7" } ] }, "name": "panic_error_0x21", "nodeType": "YulFunctionDefinition", - "src": "24337:180:7" + "src": "26982:180:7" }, { "body": { "nodeType": "YulBlock", - "src": "24629:68:7", + "src": "27274:68:7", "statements": [ { "expression": { @@ -11545,12 +12839,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "24651:6:7" + "src": "27296:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24659:1:7", + "src": "27304:1:7", "type": "", "value": "0" } @@ -11558,16 +12852,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24647:3:7" + "src": "27292:3:7" }, "nodeType": "YulFunctionCall", - "src": "24647:14:7" + "src": "27292:14:7" }, { "hexValue": "45434453413a20696e76616c6964207369676e6174757265", "kind": "string", "nodeType": "YulLiteral", - "src": "24663:26:7", + "src": "27308:26:7", "type": "", "value": "ECDSA: invalid signature" } @@ -11575,13 +12869,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24640:6:7" + "src": "27285:6:7" }, "nodeType": "YulFunctionCall", - "src": "24640:50:7" + "src": "27285:50:7" }, "nodeType": "YulExpressionStatement", - "src": "24640:50:7" + "src": "27285:50:7" } ] }, @@ -11591,31 +12885,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "24621:6:7", + "src": "27266:6:7", "type": "" } ], - "src": "24523:174:7" + "src": "27168:174:7" }, { "body": { "nodeType": "YulBlock", - "src": "24849:220:7", + "src": "27494:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "24859:74:7", + "src": "27504:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24925:3:7" + "src": "27570:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24930:2:7", + "src": "27575:2:7", "type": "", "value": "24" } @@ -11623,16 +12917,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24866:58:7" + "src": "27511:58:7" }, "nodeType": "YulFunctionCall", - "src": "24866:67:7" + "src": "27511:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24859:3:7" + "src": "27504:3:7" } ] }, @@ -11642,34 +12936,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25031:3:7" + "src": "27676:3:7" } ], "functionName": { "name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", "nodeType": "YulIdentifier", - "src": "24942:88:7" + "src": "27587:88:7" }, "nodeType": "YulFunctionCall", - "src": "24942:93:7" + "src": "27587:93:7" }, "nodeType": "YulExpressionStatement", - "src": "24942:93:7" + "src": "27587:93:7" }, { "nodeType": "YulAssignment", - "src": "25044:19:7", + "src": "27689:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25055:3:7" + "src": "27700:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25060:2:7", + "src": "27705:2:7", "type": "", "value": "32" } @@ -11677,16 +12971,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25051:3:7" + "src": "27696:3:7" }, "nodeType": "YulFunctionCall", - "src": "25051:12:7" + "src": "27696:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "25044:3:7" + "src": "27689:3:7" } ] } @@ -11698,7 +12992,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "24837:3:7", + "src": "27482:3:7", "type": "" } ], @@ -11706,31 +13000,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "24845:3:7", + "src": "27490:3:7", "type": "" } ], - "src": "24703:366:7" + "src": "27348:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "25246:248:7", + "src": "27891:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "25256:26:7", + "src": "27901:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25268:9:7" + "src": "27913:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25279:2:7", + "src": "27924:2:7", "type": "", "value": "32" } @@ -11738,16 +13032,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25264:3:7" + "src": "27909:3:7" }, "nodeType": "YulFunctionCall", - "src": "25264:18:7" + "src": "27909:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25256:4:7" + "src": "27901:4:7" } ] }, @@ -11759,12 +13053,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25303:9:7" + "src": "27948:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25314:1:7", + "src": "27959:1:7", "type": "", "value": "0" } @@ -11772,68 +13066,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25299:3:7" + "src": "27944:3:7" }, "nodeType": "YulFunctionCall", - "src": "25299:17:7" + "src": "27944:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25322:4:7" + "src": "27967:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25328:9:7" + "src": "27973:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25318:3:7" + "src": "27963:3:7" }, "nodeType": "YulFunctionCall", - "src": "25318:20:7" + "src": "27963:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25292:6:7" + "src": "27937:6:7" }, "nodeType": "YulFunctionCall", - "src": "25292:47:7" + "src": "27937:47:7" }, "nodeType": "YulExpressionStatement", - "src": "25292:47:7" + "src": "27937:47:7" }, { "nodeType": "YulAssignment", - "src": "25348:139:7", + "src": "27993:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25482:4:7" + "src": "28127:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25356:124:7" + "src": "28001:124:7" }, "nodeType": "YulFunctionCall", - "src": "25356:131:7" + "src": "28001:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25348:4:7" + "src": "27993:4:7" } ] } @@ -11845,7 +13139,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "25226:9:7", + "src": "27871:9:7", "type": "" } ], @@ -11853,16 +13147,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "25241:4:7", + "src": "27886:4:7", "type": "" } ], - "src": "25075:419:7" + "src": "27720:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "25606:75:7", + "src": "28251:75:7", "statements": [ { "expression": { @@ -11872,12 +13166,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "25628:6:7" + "src": "28273:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25636:1:7", + "src": "28281:1:7", "type": "", "value": "0" } @@ -11885,16 +13179,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25624:3:7" + "src": "28269:3:7" }, "nodeType": "YulFunctionCall", - "src": "25624:14:7" + "src": "28269:14:7" }, { "hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", "kind": "string", "nodeType": "YulLiteral", - "src": "25640:33:7", + "src": "28285:33:7", "type": "", "value": "ECDSA: invalid signature length" } @@ -11902,13 +13196,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25617:6:7" + "src": "28262:6:7" }, "nodeType": "YulFunctionCall", - "src": "25617:57:7" + "src": "28262:57:7" }, "nodeType": "YulExpressionStatement", - "src": "25617:57:7" + "src": "28262:57:7" } ] }, @@ -11918,31 +13212,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "25598:6:7", + "src": "28243:6:7", "type": "" } ], - "src": "25500:181:7" + "src": "28145:181:7" }, { "body": { "nodeType": "YulBlock", - "src": "25833:220:7", + "src": "28478:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "25843:74:7", + "src": "28488:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25909:3:7" + "src": "28554:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25914:2:7", + "src": "28559:2:7", "type": "", "value": "31" } @@ -11950,16 +13244,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25850:58:7" + "src": "28495:58:7" }, "nodeType": "YulFunctionCall", - "src": "25850:67:7" + "src": "28495:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25843:3:7" + "src": "28488:3:7" } ] }, @@ -11969,34 +13263,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26015:3:7" + "src": "28660:3:7" } ], "functionName": { "name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", "nodeType": "YulIdentifier", - "src": "25926:88:7" + "src": "28571:88:7" }, "nodeType": "YulFunctionCall", - "src": "25926:93:7" + "src": "28571:93:7" }, "nodeType": "YulExpressionStatement", - "src": "25926:93:7" + "src": "28571:93:7" }, { "nodeType": "YulAssignment", - "src": "26028:19:7", + "src": "28673:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26039:3:7" + "src": "28684:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26044:2:7", + "src": "28689:2:7", "type": "", "value": "32" } @@ -12004,16 +13298,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26035:3:7" + "src": "28680:3:7" }, "nodeType": "YulFunctionCall", - "src": "26035:12:7" + "src": "28680:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "26028:3:7" + "src": "28673:3:7" } ] } @@ -12025,7 +13319,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "25821:3:7", + "src": "28466:3:7", "type": "" } ], @@ -12033,31 +13327,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "25829:3:7", + "src": "28474:3:7", "type": "" } ], - "src": "25687:366:7" + "src": "28332:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "26230:248:7", + "src": "28875:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "26240:26:7", + "src": "28885:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26252:9:7" + "src": "28897:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26263:2:7", + "src": "28908:2:7", "type": "", "value": "32" } @@ -12065,16 +13359,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26248:3:7" + "src": "28893:3:7" }, "nodeType": "YulFunctionCall", - "src": "26248:18:7" + "src": "28893:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26240:4:7" + "src": "28885:4:7" } ] }, @@ -12086,12 +13380,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26287:9:7" + "src": "28932:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26298:1:7", + "src": "28943:1:7", "type": "", "value": "0" } @@ -12099,68 +13393,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26283:3:7" + "src": "28928:3:7" }, "nodeType": "YulFunctionCall", - "src": "26283:17:7" + "src": "28928:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26306:4:7" + "src": "28951:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26312:9:7" + "src": "28957:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "26302:3:7" + "src": "28947:3:7" }, "nodeType": "YulFunctionCall", - "src": "26302:20:7" + "src": "28947:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26276:6:7" + "src": "28921:6:7" }, "nodeType": "YulFunctionCall", - "src": "26276:47:7" + "src": "28921:47:7" }, "nodeType": "YulExpressionStatement", - "src": "26276:47:7" + "src": "28921:47:7" }, { "nodeType": "YulAssignment", - "src": "26332:139:7", + "src": "28977:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26466:4:7" + "src": "29111:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26340:124:7" + "src": "28985:124:7" }, "nodeType": "YulFunctionCall", - "src": "26340:131:7" + "src": "28985:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26332:4:7" + "src": "28977:4:7" } ] } @@ -12172,7 +13466,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "26210:9:7", + "src": "28855:9:7", "type": "" } ], @@ -12180,16 +13474,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "26225:4:7", + "src": "28870:4:7", "type": "" } ], - "src": "26059:419:7" + "src": "28704:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "26590:115:7", + "src": "29235:115:7", "statements": [ { "expression": { @@ -12199,12 +13493,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26612:6:7" + "src": "29257:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26620:1:7", + "src": "29265:1:7", "type": "", "value": "0" } @@ -12212,16 +13506,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26608:3:7" + "src": "29253:3:7" }, "nodeType": "YulFunctionCall", - "src": "26608:14:7" + "src": "29253:14:7" }, { "hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c", "kind": "string", "nodeType": "YulLiteral", - "src": "26624:34:7", + "src": "29269:34:7", "type": "", "value": "ECDSA: invalid signature 's' val" } @@ -12229,13 +13523,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26601:6:7" + "src": "29246:6:7" }, "nodeType": "YulFunctionCall", - "src": "26601:58:7" + "src": "29246:58:7" }, "nodeType": "YulExpressionStatement", - "src": "26601:58:7" + "src": "29246:58:7" }, { "expression": { @@ -12245,12 +13539,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26680:6:7" + "src": "29325:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26688:2:7", + "src": "29333:2:7", "type": "", "value": "32" } @@ -12258,16 +13552,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26676:3:7" + "src": "29321:3:7" }, "nodeType": "YulFunctionCall", - "src": "26676:15:7" + "src": "29321:15:7" }, { "hexValue": "7565", "kind": "string", "nodeType": "YulLiteral", - "src": "26693:4:7", + "src": "29338:4:7", "type": "", "value": "ue" } @@ -12275,13 +13569,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26669:6:7" + "src": "29314:6:7" }, "nodeType": "YulFunctionCall", - "src": "26669:29:7" + "src": "29314:29:7" }, "nodeType": "YulExpressionStatement", - "src": "26669:29:7" + "src": "29314:29:7" } ] }, @@ -12291,31 +13585,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "26582:6:7", + "src": "29227:6:7", "type": "" } ], - "src": "26484:221:7" + "src": "29129:221:7" }, { "body": { "nodeType": "YulBlock", - "src": "26857:220:7", + "src": "29502:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "26867:74:7", + "src": "29512:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26933:3:7" + "src": "29578:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26938:2:7", + "src": "29583:2:7", "type": "", "value": "34" } @@ -12323,16 +13617,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26874:58:7" + "src": "29519:58:7" }, "nodeType": "YulFunctionCall", - "src": "26874:67:7" + "src": "29519:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26867:3:7" + "src": "29512:3:7" } ] }, @@ -12342,34 +13636,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27039:3:7" + "src": "29684:3:7" } ], "functionName": { "name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", "nodeType": "YulIdentifier", - "src": "26950:88:7" + "src": "29595:88:7" }, "nodeType": "YulFunctionCall", - "src": "26950:93:7" + "src": "29595:93:7" }, "nodeType": "YulExpressionStatement", - "src": "26950:93:7" + "src": "29595:93:7" }, { "nodeType": "YulAssignment", - "src": "27052:19:7", + "src": "29697:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27063:3:7" + "src": "29708:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27068:2:7", + "src": "29713:2:7", "type": "", "value": "64" } @@ -12377,16 +13671,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27059:3:7" + "src": "29704:3:7" }, "nodeType": "YulFunctionCall", - "src": "27059:12:7" + "src": "29704:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "27052:3:7" + "src": "29697:3:7" } ] } @@ -12398,7 +13692,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "26845:3:7", + "src": "29490:3:7", "type": "" } ], @@ -12406,31 +13700,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "26853:3:7", + "src": "29498:3:7", "type": "" } ], - "src": "26711:366:7" + "src": "29356:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "27254:248:7", + "src": "29899:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "27264:26:7", + "src": "29909:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27276:9:7" + "src": "29921:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27287:2:7", + "src": "29932:2:7", "type": "", "value": "32" } @@ -12438,16 +13732,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27272:3:7" + "src": "29917:3:7" }, "nodeType": "YulFunctionCall", - "src": "27272:18:7" + "src": "29917:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27264:4:7" + "src": "29909:4:7" } ] }, @@ -12459,12 +13753,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27311:9:7" + "src": "29956:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27322:1:7", + "src": "29967:1:7", "type": "", "value": "0" } @@ -12472,68 +13766,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27307:3:7" + "src": "29952:3:7" }, "nodeType": "YulFunctionCall", - "src": "27307:17:7" + "src": "29952:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27330:4:7" + "src": "29975:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27336:9:7" + "src": "29981:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "27326:3:7" + "src": "29971:3:7" }, "nodeType": "YulFunctionCall", - "src": "27326:20:7" + "src": "29971:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27300:6:7" + "src": "29945:6:7" }, "nodeType": "YulFunctionCall", - "src": "27300:47:7" + "src": "29945:47:7" }, "nodeType": "YulExpressionStatement", - "src": "27300:47:7" + "src": "29945:47:7" }, { "nodeType": "YulAssignment", - "src": "27356:139:7", + "src": "30001:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27490:4:7" + "src": "30135:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27364:124:7" + "src": "30009:124:7" }, "nodeType": "YulFunctionCall", - "src": "27364:131:7" + "src": "30009:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27356:4:7" + "src": "30001:4:7" } ] } @@ -12545,7 +13839,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "27234:9:7", + "src": "29879:9:7", "type": "" } ], @@ -12553,16 +13847,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "27249:4:7", + "src": "29894:4:7", "type": "" } ], - "src": "27083:419:7" + "src": "29728:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "27614:115:7", + "src": "30259:115:7", "statements": [ { "expression": { @@ -12572,12 +13866,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "27636:6:7" + "src": "30281:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27644:1:7", + "src": "30289:1:7", "type": "", "value": "0" } @@ -12585,16 +13879,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27632:3:7" + "src": "30277:3:7" }, "nodeType": "YulFunctionCall", - "src": "27632:14:7" + "src": "30277:14:7" }, { "hexValue": "45434453413a20696e76616c6964207369676e6174757265202776272076616c", "kind": "string", "nodeType": "YulLiteral", - "src": "27648:34:7", + "src": "30293:34:7", "type": "", "value": "ECDSA: invalid signature 'v' val" } @@ -12602,13 +13896,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27625:6:7" + "src": "30270:6:7" }, "nodeType": "YulFunctionCall", - "src": "27625:58:7" + "src": "30270:58:7" }, "nodeType": "YulExpressionStatement", - "src": "27625:58:7" + "src": "30270:58:7" }, { "expression": { @@ -12618,12 +13912,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "27704:6:7" + "src": "30349:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27712:2:7", + "src": "30357:2:7", "type": "", "value": "32" } @@ -12631,16 +13925,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27700:3:7" + "src": "30345:3:7" }, "nodeType": "YulFunctionCall", - "src": "27700:15:7" + "src": "30345:15:7" }, { "hexValue": "7565", "kind": "string", "nodeType": "YulLiteral", - "src": "27717:4:7", + "src": "30362:4:7", "type": "", "value": "ue" } @@ -12648,13 +13942,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27693:6:7" + "src": "30338:6:7" }, "nodeType": "YulFunctionCall", - "src": "27693:29:7" + "src": "30338:29:7" }, "nodeType": "YulExpressionStatement", - "src": "27693:29:7" + "src": "30338:29:7" } ] }, @@ -12664,31 +13958,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "27606:6:7", + "src": "30251:6:7", "type": "" } ], - "src": "27508:221:7" + "src": "30153:221:7" }, { "body": { "nodeType": "YulBlock", - "src": "27881:220:7", + "src": "30526:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "27891:74:7", + "src": "30536:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27957:3:7" + "src": "30602:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27962:2:7", + "src": "30607:2:7", "type": "", "value": "34" } @@ -12696,16 +13990,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27898:58:7" + "src": "30543:58:7" }, "nodeType": "YulFunctionCall", - "src": "27898:67:7" + "src": "30543:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27891:3:7" + "src": "30536:3:7" } ] }, @@ -12715,34 +14009,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28063:3:7" + "src": "30708:3:7" } ], "functionName": { "name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", "nodeType": "YulIdentifier", - "src": "27974:88:7" + "src": "30619:88:7" }, "nodeType": "YulFunctionCall", - "src": "27974:93:7" + "src": "30619:93:7" }, "nodeType": "YulExpressionStatement", - "src": "27974:93:7" + "src": "30619:93:7" }, { "nodeType": "YulAssignment", - "src": "28076:19:7", + "src": "30721:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28087:3:7" + "src": "30732:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28092:2:7", + "src": "30737:2:7", "type": "", "value": "64" } @@ -12750,16 +14044,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28083:3:7" + "src": "30728:3:7" }, "nodeType": "YulFunctionCall", - "src": "28083:12:7" + "src": "30728:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "28076:3:7" + "src": "30721:3:7" } ] } @@ -12771,7 +14065,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "27869:3:7", + "src": "30514:3:7", "type": "" } ], @@ -12779,31 +14073,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "27877:3:7", + "src": "30522:3:7", "type": "" } ], - "src": "27735:366:7" + "src": "30380:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "28278:248:7", + "src": "30923:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "28288:26:7", + "src": "30933:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28300:9:7" + "src": "30945:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28311:2:7", + "src": "30956:2:7", "type": "", "value": "32" } @@ -12811,16 +14105,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28296:3:7" + "src": "30941:3:7" }, "nodeType": "YulFunctionCall", - "src": "28296:18:7" + "src": "30941:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28288:4:7" + "src": "30933:4:7" } ] }, @@ -12832,12 +14126,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28335:9:7" + "src": "30980:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28346:1:7", + "src": "30991:1:7", "type": "", "value": "0" } @@ -12845,68 +14139,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28331:3:7" + "src": "30976:3:7" }, "nodeType": "YulFunctionCall", - "src": "28331:17:7" + "src": "30976:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28354:4:7" + "src": "30999:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28360:9:7" + "src": "31005:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "28350:3:7" + "src": "30995:3:7" }, "nodeType": "YulFunctionCall", - "src": "28350:20:7" + "src": "30995:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28324:6:7" + "src": "30969:6:7" }, "nodeType": "YulFunctionCall", - "src": "28324:47:7" + "src": "30969:47:7" }, "nodeType": "YulExpressionStatement", - "src": "28324:47:7" + "src": "30969:47:7" }, { "nodeType": "YulAssignment", - "src": "28380:139:7", + "src": "31025:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28514:4:7" + "src": "31159:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "28388:124:7" + "src": "31033:124:7" }, "nodeType": "YulFunctionCall", - "src": "28388:131:7" + "src": "31033:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28380:4:7" + "src": "31025:4:7" } ] } @@ -12918,7 +14212,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "28258:9:7", + "src": "30903:9:7", "type": "" } ], @@ -12926,16 +14220,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "28273:4:7", + "src": "30918:4:7", "type": "" } ], - "src": "28107:419:7" + "src": "30752:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "28638:108:7", + "src": "31283:108:7", "statements": [ { "expression": { @@ -12945,12 +14239,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "28660:6:7" + "src": "31305:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28668:1:7", + "src": "31313:1:7", "type": "", "value": "0" } @@ -12958,15 +14252,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28656:3:7" + "src": "31301:3:7" }, "nodeType": "YulFunctionCall", - "src": "28656:14:7" + "src": "31301:14:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28672:66:7", + "src": "31317:66:7", "type": "", "value": "0x1901000000000000000000000000000000000000000000000000000000000000" } @@ -12974,13 +14268,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28649:6:7" + "src": "31294:6:7" }, "nodeType": "YulFunctionCall", - "src": "28649:90:7" + "src": "31294:90:7" }, "nodeType": "YulExpressionStatement", - "src": "28649:90:7" + "src": "31294:90:7" } ] }, @@ -12990,31 +14284,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "28630:6:7", + "src": "31275:6:7", "type": "" } ], - "src": "28532:214:7" + "src": "31177:214:7" }, { "body": { "nodeType": "YulBlock", - "src": "28916:236:7", + "src": "31561:236:7", "statements": [ { "nodeType": "YulAssignment", - "src": "28926:91:7", + "src": "31571:91:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29010:3:7" + "src": "31655:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29015:1:7", + "src": "31660:1:7", "type": "", "value": "2" } @@ -13022,16 +14316,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "28933:76:7" + "src": "31578:76:7" }, "nodeType": "YulFunctionCall", - "src": "28933:84:7" + "src": "31578:84:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28926:3:7" + "src": "31571:3:7" } ] }, @@ -13041,34 +14335,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29115:3:7" + "src": "31760:3:7" } ], "functionName": { "name": "store_literal_in_memory_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", "nodeType": "YulIdentifier", - "src": "29026:88:7" + "src": "31671:88:7" }, "nodeType": "YulFunctionCall", - "src": "29026:93:7" + "src": "31671:93:7" }, "nodeType": "YulExpressionStatement", - "src": "29026:93:7" + "src": "31671:93:7" }, { "nodeType": "YulAssignment", - "src": "29128:18:7", + "src": "31773:18:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29139:3:7" + "src": "31784:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29144:1:7", + "src": "31789:1:7", "type": "", "value": "2" } @@ -13076,16 +14370,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29135:3:7" + "src": "31780:3:7" }, "nodeType": "YulFunctionCall", - "src": "29135:11:7" + "src": "31780:11:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "29128:3:7" + "src": "31773:3:7" } ] } @@ -13097,7 +14391,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "28904:3:7", + "src": "31549:3:7", "type": "" } ], @@ -13105,41 +14399,41 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "28912:3:7", + "src": "31557:3:7", "type": "" } ], - "src": "28752:400:7" + "src": "31397:400:7" }, { "body": { "nodeType": "YulBlock", - "src": "29403:418:7", + "src": "32048:418:7", "statements": [ { "nodeType": "YulAssignment", - "src": "29414:155:7", + "src": "32059:155:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29565:3:7" + "src": "32210:3:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "29421:142:7" + "src": "32066:142:7" }, "nodeType": "YulFunctionCall", - "src": "29421:148:7" + "src": "32066:148:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29414:3:7" + "src": "32059:3:7" } ] }, @@ -13149,39 +14443,39 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "29641:6:7" + "src": "32286:6:7" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "29650:3:7" + "src": "32295:3:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "29579:61:7" + "src": "32224:61:7" }, "nodeType": "YulFunctionCall", - "src": "29579:75:7" + "src": "32224:75:7" }, "nodeType": "YulExpressionStatement", - "src": "29579:75:7" + "src": "32224:75:7" }, { "nodeType": "YulAssignment", - "src": "29663:19:7", + "src": "32308:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29674:3:7" + "src": "32319:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29679:2:7", + "src": "32324:2:7", "type": "", "value": "32" } @@ -13189,16 +14483,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29670:3:7" + "src": "32315:3:7" }, "nodeType": "YulFunctionCall", - "src": "29670:12:7" + "src": "32315:12:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29663:3:7" + "src": "32308:3:7" } ] }, @@ -13208,39 +14502,39 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "29754:6:7" + "src": "32399:6:7" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "29763:3:7" + "src": "32408:3:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "29692:61:7" + "src": "32337:61:7" }, "nodeType": "YulFunctionCall", - "src": "29692:75:7" + "src": "32337:75:7" }, "nodeType": "YulExpressionStatement", - "src": "29692:75:7" + "src": "32337:75:7" }, { "nodeType": "YulAssignment", - "src": "29776:19:7", + "src": "32421:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29787:3:7" + "src": "32432:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29792:2:7", + "src": "32437:2:7", "type": "", "value": "32" } @@ -13248,32 +14542,32 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29783:3:7" + "src": "32428:3:7" }, "nodeType": "YulFunctionCall", - "src": "29783:12:7" + "src": "32428:12:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29776:3:7" + "src": "32421:3:7" } ] }, { "nodeType": "YulAssignment", - "src": "29805:10:7", + "src": "32450:10:7", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "29812:3:7" + "src": "32457:3:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "29805:3:7" + "src": "32450:3:7" } ] } @@ -13285,19 +14579,19 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "29374:3:7", + "src": "32019:3:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "29380:6:7", + "src": "32025:6:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "29388:6:7", + "src": "32033:6:7", "type": "" } ], @@ -13305,31 +14599,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "29399:3:7", + "src": "32044:3:7", "type": "" } ], - "src": "29158:663:7" + "src": "31803:663:7" }, { "body": { "nodeType": "YulBlock", - "src": "29870:43:7", + "src": "32515:43:7", "statements": [ { "nodeType": "YulAssignment", - "src": "29880:27:7", + "src": "32525:27:7", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "29895:5:7" + "src": "32540:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29902:4:7", + "src": "32547:4:7", "type": "", "value": "0xff" } @@ -13337,16 +14631,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "29891:3:7" + "src": "32536:3:7" }, "nodeType": "YulFunctionCall", - "src": "29891:16:7" + "src": "32536:16:7" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "29880:7:7" + "src": "32525:7:7" } ] } @@ -13358,7 +14652,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "29852:5:7", + "src": "32497:5:7", "type": "" } ], @@ -13366,16 +14660,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "29862:7:7", + "src": "32507:7:7", "type": "" } ], - "src": "29827:86:7" + "src": "32472:86:7" }, { "body": { "nodeType": "YulBlock", - "src": "29980:51:7", + "src": "32625:51:7", "statements": [ { "expression": { @@ -13383,35 +14677,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29997:3:7" + "src": "32642:3:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "30018:5:7" + "src": "32663:5:7" } ], "functionName": { "name": "cleanup_t_uint8", "nodeType": "YulIdentifier", - "src": "30002:15:7" + "src": "32647:15:7" }, "nodeType": "YulFunctionCall", - "src": "30002:22:7" + "src": "32647:22:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29990:6:7" + "src": "32635:6:7" }, "nodeType": "YulFunctionCall", - "src": "29990:35:7" + "src": "32635:35:7" }, "nodeType": "YulExpressionStatement", - "src": "29990:35:7" + "src": "32635:35:7" } ] }, @@ -13421,37 +14715,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "29968:5:7", + "src": "32613:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "29975:3:7", + "src": "32620:3:7", "type": "" } ], - "src": "29919:112:7" + "src": "32564:112:7" }, { "body": { "nodeType": "YulBlock", - "src": "30215:367:7", + "src": "32860:367:7", "statements": [ { "nodeType": "YulAssignment", - "src": "30225:27:7", + "src": "32870:27:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30237:9:7" + "src": "32882:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30248:3:7", + "src": "32893:3:7", "type": "", "value": "128" } @@ -13459,16 +14753,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30233:3:7" + "src": "32878:3:7" }, "nodeType": "YulFunctionCall", - "src": "30233:19:7" + "src": "32878:19:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30225:4:7" + "src": "32870:4:7" } ] }, @@ -13478,19 +14772,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "30306:6:7" + "src": "32951:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30319:9:7" + "src": "32964:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30330:1:7", + "src": "32975:1:7", "type": "", "value": "0" } @@ -13498,22 +14792,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30315:3:7" + "src": "32960:3:7" }, "nodeType": "YulFunctionCall", - "src": "30315:17:7" + "src": "32960:17:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30262:43:7" + "src": "32907:43:7" }, "nodeType": "YulFunctionCall", - "src": "30262:71:7" + "src": "32907:71:7" }, "nodeType": "YulExpressionStatement", - "src": "30262:71:7" + "src": "32907:71:7" }, { "expression": { @@ -13521,19 +14815,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "30383:6:7" + "src": "33028:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30396:9:7" + "src": "33041:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30407:2:7", + "src": "33052:2:7", "type": "", "value": "32" } @@ -13541,22 +14835,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30392:3:7" + "src": "33037:3:7" }, "nodeType": "YulFunctionCall", - "src": "30392:18:7" + "src": "33037:18:7" } ], "functionName": { "name": "abi_encode_t_uint8_to_t_uint8_fromStack", "nodeType": "YulIdentifier", - "src": "30343:39:7" + "src": "32988:39:7" }, "nodeType": "YulFunctionCall", - "src": "30343:68:7" + "src": "32988:68:7" }, "nodeType": "YulExpressionStatement", - "src": "30343:68:7" + "src": "32988:68:7" }, { "expression": { @@ -13564,19 +14858,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "30465:6:7" + "src": "33110:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30478:9:7" + "src": "33123:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30489:2:7", + "src": "33134:2:7", "type": "", "value": "64" } @@ -13584,22 +14878,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30474:3:7" + "src": "33119:3:7" }, "nodeType": "YulFunctionCall", - "src": "30474:18:7" + "src": "33119:18:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30421:43:7" + "src": "33066:43:7" }, "nodeType": "YulFunctionCall", - "src": "30421:72:7" + "src": "33066:72:7" }, "nodeType": "YulExpressionStatement", - "src": "30421:72:7" + "src": "33066:72:7" }, { "expression": { @@ -13607,19 +14901,19 @@ { "name": "value3", "nodeType": "YulIdentifier", - "src": "30547:6:7" + "src": "33192:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30560:9:7" + "src": "33205:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30571:2:7", + "src": "33216:2:7", "type": "", "value": "96" } @@ -13627,22 +14921,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30556:3:7" + "src": "33201:3:7" }, "nodeType": "YulFunctionCall", - "src": "30556:18:7" + "src": "33201:18:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30503:43:7" + "src": "33148:43:7" }, "nodeType": "YulFunctionCall", - "src": "30503:72:7" + "src": "33148:72:7" }, "nodeType": "YulExpressionStatement", - "src": "30503:72:7" + "src": "33148:72:7" } ] }, @@ -13652,31 +14946,31 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "30163:9:7", + "src": "32808:9:7", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "30175:6:7", + "src": "32820:6:7", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "30183:6:7", + "src": "32828:6:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "30191:6:7", + "src": "32836:6:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "30199:6:7", + "src": "32844:6:7", "type": "" } ], @@ -13684,31 +14978,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "30210:4:7", + "src": "32855:4:7", "type": "" } ], - "src": "30037:545:7" + "src": "32682:545:7" }, { "body": { "nodeType": "YulBlock", - "src": "30798:454:7", + "src": "33443:454:7", "statements": [ { "nodeType": "YulAssignment", - "src": "30808:27:7", + "src": "33453:27:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30820:9:7" + "src": "33465:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30831:3:7", + "src": "33476:3:7", "type": "", "value": "160" } @@ -13716,16 +15010,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30816:3:7" + "src": "33461:3:7" }, "nodeType": "YulFunctionCall", - "src": "30816:19:7" + "src": "33461:19:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30808:4:7" + "src": "33453:4:7" } ] }, @@ -13735,19 +15029,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "30889:6:7" + "src": "33534:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30902:9:7" + "src": "33547:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30913:1:7", + "src": "33558:1:7", "type": "", "value": "0" } @@ -13755,22 +15049,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30898:3:7" + "src": "33543:3:7" }, "nodeType": "YulFunctionCall", - "src": "30898:17:7" + "src": "33543:17:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30845:43:7" + "src": "33490:43:7" }, "nodeType": "YulFunctionCall", - "src": "30845:71:7" + "src": "33490:71:7" }, "nodeType": "YulExpressionStatement", - "src": "30845:71:7" + "src": "33490:71:7" }, { "expression": { @@ -13778,19 +15072,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "30970:6:7" + "src": "33615:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30983:9:7" + "src": "33628:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30994:2:7", + "src": "33639:2:7", "type": "", "value": "32" } @@ -13798,22 +15092,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30979:3:7" + "src": "33624:3:7" }, "nodeType": "YulFunctionCall", - "src": "30979:18:7" + "src": "33624:18:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30926:43:7" + "src": "33571:43:7" }, "nodeType": "YulFunctionCall", - "src": "30926:72:7" + "src": "33571:72:7" }, "nodeType": "YulExpressionStatement", - "src": "30926:72:7" + "src": "33571:72:7" }, { "expression": { @@ -13821,19 +15115,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "31052:6:7" + "src": "33697:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31065:9:7" + "src": "33710:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31076:2:7", + "src": "33721:2:7", "type": "", "value": "64" } @@ -13841,22 +15135,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31061:3:7" + "src": "33706:3:7" }, "nodeType": "YulFunctionCall", - "src": "31061:18:7" + "src": "33706:18:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "31008:43:7" + "src": "33653:43:7" }, "nodeType": "YulFunctionCall", - "src": "31008:72:7" + "src": "33653:72:7" }, "nodeType": "YulExpressionStatement", - "src": "31008:72:7" + "src": "33653:72:7" }, { "expression": { @@ -13864,19 +15158,19 @@ { "name": "value3", "nodeType": "YulIdentifier", - "src": "31134:6:7" + "src": "33779:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31147:9:7" + "src": "33792:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31158:2:7", + "src": "33803:2:7", "type": "", "value": "96" } @@ -13884,22 +15178,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31143:3:7" + "src": "33788:3:7" }, "nodeType": "YulFunctionCall", - "src": "31143:18:7" + "src": "33788:18:7" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "31090:43:7" + "src": "33735:43:7" }, "nodeType": "YulFunctionCall", - "src": "31090:72:7" + "src": "33735:72:7" }, "nodeType": "YulExpressionStatement", - "src": "31090:72:7" + "src": "33735:72:7" }, { "expression": { @@ -13907,19 +15201,19 @@ { "name": "value4", "nodeType": "YulIdentifier", - "src": "31216:6:7" + "src": "33861:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31229:9:7" + "src": "33874:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31240:3:7", + "src": "33885:3:7", "type": "", "value": "128" } @@ -13927,22 +15221,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31225:3:7" + "src": "33870:3:7" }, "nodeType": "YulFunctionCall", - "src": "31225:19:7" + "src": "33870:19:7" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "31172:43:7" + "src": "33817:43:7" }, "nodeType": "YulFunctionCall", - "src": "31172:73:7" + "src": "33817:73:7" }, "nodeType": "YulExpressionStatement", - "src": "31172:73:7" + "src": "33817:73:7" } ] }, @@ -13952,37 +15246,37 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "30738:9:7", + "src": "33383:9:7", "type": "" }, { "name": "value4", "nodeType": "YulTypedName", - "src": "30750:6:7", + "src": "33395:6:7", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "30758:6:7", + "src": "33403:6:7", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "30766:6:7", + "src": "33411:6:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "30774:6:7", + "src": "33419:6:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "30782:6:7", + "src": "33427:6:7", "type": "" } ], @@ -13990,29 +15284,29 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "30793:4:7", + "src": "33438:4:7", "type": "" } ], - "src": "30588:664:7" + "src": "33233:664:7" } ] }, - "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 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_addresst_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_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_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 function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // 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_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 128) { 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 := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_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_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 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_uint256_t_uint256__to_t_address_t_address_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed(pos , 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_uint256_to_t_uint256_nonPadded_inplace_fromStack(value2, pos)\n pos := add(pos, 32)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value3, 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 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_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_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimBoxFactory: unsupported NFT\")\n\n }\n\n function abi_encode_t_stringliteral_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9__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_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimBoxFactory: you already hav\")\n\n mstore(add(memPtr, 32), \"e a box\")\n\n }\n\n function abi_encode_t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5__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_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5_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 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_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimBoxFactory: address can not\")\n\n mstore(add(memPtr, 32), \" be zero\")\n\n }\n\n function abi_encode_t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1__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_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1_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 array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(memPtr) {\n\n mstore(add(memPtr, 0), 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n\n }\n\n function abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(pos)\n end := add(pos, 28)\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature\")\n\n }\n\n function abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature length\")\n\n }\n\n function abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 's' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 'v' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541(memPtr) {\n\n mstore(add(memPtr, 0), 0x1901000000000000000000000000000000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 2)\n store_literal_in_memory_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541(pos)\n end := add(pos, 2)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function 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 abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n }\n\n}\n", + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function 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 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_addresst_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_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_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 function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // 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_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 128) { 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 := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_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 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_uint256_t_uint256__to_t_address_t_address_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed(pos , 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_uint256_to_t_uint256_nonPadded_inplace_fromStack(value2, pos)\n pos := add(pos, 32)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value3, 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 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_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_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimBoxFactory: unsupported NFT\")\n\n }\n\n function abi_encode_t_stringliteral_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9__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_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimBoxFactory: claimed\")\n\n }\n\n function abi_encode_t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1__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_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function cleanup_t_rational_1_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_rational_1_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_rational_1_by_1(value)))\n }\n\n function abi_encode_t_rational_1_by_1_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_rational_1_by_1_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_rational_1_by_1__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_rational_1_by_1_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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 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_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimBoxFactory: address can not\")\n\n mstore(add(memPtr, 32), \" be zero\")\n\n }\n\n function abi_encode_t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1__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_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1_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 array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(memPtr) {\n\n mstore(add(memPtr, 0), 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n\n }\n\n function abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(pos)\n end := add(pos, 28)\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature\")\n\n }\n\n function abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature length\")\n\n }\n\n function abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 's' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 'v' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541(memPtr) {\n\n mstore(add(memPtr, 0), 0x1901000000000000000000000000000000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 2)\n store_literal_in_memory_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541(pos)\n end := add(pos, 2)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function 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 abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n }\n\n}\n", "id": 7, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "279:1776:4:-:0;;;544:53;;;;;;;;;;531:578:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;592:18:5;629:4;613:22;;;;;;592:43;;641:21;681:7;665:25;;;;;;641:49;;696:16;715:107;696:126;;843:10;828:25;;;;;;877:13;859:31;;;;;;915:13;896:32;;;;;;961:82;990:8;1006:10;1024:13;961:21;;;:82;;:::i;:::-;934:109;;;;;;1072:4;1049:28;;;;;;;;;;1096:8;1083:21;;;;;;586:523;;;531:578;;258:6:6;246:9;:18;;;;279:1776:4;;640:96:1;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;1113:319:5:-;1239:7;1308:8;1328;1348:11;1371:13;1404:4;1286:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1267:160;;;;;;1254:173;;1113:319;;;;;:::o;7:77:7:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:77::-;251:7;280:5;269:16;;214:77;;;:::o;297:118::-;384:24;402:5;384:24;:::i;:::-;379:3;372:37;297:118;;:::o;421:126::-;458:7;498:42;491:5;487:54;476:65;;421:126;;;:::o;553:96::-;590:7;619:24;637:5;619:24;:::i;:::-;608:35;;553:96;;;:::o;655:118::-;742:24;760:5;742:24;:::i;:::-;737:3;730:37;655:118;;:::o;779:664::-;984:4;1022:3;1011:9;1007:19;999:27;;1036:71;1104:1;1093:9;1089:17;1080:6;1036:71;:::i;:::-;1117:72;1185:2;1174:9;1170:18;1161:6;1117:72;:::i;:::-;1199;1267:2;1256:9;1252:18;1243:6;1199:72;:::i;:::-;1281;1349:2;1338:9;1334:18;1325:6;1281:72;:::i;:::-;1363:73;1431:3;1420:9;1416:19;1407:6;1363:73;:::i;:::-;779:664;;;;;;;;:::o;279:1776:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "279:1776:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;364:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1758:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1032:722;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;709:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2904:440:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1668:101:0;;;:::i;:::-;;601:104:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;859:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;667:87:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1036:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;528:91:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2556:344:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;337:23:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;364:46:4;;;;;;;;;;;;;;;;;;;;;;:::o;1758:295::-;1894:7;1909:20;1956:3;1967:8;1983:10;2001;1932:85;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1909:108;;2040:7;2030:18;;;;;;2023:25;;;1758:295;;;;;;:::o;1032:722::-;1175:9;;3420:15:5;3436:9;;3420:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3419:27;3404:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;1196:9:4::1;347:15:6;334:9;;327:4;:16;;;;:::i;:::-;:35;;312:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;1221:14:4::2;:26;1236:10;1221:26;;;;;;;;;;;;;;;;;;;;;;;;;1213:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1290:10;1303:12;:10;:12::i;:::-;1290:25;;1375:1;1346:10;1336:31;;;1368:2;1336:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;1321:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;1437:27;1467:82;1489:2;1499:10;1517:9;1534;1467:14;:82::i;:::-;1437:112;;1555:53;1567:8;;;;;;;;;;;1577:19;1598:9;;1555:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;:53::i;:::-;1614:15;1642:10;1632:26;;;1659:2;1632:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1614:48;;1668:24;1682:9;;1668:13;:24::i;:::-;1730:9;1726:2;1703:46;;1714:10;1703:46;;;1741:7;1703:46;;;;;;:::i;:::-;;;;;;;;1207:547;;;3539:1:5::1;1032:722:4::0;;;;;;;:::o;709:108::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;807:5:4::1;780:14;:24;795:8;780:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;709:108:::0;:::o;2904:440:5:-;3039:1;3021:20;;:6;:20;;;;3013:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;3099:2;3079:9;:16;:22;3071:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3141:28;3172:34;3201:4;3172:28;:34::i;:::-;3141:65;;3213:17;3233:46;3247:20;3269:9;3233:13;:46::i;:::-;3213:66;;3306:6;3293:19;;:9;:19;;;3285:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3007:337;;2904:440;;;:::o;1668:101:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;601:104:4:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;696:4:4::1;669:14;:24;684:8;669:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;601:104:::0;:::o;859:169::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;952:1:4::1;933:21;;:7;:21;;;;925:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;1016:7;1005:8;;:18;;;;;;;;;;;;;;;;;;859:169:::0;:::o;667:87:6:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;743:6:6::1;731:9;:18;;;;667:87:::0;:::o;1036:85:0:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;528:91:6:-;574:16;605:9;;598:16;;528:91;:::o;2556:344:5:-;2700:1;2682:20;;:6;:20;;;;2674:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;2732:14;2749:28;2766:10;2749:16;:28::i;:::-;2732:45;;2783:17;2803:32;2817:6;2825:9;2803:13;:32::i;:::-;2783:52;;2862:6;2849:19;;:9;:19;;;2841:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2668:232;;2556:344;;;:::o;337:23:4:-;;;;;;;;;;;;;:::o;1918:198:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;640:96:1:-;693:7;719:10;712:17;;640:96;:::o;3549:149:5:-;3618:15;3634:9;;3618:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3613:81;;3683:4;3654:15;3670:9;;3654:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;3613:81;3549:149;;:::o;8012:265:3:-;8081:7;8264:4;8211:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;8201:69;;;;;;8194:76;;8012:265;;;:::o;4308:227::-;4386:7;4406:17;4425:18;4447:27;4458:4;4464:9;4447:10;:27::i;:::-;4405:69;;;;4484:18;4496:5;4484:11;:18::i;:::-;4519:9;4512:16;;;;4308:227;;;;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;2385:167:5:-;2470:7;2492:55;2514:20;:18;:20::i;:::-;2536:10;2492:21;:55::i;:::-;2485:62;;2385:167;;;:::o;2243:1279:3:-;2324:7;2333:12;2574:2;2554:9;:16;:22;2550:966;;;2592:9;2615;2638:7;2843:4;2832:9;2828:20;2822:27;2817:32;;2892:4;2881:9;2877:20;2871:27;2866:32;;2949:4;2938:9;2934:20;2928:27;2925:1;2920:36;2915:41;;2990:25;3001:4;3007:1;3010;3013;2990:10;:25::i;:::-;2983:32;;;;;;;;;2550:966;3056:2;3036:9;:16;:22;3032:484;;;3074:9;3097:10;3305:4;3294:9;3290:20;3284:27;3279:32;;3355:4;3344:9;3340:20;3334:27;3328:33;;3395:23;3406:4;3412:1;3415:2;3395:10;:23::i;:::-;3388:30;;;;;;;;3032:484;3465:1;3469:35;3449:56;;;;2243:1279;;;;;;:::o;548:631::-;625:20;616:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;612:561;;;661:7;;612:561;721:29;712:38;;;;;;;;:::i;:::-;;:5;:38;;;;;;;;:::i;:::-;;;708:465;;;766:34;;;;;;;;;;:::i;:::-;;;;;;;;708:465;830:35;821:44;;;;;;;;:::i;:::-;;:5;:44;;;;;;;;:::i;:::-;;;817:356;;;881:41;;;;;;;;;;:::i;:::-;;;;;;;;817:356;952:30;943:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;939:234;;;998:44;;;;;;;;;;:::i;:::-;;;;;;;;939:234;1072:30;1063:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;1059:114;;;1118:44;;;;;;;;;;:::i;:::-;;;;;;;;1059:114;548:631;;:::o;1510:282:5:-;1563:7;1599:12;1582:29;;1590:4;1582:29;;;:66;;;;;1632:16;1615:13;:33;1582:66;1578:210;;;1665:24;1658:31;;;;1578:210;1717:64;1739:10;1751:12;1765:15;1717:21;:64::i;:::-;1710:71;;1510:282;;:::o;9097:194:3:-;9190:7;9255:15;9272:10;9226:57;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9216:68;;;;;;9209:75;;9097:194;;;;:::o;5716:1603::-;5842:7;5851:12;6766:66;6761:1;6753:10;;:79;6749:161;;;6864:1;6868:30;6848:51;;;;;;6749:161;6928:2;6923:1;:7;;;;:18;;;;;6939:2;6934:1;:7;;;;6923:18;6919:100;;;6973:1;6977:30;6957:51;;;;;;6919:100;7113:14;7130:24;7140:4;7146:1;7149;7152;7130:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7113:41;;7186:1;7168:20;;:6;:20;;;7164:101;;;7220:1;7224:29;7204:50;;;;;;;7164:101;7283:6;7291:20;7275:37;;;;;5716:1603;;;;;;;;:::o;4789:336::-;4899:7;4908:12;4932:9;4957:66;4949:75;;4944:2;:80;4932:92;;5034:7;5073:2;5066:3;5059:2;5051:11;;:18;;5050:25;;;;:::i;:::-;5034:42;;5093:25;5104:4;5110:1;5113;5116;5093:10;:25::i;:::-;5086:32;;;;;;4789:336;;;;;;:::o;1113:319:5:-;1239:7;1308:8;1328;1348:11;1371:13;1404:4;1286:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1267:160;;;;;;1254:173;;1113:319;;;;;:::o;7:75:7:-;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:122::-;1759:24;1777:5;1759:24;:::i;:::-;1752:5;1749:35;1739:63;;1798:1;1795;1788:12;1739:63;1686:122;:::o;1814:139::-;1860:5;1898:6;1885:20;1876:29;;1914:33;1941:5;1914:33;:::i;:::-;1814:139;;;;:::o;1959:765::-;2045:6;2053;2061;2069;2118:3;2106:9;2097:7;2093:23;2089:33;2086:120;;;2125:79;;:::i;:::-;2086:120;2245:1;2270:53;2315:7;2306:6;2295:9;2291:22;2270:53;:::i;:::-;2260:63;;2216:117;2372:2;2398:53;2443:7;2434:6;2423:9;2419:22;2398:53;:::i;:::-;2388:63;;2343:118;2500:2;2526:53;2571:7;2562:6;2551:9;2547:22;2526:53;:::i;:::-;2516:63;;2471:118;2628:2;2654:53;2699:7;2690:6;2679:9;2675:22;2654:53;:::i;:::-;2644:63;;2599:118;1959:765;;;;;;;:::o;2730:77::-;2767:7;2796:5;2785:16;;2730:77;;;:::o;2813:118::-;2900:24;2918:5;2900:24;:::i;:::-;2895:3;2888:37;2813:118;;:::o;2937:222::-;3030:4;3068:2;3057:9;3053:18;3045:26;;3081:71;3149:1;3138:9;3134:17;3125:6;3081:71;:::i;:::-;2937:222;;;;:::o;3165:117::-;3274:1;3271;3264:12;3288:117;3397:1;3394;3387:12;3411:117;3520:1;3517;3510:12;3547:552;3604:8;3614:6;3664:3;3657:4;3649:6;3645:17;3641:27;3631:122;;3672:79;;:::i;:::-;3631:122;3785:6;3772:20;3762:30;;3815:18;3807:6;3804:30;3801:117;;;3837:79;;:::i;:::-;3801:117;3951:4;3943:6;3939:17;3927:29;;4005:3;3997:4;3989:6;3985:17;3975:8;3971:32;3968:41;3965:128;;;4012:79;;:::i;:::-;3965:128;3547:552;;;;;:::o;4105:963::-;4202:6;4210;4218;4226;4234;4283:3;4271:9;4262:7;4258:23;4254:33;4251:120;;;4290:79;;:::i;:::-;4251:120;4410:1;4435:53;4480:7;4471:6;4460:9;4456:22;4435:53;:::i;:::-;4425:63;;4381:117;4537:2;4563:53;4608:7;4599:6;4588:9;4584:22;4563:53;:::i;:::-;4553:63;;4508:118;4665:2;4691:53;4736:7;4727:6;4716:9;4712:22;4691:53;:::i;:::-;4681:63;;4636:118;4821:2;4810:9;4806:18;4793:32;4852:18;4844:6;4841:30;4838:117;;;4874:79;;:::i;:::-;4838:117;4987:64;5043:7;5034:6;5023:9;5019:22;4987:64;:::i;:::-;4969:82;;;;4764:297;4105:963;;;;;;;;:::o;5074:122::-;5147:24;5165:5;5147:24;:::i;:::-;5140:5;5137:35;5127:63;;5186:1;5183;5176:12;5127:63;5074:122;:::o;5202:139::-;5248:5;5286:6;5273:20;5264:29;;5302:33;5329:5;5302:33;:::i;:::-;5202:139;;;;:::o;5347:117::-;5456:1;5453;5446:12;5470:102;5511:6;5562:2;5558:7;5553:2;5546:5;5542:14;5538:28;5528:38;;5470:102;;;:::o;5578:180::-;5626:77;5623:1;5616:88;5723:4;5720:1;5713:15;5747:4;5744:1;5737:15;5764:281;5847:27;5869:4;5847:27;:::i;:::-;5839:6;5835:40;5977:6;5965:10;5962:22;5941:18;5929:10;5926:34;5923:62;5920:88;;;5988:18;;:::i;:::-;5920:88;6028:10;6024:2;6017:22;5807:238;5764:281;;:::o;6051:129::-;6085:6;6112:20;;:::i;:::-;6102:30;;6141:33;6169:4;6161:6;6141:33;:::i;:::-;6051:129;;;:::o;6186:307::-;6247:4;6337:18;6329:6;6326:30;6323:56;;;6359:18;;:::i;:::-;6323:56;6397:29;6419:6;6397:29;:::i;:::-;6389:37;;6481:4;6475;6471:15;6463:23;;6186:307;;;:::o;6499:154::-;6583:6;6578:3;6573;6560:30;6645:1;6636:6;6631:3;6627:16;6620:27;6499:154;;;:::o;6659:410::-;6736:5;6761:65;6777:48;6818:6;6777:48;:::i;:::-;6761:65;:::i;:::-;6752:74;;6849:6;6842:5;6835:21;6887:4;6880:5;6876:16;6925:3;6916:6;6911:3;6907:16;6904:25;6901:112;;;6932:79;;:::i;:::-;6901:112;7022:41;7056:6;7051:3;7046;7022:41;:::i;:::-;6742:327;6659:410;;;;;:::o;7088:338::-;7143:5;7192:3;7185:4;7177:6;7173:17;7169:27;7159:122;;7200:79;;:::i;:::-;7159:122;7317:6;7304:20;7342:78;7416:3;7408:6;7401:4;7393:6;7389:17;7342:78;:::i;:::-;7333:87;;7149:277;7088:338;;;;:::o;7432:797::-;7518:6;7526;7534;7583:2;7571:9;7562:7;7558:23;7554:32;7551:119;;;7589:79;;:::i;:::-;7551:119;7709:1;7734:53;7779:7;7770:6;7759:9;7755:22;7734:53;:::i;:::-;7724:63;;7680:117;7836:2;7862:53;7907:7;7898:6;7887:9;7883:22;7862:53;:::i;:::-;7852:63;;7807:118;7992:2;7981:9;7977:18;7964:32;8023:18;8015:6;8012:30;8009:117;;;8045:79;;:::i;:::-;8009:117;8150:62;8204:7;8195:6;8184:9;8180:22;8150:62;:::i;:::-;8140:72;;7935:287;7432:797;;;;;:::o;8235:329::-;8294:6;8343:2;8331:9;8322:7;8318:23;8314:32;8311:119;;;8349:79;;:::i;:::-;8311:119;8469:1;8494:53;8539:7;8530:6;8519:9;8515:22;8494:53;:::i;:::-;8484:63;;8440:117;8235:329;;;;:::o;8570:118::-;8657:24;8675:5;8657:24;:::i;:::-;8652:3;8645:37;8570:118;;:::o;8694:222::-;8787:4;8825:2;8814:9;8810:18;8802:26;;8838:71;8906:1;8895:9;8891:17;8882:6;8838:71;:::i;:::-;8694:222;;;;:::o;8922:118::-;9009:24;9027:5;9009:24;:::i;:::-;9004:3;8997:37;8922:118;;:::o;9046:222::-;9139:4;9177:2;9166:9;9162:18;9154:26;;9190:71;9258:1;9247:9;9243:17;9234:6;9190:71;:::i;:::-;9046:222;;;;:::o;9274:94::-;9307:8;9355:5;9351:2;9347:14;9326:35;;9274:94;;;:::o;9374:::-;9413:7;9442:20;9456:5;9442:20;:::i;:::-;9431:31;;9374:94;;;:::o;9474:100::-;9513:7;9542:26;9562:5;9542:26;:::i;:::-;9531:37;;9474:100;;;:::o;9580:157::-;9685:45;9705:24;9723:5;9705:24;:::i;:::-;9685:45;:::i;:::-;9680:3;9673:58;9580:157;;:::o;9743:79::-;9782:7;9811:5;9800:16;;9743:79;;;:::o;9828:157::-;9933:45;9953:24;9971:5;9953:24;:::i;:::-;9933:45;:::i;:::-;9928:3;9921:58;9828:157;;:::o;9991:679::-;10187:3;10202:75;10273:3;10264:6;10202:75;:::i;:::-;10302:2;10297:3;10293:12;10286:19;;10315:75;10386:3;10377:6;10315:75;:::i;:::-;10415:2;10410:3;10406:12;10399:19;;10428:75;10499:3;10490:6;10428:75;:::i;:::-;10528:2;10523:3;10519:12;10512:19;;10541:75;10612:3;10603:6;10541:75;:::i;:::-;10641:2;10636:3;10632:12;10625:19;;10661:3;10654:10;;9991:679;;;;;;;:::o;10676:147::-;10777:11;10814:3;10799:18;;10676:147;;;;:::o;10851:314::-;10965:3;10986:88;11067:6;11062:3;10986:88;:::i;:::-;10979:95;;11084:43;11120:6;11115:3;11108:5;11084:43;:::i;:::-;11152:6;11147:3;11143:16;11136:23;;10851:314;;;;;:::o;11171:291::-;11311:3;11333:103;11432:3;11423:6;11415;11333:103;:::i;:::-;11326:110;;11453:3;11446:10;;11171:291;;;;;:::o;11468:169::-;11552:11;11586:6;11581:3;11574:19;11626:4;11621:3;11617:14;11602:29;;11468:169;;;;:::o;11643:295::-;11783:34;11779:1;11771:6;11767:14;11760:58;11852:34;11847:2;11839:6;11835:15;11828:59;11921:9;11916:2;11908:6;11904:15;11897:34;11643:295;:::o;11944:366::-;12086:3;12107:67;12171:2;12166:3;12107:67;:::i;:::-;12100:74;;12183:93;12272:3;12183:93;:::i;:::-;12301:2;12296:3;12292:12;12285:19;;11944:366;;;:::o;12316:419::-;12482:4;12520:2;12509:9;12505:18;12497:26;;12569:9;12563:4;12559:20;12555:1;12544:9;12540:17;12533:47;12597:131;12723:4;12597:131;:::i;:::-;12589:139;;12316:419;;;:::o;12741:180::-;12789:77;12786:1;12779:88;12886:4;12883:1;12876:15;12910:4;12907:1;12900:15;12927:305;12967:3;12986:20;13004:1;12986:20;:::i;:::-;12981:25;;13020:20;13038:1;13020:20;:::i;:::-;13015:25;;13174:1;13106:66;13102:74;13099:1;13096:81;13093:107;;;13180:18;;:::i;:::-;13093:107;13224:1;13221;13217:9;13210:16;;12927:305;;;;:::o;13238:246::-;13378:34;13374:1;13366:6;13362:14;13355:58;13447:29;13442:2;13434:6;13430:15;13423:54;13238:246;:::o;13490:366::-;13632:3;13653:67;13717:2;13712:3;13653:67;:::i;:::-;13646:74;;13729:93;13818:3;13729:93;:::i;:::-;13847:2;13842:3;13838:12;13831:19;;13490:366;;;:::o;13862:419::-;14028:4;14066:2;14055:9;14051:18;14043:26;;14115:9;14109:4;14105:20;14101:1;14090:9;14086:17;14079:47;14143:131;14269:4;14143:131;:::i;:::-;14135:139;;13862:419;;;:::o;14287:182::-;14427:34;14423:1;14415:6;14411:14;14404:58;14287:182;:::o;14475:366::-;14617:3;14638:67;14702:2;14697:3;14638:67;:::i;:::-;14631:74;;14714:93;14803:3;14714:93;:::i;:::-;14832:2;14827:3;14823:12;14816:19;;14475:366;;;:::o;14847:419::-;15013:4;15051:2;15040:9;15036:18;15028:26;;15100:9;15094:4;15090:20;15086:1;15075:9;15071:17;15064:47;15128:131;15254:4;15128:131;:::i;:::-;15120:139;;14847:419;;;:::o;15272:143::-;15329:5;15360:6;15354:13;15345:22;;15376:33;15403:5;15376:33;:::i;:::-;15272:143;;;;:::o;15421:351::-;15491:6;15540:2;15528:9;15519:7;15515:23;15511:32;15508:119;;;15546:79;;:::i;:::-;15508:119;15666:1;15691:64;15747:7;15738:6;15727:9;15723:22;15691:64;:::i;:::-;15681:74;;15637:128;15421:351;;;;:::o;15778:226::-;15918:34;15914:1;15906:6;15902:14;15895:58;15987:9;15982:2;15974:6;15970:15;15963:34;15778:226;:::o;16010:366::-;16152:3;16173:67;16237:2;16232:3;16173:67;:::i;:::-;16166:74;;16249:93;16338:3;16249:93;:::i;:::-;16367:2;16362:3;16358:12;16351:19;;16010:366;;;:::o;16382:419::-;16548:4;16586:2;16575:9;16571:18;16563:26;;16635:9;16629:4;16625:20;16621:1;16610:9;16606:17;16599:47;16663:131;16789:4;16663:131;:::i;:::-;16655:139;;16382:419;;;:::o;16807:182::-;16947:34;16943:1;16935:6;16931:14;16924:58;16807:182;:::o;16995:366::-;17137:3;17158:67;17222:2;17217:3;17158:67;:::i;:::-;17151:74;;17234:93;17323:3;17234:93;:::i;:::-;17352:2;17347:3;17343:12;17336:19;;16995:366;;;:::o;17367:419::-;17533:4;17571:2;17560:9;17556:18;17548:26;;17620:9;17614:4;17610:20;17606:1;17595:9;17591:17;17584:47;17648:131;17774:4;17648:131;:::i;:::-;17640:139;;17367:419;;;:::o;17792:169::-;17932:21;17928:1;17920:6;17916:14;17909:45;17792:169;:::o;17967:366::-;18109:3;18130:67;18194:2;18189:3;18130:67;:::i;:::-;18123:74;;18206:93;18295:3;18206:93;:::i;:::-;18324:2;18319:3;18315:12;18308:19;;17967:366;;;:::o;18339:419::-;18505:4;18543:2;18532:9;18528:18;18520:26;;18592:9;18586:4;18582:20;18578:1;18567:9;18563:17;18556:47;18620:131;18746:4;18620:131;:::i;:::-;18612:139;;18339:419;;;:::o;18764:179::-;18904:31;18900:1;18892:6;18888:14;18881:55;18764:179;:::o;18949:366::-;19091:3;19112:67;19176:2;19171:3;19112:67;:::i;:::-;19105:74;;19188:93;19277:3;19188:93;:::i;:::-;19306:2;19301:3;19297:12;19290:19;;18949:366;;;:::o;19321:419::-;19487:4;19525:2;19514:9;19510:18;19502:26;;19574:9;19568:4;19564:20;19560:1;19549:9;19545:17;19538:47;19602:131;19728:4;19602:131;:::i;:::-;19594:139;;19321:419;;;:::o;19746:172::-;19886:24;19882:1;19874:6;19870:14;19863:48;19746:172;:::o;19924:366::-;20066:3;20087:67;20151:2;20146:3;20087:67;:::i;:::-;20080:74;;20163:93;20252:3;20163:93;:::i;:::-;20281:2;20276:3;20272:12;20265:19;;19924:366;;;:::o;20296:419::-;20462:4;20500:2;20489:9;20485:18;20477:26;;20549:9;20543:4;20539:20;20535:1;20524:9;20520:17;20513:47;20577:131;20703:4;20577:131;:::i;:::-;20569:139;;20296:419;;;:::o;20721:227::-;20861:34;20857:1;20849:6;20845:14;20838:58;20930:10;20925:2;20917:6;20913:15;20906:35;20721:227;:::o;20954:366::-;21096:3;21117:67;21181:2;21176:3;21117:67;:::i;:::-;21110:74;;21193:93;21282:3;21193:93;:::i;:::-;21311:2;21306:3;21302:12;21295:19;;20954:366;;;:::o;21326:419::-;21492:4;21530:2;21519:9;21515:18;21507:26;;21579:9;21573:4;21569:20;21565:1;21554:9;21550:17;21543:47;21607:131;21733:4;21607:131;:::i;:::-;21599:139;;21326:419;;;:::o;21751:225::-;21891:34;21887:1;21879:6;21875:14;21868:58;21960:8;21955:2;21947:6;21943:15;21936:33;21751:225;:::o;21982:366::-;22124:3;22145:67;22209:2;22204:3;22145:67;:::i;:::-;22138:74;;22221:93;22310:3;22221:93;:::i;:::-;22339:2;22334:3;22330:12;22323:19;;21982:366;;;:::o;22354:419::-;22520:4;22558:2;22547:9;22543:18;22535:26;;22607:9;22601:4;22597:20;22593:1;22582:9;22578:17;22571:47;22635:131;22761:4;22635:131;:::i;:::-;22627:139;;22354:419;;;:::o;22779:148::-;22881:11;22918:3;22903:18;;22779:148;;;;:::o;22933:214::-;23073:66;23069:1;23061:6;23057:14;23050:90;22933:214;:::o;23153:402::-;23313:3;23334:85;23416:2;23411:3;23334:85;:::i;:::-;23327:92;;23428:93;23517:3;23428:93;:::i;:::-;23546:2;23541:3;23537:12;23530:19;;23153:402;;;:::o;23561:79::-;23600:7;23629:5;23618:16;;23561:79;;;:::o;23646:157::-;23751:45;23771:24;23789:5;23771:24;:::i;:::-;23751:45;:::i;:::-;23746:3;23739:58;23646:157;;:::o;23809:522::-;24022:3;24044:148;24188:3;24044:148;:::i;:::-;24037:155;;24202:75;24273:3;24264:6;24202:75;:::i;:::-;24302:2;24297:3;24293:12;24286:19;;24322:3;24315:10;;23809:522;;;;:::o;24337:180::-;24385:77;24382:1;24375:88;24482:4;24479:1;24472:15;24506:4;24503:1;24496:15;24523:174;24663:26;24659:1;24651:6;24647:14;24640:50;24523:174;:::o;24703:366::-;24845:3;24866:67;24930:2;24925:3;24866:67;:::i;:::-;24859:74;;24942:93;25031:3;24942:93;:::i;:::-;25060:2;25055:3;25051:12;25044:19;;24703:366;;;:::o;25075:419::-;25241:4;25279:2;25268:9;25264:18;25256:26;;25328:9;25322:4;25318:20;25314:1;25303:9;25299:17;25292:47;25356:131;25482:4;25356:131;:::i;:::-;25348:139;;25075:419;;;:::o;25500:181::-;25640:33;25636:1;25628:6;25624:14;25617:57;25500:181;:::o;25687:366::-;25829:3;25850:67;25914:2;25909:3;25850:67;:::i;:::-;25843:74;;25926:93;26015:3;25926:93;:::i;:::-;26044:2;26039:3;26035:12;26028:19;;25687:366;;;:::o;26059:419::-;26225:4;26263:2;26252:9;26248:18;26240:26;;26312:9;26306:4;26302:20;26298:1;26287:9;26283:17;26276:47;26340:131;26466:4;26340:131;:::i;:::-;26332:139;;26059:419;;;:::o;26484:221::-;26624:34;26620:1;26612:6;26608:14;26601:58;26693:4;26688:2;26680:6;26676:15;26669:29;26484:221;:::o;26711:366::-;26853:3;26874:67;26938:2;26933:3;26874:67;:::i;:::-;26867:74;;26950:93;27039:3;26950:93;:::i;:::-;27068:2;27063:3;27059:12;27052:19;;26711:366;;;:::o;27083:419::-;27249:4;27287:2;27276:9;27272:18;27264:26;;27336:9;27330:4;27326:20;27322:1;27311:9;27307:17;27300:47;27364:131;27490:4;27364:131;:::i;:::-;27356:139;;27083:419;;;:::o;27508:221::-;27648:34;27644:1;27636:6;27632:14;27625:58;27717:4;27712:2;27704:6;27700:15;27693:29;27508:221;:::o;27735:366::-;27877:3;27898:67;27962:2;27957:3;27898:67;:::i;:::-;27891:74;;27974:93;28063:3;27974:93;:::i;:::-;28092:2;28087:3;28083:12;28076:19;;27735:366;;;:::o;28107:419::-;28273:4;28311:2;28300:9;28296:18;28288:26;;28360:9;28354:4;28350:20;28346:1;28335:9;28331:17;28324:47;28388:131;28514:4;28388:131;:::i;:::-;28380:139;;28107:419;;;:::o;28532:214::-;28672:66;28668:1;28660:6;28656:14;28649:90;28532:214;:::o;28752:400::-;28912:3;28933:84;29015:1;29010:3;28933:84;:::i;:::-;28926:91;;29026:93;29115:3;29026:93;:::i;:::-;29144:1;29139:3;29135:11;29128:18;;28752:400;;;:::o;29158:663::-;29399:3;29421:148;29565:3;29421:148;:::i;:::-;29414:155;;29579:75;29650:3;29641:6;29579:75;:::i;:::-;29679:2;29674:3;29670:12;29663:19;;29692:75;29763:3;29754:6;29692:75;:::i;:::-;29792:2;29787:3;29783:12;29776:19;;29812:3;29805:10;;29158:663;;;;;:::o;29827:86::-;29862:7;29902:4;29895:5;29891:16;29880:27;;29827:86;;;:::o;29919:112::-;30002:22;30018:5;30002:22;:::i;:::-;29997:3;29990:35;29919:112;;:::o;30037:545::-;30210:4;30248:3;30237:9;30233:19;30225:27;;30262:71;30330:1;30319:9;30315:17;30306:6;30262:71;:::i;:::-;30343:68;30407:2;30396:9;30392:18;30383:6;30343:68;:::i;:::-;30421:72;30489:2;30478:9;30474:18;30465:6;30421:72;:::i;:::-;30503;30571:2;30560:9;30556:18;30547:6;30503:72;:::i;:::-;30037:545;;;;;;;:::o;30588:664::-;30793:4;30831:3;30820:9;30816:19;30808:27;;30845:71;30913:1;30902:9;30898:17;30889:6;30845:71;:::i;:::-;30926:72;30994:2;30983:9;30979:18;30970:6;30926:72;:::i;:::-;31008;31076:2;31065:9;31061:18;31052:6;31008:72;:::i;:::-;31090;31158:2;31147:9;31143:18;31134:6;31090:72;:::i;:::-;31172:73;31240:3;31229:9;31225:19;31216:6;31172:73;:::i;:::-;30588:664;;;;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"../core/HasSignature.sol\";\nimport \"../utils/TimeChecker.sol\";\n\ninterface IClaimBox {\n function mint(address to) external returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n}\n\ncontract ClaimBoxFactory is HasSignature, TimeChecker {\n address public executor;\n mapping(address => bool) public tokenSupported;\n\n event BoxClaimed(\n address indexed nftAddress,\n address indexed to,\n uint256 indexed nonce,\n uint256 tokenId\n );\n\n constructor() HasSignature(\"ClaimBoxFactory\", \"1\") {}\n\n function addTokenSupport(address nftToken) external onlyOwner {\n tokenSupported[nftToken] = true;\n }\n\n function removeTokenSupport(address nftToken) external onlyOwner {\n tokenSupported[nftToken] = false;\n }\n\n /**\n * @dev update executor\n */\n function updateExecutor(address account) external onlyOwner {\n require(account != address(0), \"ClaimBoxFactory: address can not be zero\");\n executor = account;\n }\n\n function claim(\n address nftAddress,\n uint256 startTime,\n uint256 saltNonce,\n bytes calldata signature\n ) external signatureValid(signature) timeValid(startTime) {\n require(tokenSupported[nftAddress], \"ClaimBoxFactory: unsupported NFT\");\n address to = _msgSender();\n require(\n IClaimBox(nftAddress).balanceOf(to) == 0,\n \"ClaimBoxFactory: you already have a box\"\n );\n bytes32 criteriaMessageHash = getMessageHash(\n to,\n nftAddress,\n startTime,\n saltNonce\n );\n checkSigner(executor, criteriaMessageHash, signature);\n uint256 tokenId = IClaimBox(nftAddress).mint(to);\n _useSignature(signature);\n emit BoxClaimed(nftAddress, to, saltNonce, tokenId);\n }\n\n function getMessageHash(\n address _to,\n address _address,\n uint256 _startTime,\n uint256 _saltNonce\n ) public pure returns (bytes32) {\n bytes memory encoded = abi.encodePacked(\n _to,\n _address,\n _startTime,\n _saltNonce\n );\n return keccak256(encoded);\n }\n}\n", + "sourceMap": "250:1841:4:-:0;;;566:53;;;;;;;;;;531:578:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;592:18:5;629:4;613:22;;;;;;592:43;;641:21;681:7;665:25;;;;;;641:49;;696:16;715:107;696:126;;843:10;828:25;;;;;;877:13;859:31;;;;;;915:13;896:32;;;;;;961:82;990:8;1006:10;1024:13;961:21;;;:82;;:::i;:::-;934:109;;;;;;1072:4;1049:28;;;;;;;;;;1096:8;1083:21;;;;;;586:523;;;531:578;;258:6:6;246:9;:18;;;;250:1841:4;;640:96:1;693:7;719:10;712:17;;640:96;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;1113:319:5:-;1239:7;1308:8;1328;1348:11;1371:13;1404:4;1286:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1267:160;;;;;;1254:173;;1113:319;;;;;:::o;7:77:7:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:77::-;251:7;280:5;269:16;;214:77;;;:::o;297:118::-;384:24;402:5;384:24;:::i;:::-;379:3;372:37;297:118;;:::o;421:126::-;458:7;498:42;491:5;487:54;476:65;;421:126;;;:::o;553:96::-;590:7;619:24;637:5;619:24;:::i;:::-;608:35;;553:96;;;:::o;655:118::-;742:24;760:5;742:24;:::i;:::-;737:3;730:37;655:118;;:::o;779:664::-;984:4;1022:3;1011:9;1007:19;999:27;;1036:71;1104:1;1093:9;1089:17;1080:6;1036:71;:::i;:::-;1117:72;1185:2;1174:9;1170:18;1161:6;1117:72;:::i;:::-;1199;1267:2;1256:9;1252:18;1243:6;1199:72;:::i;:::-;1281;1349:2;1338:9;1334:18;1325:6;1281:72;:::i;:::-;1363:73;1431:3;1420:9;1416:19;1407:6;1363:73;:::i;:::-;779:664;;;;;;;;:::o;250:1841:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "250:1841:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;335:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1794:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1054:736;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;731:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;385:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2904:440:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1668:101:0;;;:::i;:::-;;623:104:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;881:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;667:87:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1036:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;528:91:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2556:344:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;308:23:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;335:46:4;;;;;;;;;;;;;;;;;;;;;;:::o;1794:295::-;1930:7;1945:20;1992:3;2003:8;2019:10;2037;1968:85;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1945:108;;2076:7;2066:18;;;;;;2059:25;;;1794:295;;;;;;:::o;1054:736::-;1197:9;;3420:15:5;3436:9;;3420:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3419:27;3404:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;1218:9:4::1;347:15:6;334:9;;327:4;:16;;;;:::i;:::-;:35;;312:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;1243:14:4::2;:26;1258:10;1243:26;;;;;;;;;;;;;;;;;;;;;;;;;1235:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1312:10;1325:12;:10;:12::i;:::-;1312:25;;1371:1;1351:12;:16;1364:2;1351:16;;;;;;;;;;;;;;;;:21;;1343:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1407:27;1437:82;1459:2;1469:10;1487:9;1504;1437:14;:82::i;:::-;1407:112;;1525:53;1537:8;;;;;;;;;;;1547:19;1568:9;;1525:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;:53::i;:::-;1584:25;1622:10;1612:31;;;1644:2;1648:1;1612:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1584:66;;1683:8;1692:1;1683:11;;;;;;;;:::i;:::-;;;;;;;;1656:12;:24;1669:10;1656:24;;;;;;;;;;;;;;;:38;;;;1700:24;1714:9;;1700:13;:24::i;:::-;1762:9;1758:2;1735:50;;1746:10;1735:50;;;1773:8;1782:1;1773:11;;;;;;;;:::i;:::-;;;;;;;;1735:50;;;;;;:::i;:::-;;;;;;;;1229:561;;;3539:1:5::1;1054:736:4::0;;;;;;;:::o;731:108::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;829:5:4::1;802:14;:24;817:8;802:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;731:108:::0;:::o;385:47::-;;;;;;;;;;;;;;;;;:::o;2904:440:5:-;3039:1;3021:20;;:6;:20;;;;3013:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;3099:2;3079:9;:16;:22;3071:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3141:28;3172:34;3201:4;3172:28;:34::i;:::-;3141:65;;3213:17;3233:46;3247:20;3269:9;3233:13;:46::i;:::-;3213:66;;3306:6;3293:19;;:9;:19;;;3285:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3007:337;;2904:440;;;:::o;1668:101:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;623:104:4:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;718:4:4::1;691:14;:24;706:8;691:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;623:104:::0;:::o;881:169::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;974:1:4::1;955:21;;:7;:21;;;;947:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;1038:7;1027:8;;:18;;;;;;;;;;;;;;;;;;881:169:::0;:::o;667:87:6:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;743:6:6::1;731:9;:18;;;;667:87:::0;:::o;1036:85:0:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;528:91:6:-;574:16;605:9;;598:16;;528:91;:::o;2556:344:5:-;2700:1;2682:20;;:6;:20;;;;2674:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;2732:14;2749:28;2766:10;2749:16;:28::i;:::-;2732:45;;2783:17;2803:32;2817:6;2825:9;2803:13;:32::i;:::-;2783:52;;2862:6;2849:19;;:9;:19;;;2841:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2668:232;;2556:344;;;:::o;308:23:4:-;;;;;;;;;;;;;:::o;1918:198:0:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;640:96:1:-;693:7;719:10;712:17;;640:96;:::o;3549:149:5:-;3618:15;3634:9;;3618:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3613:81;;3683:4;3654:15;3670:9;;3654:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;3613:81;3549:149;;:::o;8012:265:3:-;8081:7;8264:4;8211:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;8201:69;;;;;;8194:76;;8012:265;;;:::o;4308:227::-;4386:7;4406:17;4425:18;4447:27;4458:4;4464:9;4447:10;:27::i;:::-;4405:69;;;;4484:18;4496:5;4484:11;:18::i;:::-;4519:9;4512:16;;;;4308:227;;;;:::o;2270:187:0:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2333:124;2270:187;:::o;2385:167:5:-;2470:7;2492:55;2514:20;:18;:20::i;:::-;2536:10;2492:21;:55::i;:::-;2485:62;;2385:167;;;:::o;2243:1279:3:-;2324:7;2333:12;2574:2;2554:9;:16;:22;2550:966;;;2592:9;2615;2638:7;2843:4;2832:9;2828:20;2822:27;2817:32;;2892:4;2881:9;2877:20;2871:27;2866:32;;2949:4;2938:9;2934:20;2928:27;2925:1;2920:36;2915:41;;2990:25;3001:4;3007:1;3010;3013;2990:10;:25::i;:::-;2983:32;;;;;;;;;2550:966;3056:2;3036:9;:16;:22;3032:484;;;3074:9;3097:10;3305:4;3294:9;3290:20;3284:27;3279:32;;3355:4;3344:9;3340:20;3334:27;3328:33;;3395:23;3406:4;3412:1;3415:2;3395:10;:23::i;:::-;3388:30;;;;;;;;3032:484;3465:1;3469:35;3449:56;;;;2243:1279;;;;;;:::o;548:631::-;625:20;616:29;;;;;;;;:::i;:::-;;:5;:29;;;;;;;;:::i;:::-;;;612:561;;;661:7;;612:561;721:29;712:38;;;;;;;;:::i;:::-;;:5;:38;;;;;;;;:::i;:::-;;;708:465;;;766:34;;;;;;;;;;:::i;:::-;;;;;;;;708:465;830:35;821:44;;;;;;;;:::i;:::-;;:5;:44;;;;;;;;:::i;:::-;;;817:356;;;881:41;;;;;;;;;;:::i;:::-;;;;;;;;817:356;952:30;943:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;939:234;;;998:44;;;;;;;;;;:::i;:::-;;;;;;;;939:234;1072:30;1063:39;;;;;;;;:::i;:::-;;:5;:39;;;;;;;;:::i;:::-;;;1059:114;;;1118:44;;;;;;;;;;:::i;:::-;;;;;;;;1059:114;548:631;;:::o;1510:282:5:-;1563:7;1599:12;1582:29;;1590:4;1582:29;;;:66;;;;;1632:16;1615:13;:33;1582:66;1578:210;;;1665:24;1658:31;;;;1578:210;1717:64;1739:10;1751:12;1765:15;1717:21;:64::i;:::-;1710:71;;1510:282;;:::o;9097:194:3:-;9190:7;9255:15;9272:10;9226:57;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9216:68;;;;;;9209:75;;9097:194;;;;:::o;5716:1603::-;5842:7;5851:12;6766:66;6761:1;6753:10;;:79;6749:161;;;6864:1;6868:30;6848:51;;;;;;6749:161;6928:2;6923:1;:7;;;;:18;;;;;6939:2;6934:1;:7;;;;6923:18;6919:100;;;6973:1;6977:30;6957:51;;;;;;6919:100;7113:14;7130:24;7140:4;7146:1;7149;7152;7130:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7113:41;;7186:1;7168:20;;:6;:20;;;7164:101;;;7220:1;7224:29;7204:50;;;;;;;7164:101;7283:6;7291:20;7275:37;;;;;5716:1603;;;;;;;;:::o;4789:336::-;4899:7;4908:12;4932:9;4957:66;4949:75;;4944:2;:80;4932:92;;5034:7;5073:2;5066:3;5059:2;5051:11;;:18;;5050:25;;;;:::i;:::-;5034:42;;5093:25;5104:4;5110:1;5113;5116;5093:10;:25::i;:::-;5086:32;;;;;;4789:336;;;;;;:::o;1113:319:5:-;1239:7;1308:8;1328;1348:11;1371:13;1404:4;1286:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1267:160;;;;;;1254:173;;1113:319;;;;;:::o;7:75:7:-;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:122::-;1759:24;1777:5;1759:24;:::i;:::-;1752:5;1749:35;1739:63;;1798:1;1795;1788:12;1739:63;1686:122;:::o;1814:139::-;1860:5;1898:6;1885:20;1876:29;;1914:33;1941:5;1914:33;:::i;:::-;1814:139;;;;:::o;1959:765::-;2045:6;2053;2061;2069;2118:3;2106:9;2097:7;2093:23;2089:33;2086:120;;;2125:79;;:::i;:::-;2086:120;2245:1;2270:53;2315:7;2306:6;2295:9;2291:22;2270:53;:::i;:::-;2260:63;;2216:117;2372:2;2398:53;2443:7;2434:6;2423:9;2419:22;2398:53;:::i;:::-;2388:63;;2343:118;2500:2;2526:53;2571:7;2562:6;2551:9;2547:22;2526:53;:::i;:::-;2516:63;;2471:118;2628:2;2654:53;2699:7;2690:6;2679:9;2675:22;2654:53;:::i;:::-;2644:63;;2599:118;1959:765;;;;;;;:::o;2730:77::-;2767:7;2796:5;2785:16;;2730:77;;;:::o;2813:118::-;2900:24;2918:5;2900:24;:::i;:::-;2895:3;2888:37;2813:118;;:::o;2937:222::-;3030:4;3068:2;3057:9;3053:18;3045:26;;3081:71;3149:1;3138:9;3134:17;3125:6;3081:71;:::i;:::-;2937:222;;;;:::o;3165:117::-;3274:1;3271;3264:12;3288:117;3397:1;3394;3387:12;3411:117;3520:1;3517;3510:12;3547:552;3604:8;3614:6;3664:3;3657:4;3649:6;3645:17;3641:27;3631:122;;3672:79;;:::i;:::-;3631:122;3785:6;3772:20;3762:30;;3815:18;3807:6;3804:30;3801:117;;;3837:79;;:::i;:::-;3801:117;3951:4;3943:6;3939:17;3927:29;;4005:3;3997:4;3989:6;3985:17;3975:8;3971:32;3968:41;3965:128;;;4012:79;;:::i;:::-;3965:128;3547:552;;;;;:::o;4105:963::-;4202:6;4210;4218;4226;4234;4283:3;4271:9;4262:7;4258:23;4254:33;4251:120;;;4290:79;;:::i;:::-;4251:120;4410:1;4435:53;4480:7;4471:6;4460:9;4456:22;4435:53;:::i;:::-;4425:63;;4381:117;4537:2;4563:53;4608:7;4599:6;4588:9;4584:22;4563:53;:::i;:::-;4553:63;;4508:118;4665:2;4691:53;4736:7;4727:6;4716:9;4712:22;4691:53;:::i;:::-;4681:63;;4636:118;4821:2;4810:9;4806:18;4793:32;4852:18;4844:6;4841:30;4838:117;;;4874:79;;:::i;:::-;4838:117;4987:64;5043:7;5034:6;5023:9;5019:22;4987:64;:::i;:::-;4969:82;;;;4764:297;4105:963;;;;;;;;:::o;5074:118::-;5161:24;5179:5;5161:24;:::i;:::-;5156:3;5149:37;5074:118;;:::o;5198:222::-;5291:4;5329:2;5318:9;5314:18;5306:26;;5342:71;5410:1;5399:9;5395:17;5386:6;5342:71;:::i;:::-;5198:222;;;;:::o;5426:122::-;5499:24;5517:5;5499:24;:::i;:::-;5492:5;5489:35;5479:63;;5538:1;5535;5528:12;5479:63;5426:122;:::o;5554:139::-;5600:5;5638:6;5625:20;5616:29;;5654:33;5681:5;5654:33;:::i;:::-;5554:139;;;;:::o;5699:117::-;5808:1;5805;5798:12;5822:102;5863:6;5914:2;5910:7;5905:2;5898:5;5894:14;5890:28;5880:38;;5822:102;;;:::o;5930:180::-;5978:77;5975:1;5968:88;6075:4;6072:1;6065:15;6099:4;6096:1;6089:15;6116:281;6199:27;6221:4;6199:27;:::i;:::-;6191:6;6187:40;6329:6;6317:10;6314:22;6293:18;6281:10;6278:34;6275:62;6272:88;;;6340:18;;:::i;:::-;6272:88;6380:10;6376:2;6369:22;6159:238;6116:281;;:::o;6403:129::-;6437:6;6464:20;;:::i;:::-;6454:30;;6493:33;6521:4;6513:6;6493:33;:::i;:::-;6403:129;;;:::o;6538:307::-;6599:4;6689:18;6681:6;6678:30;6675:56;;;6711:18;;:::i;:::-;6675:56;6749:29;6771:6;6749:29;:::i;:::-;6741:37;;6833:4;6827;6823:15;6815:23;;6538:307;;;:::o;6851:154::-;6935:6;6930:3;6925;6912:30;6997:1;6988:6;6983:3;6979:16;6972:27;6851:154;;;:::o;7011:410::-;7088:5;7113:65;7129:48;7170:6;7129:48;:::i;:::-;7113:65;:::i;:::-;7104:74;;7201:6;7194:5;7187:21;7239:4;7232:5;7228:16;7277:3;7268:6;7263:3;7259:16;7256:25;7253:112;;;7284:79;;:::i;:::-;7253:112;7374:41;7408:6;7403:3;7398;7374:41;:::i;:::-;7094:327;7011:410;;;;;:::o;7440:338::-;7495:5;7544:3;7537:4;7529:6;7525:17;7521:27;7511:122;;7552:79;;:::i;:::-;7511:122;7669:6;7656:20;7694:78;7768:3;7760:6;7753:4;7745:6;7741:17;7694:78;:::i;:::-;7685:87;;7501:277;7440:338;;;;:::o;7784:797::-;7870:6;7878;7886;7935:2;7923:9;7914:7;7910:23;7906:32;7903:119;;;7941:79;;:::i;:::-;7903:119;8061:1;8086:53;8131:7;8122:6;8111:9;8107:22;8086:53;:::i;:::-;8076:63;;8032:117;8188:2;8214:53;8259:7;8250:6;8239:9;8235:22;8214:53;:::i;:::-;8204:63;;8159:118;8344:2;8333:9;8329:18;8316:32;8375:18;8367:6;8364:30;8361:117;;;8397:79;;:::i;:::-;8361:117;8502:62;8556:7;8547:6;8536:9;8532:22;8502:62;:::i;:::-;8492:72;;8287:287;7784:797;;;;;:::o;8587:329::-;8646:6;8695:2;8683:9;8674:7;8670:23;8666:32;8663:119;;;8701:79;;:::i;:::-;8663:119;8821:1;8846:53;8891:7;8882:6;8871:9;8867:22;8846:53;:::i;:::-;8836:63;;8792:117;8587:329;;;;:::o;8922:118::-;9009:24;9027:5;9009:24;:::i;:::-;9004:3;8997:37;8922:118;;:::o;9046:222::-;9139:4;9177:2;9166:9;9162:18;9154:26;;9190:71;9258:1;9247:9;9243:17;9234:6;9190:71;:::i;:::-;9046:222;;;;:::o;9274:94::-;9307:8;9355:5;9351:2;9347:14;9326:35;;9274:94;;;:::o;9374:::-;9413:7;9442:20;9456:5;9442:20;:::i;:::-;9431:31;;9374:94;;;:::o;9474:100::-;9513:7;9542:26;9562:5;9542:26;:::i;:::-;9531:37;;9474:100;;;:::o;9580:157::-;9685:45;9705:24;9723:5;9705:24;:::i;:::-;9685:45;:::i;:::-;9680:3;9673:58;9580:157;;:::o;9743:79::-;9782:7;9811:5;9800:16;;9743:79;;;:::o;9828:157::-;9933:45;9953:24;9971:5;9953:24;:::i;:::-;9933:45;:::i;:::-;9928:3;9921:58;9828:157;;:::o;9991:679::-;10187:3;10202:75;10273:3;10264:6;10202:75;:::i;:::-;10302:2;10297:3;10293:12;10286:19;;10315:75;10386:3;10377:6;10315:75;:::i;:::-;10415:2;10410:3;10406:12;10399:19;;10428:75;10499:3;10490:6;10428:75;:::i;:::-;10528:2;10523:3;10519:12;10512:19;;10541:75;10612:3;10603:6;10541:75;:::i;:::-;10641:2;10636:3;10632:12;10625:19;;10661:3;10654:10;;9991:679;;;;;;;:::o;10676:147::-;10777:11;10814:3;10799:18;;10676:147;;;;:::o;10851:314::-;10965:3;10986:88;11067:6;11062:3;10986:88;:::i;:::-;10979:95;;11084:43;11120:6;11115:3;11108:5;11084:43;:::i;:::-;11152:6;11147:3;11143:16;11136:23;;10851:314;;;;;:::o;11171:291::-;11311:3;11333:103;11432:3;11423:6;11415;11333:103;:::i;:::-;11326:110;;11453:3;11446:10;;11171:291;;;;;:::o;11468:169::-;11552:11;11586:6;11581:3;11574:19;11626:4;11621:3;11617:14;11602:29;;11468:169;;;;:::o;11643:295::-;11783:34;11779:1;11771:6;11767:14;11760:58;11852:34;11847:2;11839:6;11835:15;11828:59;11921:9;11916:2;11908:6;11904:15;11897:34;11643:295;:::o;11944:366::-;12086:3;12107:67;12171:2;12166:3;12107:67;:::i;:::-;12100:74;;12183:93;12272:3;12183:93;:::i;:::-;12301:2;12296:3;12292:12;12285:19;;11944:366;;;:::o;12316:419::-;12482:4;12520:2;12509:9;12505:18;12497:26;;12569:9;12563:4;12559:20;12555:1;12544:9;12540:17;12533:47;12597:131;12723:4;12597:131;:::i;:::-;12589:139;;12316:419;;;:::o;12741:180::-;12789:77;12786:1;12779:88;12886:4;12883:1;12876:15;12910:4;12907:1;12900:15;12927:305;12967:3;12986:20;13004:1;12986:20;:::i;:::-;12981:25;;13020:20;13038:1;13020:20;:::i;:::-;13015:25;;13174:1;13106:66;13102:74;13099:1;13096:81;13093:107;;;13180:18;;:::i;:::-;13093:107;13224:1;13221;13217:9;13210:16;;12927:305;;;;:::o;13238:246::-;13378:34;13374:1;13366:6;13362:14;13355:58;13447:29;13442:2;13434:6;13430:15;13423:54;13238:246;:::o;13490:366::-;13632:3;13653:67;13717:2;13712:3;13653:67;:::i;:::-;13646:74;;13729:93;13818:3;13729:93;:::i;:::-;13847:2;13842:3;13838:12;13831:19;;13490:366;;;:::o;13862:419::-;14028:4;14066:2;14055:9;14051:18;14043:26;;14115:9;14109:4;14105:20;14101:1;14090:9;14086:17;14079:47;14143:131;14269:4;14143:131;:::i;:::-;14135:139;;13862:419;;;:::o;14287:182::-;14427:34;14423:1;14415:6;14411:14;14404:58;14287:182;:::o;14475:366::-;14617:3;14638:67;14702:2;14697:3;14638:67;:::i;:::-;14631:74;;14714:93;14803:3;14714:93;:::i;:::-;14832:2;14827:3;14823:12;14816:19;;14475:366;;;:::o;14847:419::-;15013:4;15051:2;15040:9;15036:18;15028:26;;15100:9;15094:4;15090:20;15086:1;15075:9;15071:17;15064:47;15128:131;15254:4;15128:131;:::i;:::-;15120:139;;14847:419;;;:::o;15272:174::-;15412:26;15408:1;15400:6;15396:14;15389:50;15272:174;:::o;15452:366::-;15594:3;15615:67;15679:2;15674:3;15615:67;:::i;:::-;15608:74;;15691:93;15780:3;15691:93;:::i;:::-;15809:2;15804:3;15800:12;15793:19;;15452:366;;;:::o;15824:419::-;15990:4;16028:2;16017:9;16013:18;16005:26;;16077:9;16071:4;16067:20;16063:1;16052:9;16048:17;16041:47;16105:131;16231:4;16105:131;:::i;:::-;16097:139;;15824:419;;;:::o;16249:85::-;16294:7;16323:5;16312:16;;16249:85;;;:::o;16340:60::-;16368:3;16389:5;16382:12;;16340:60;;;:::o;16406:158::-;16464:9;16497:61;16515:42;16524:32;16550:5;16524:32;:::i;:::-;16515:42;:::i;:::-;16497:61;:::i;:::-;16484:74;;16406:158;;;:::o;16570:147::-;16665:45;16704:5;16665:45;:::i;:::-;16660:3;16653:58;16570:147;;:::o;16723:348::-;16852:4;16890:2;16879:9;16875:18;16867:26;;16903:71;16971:1;16960:9;16956:17;16947:6;16903:71;:::i;:::-;16984:80;17060:2;17049:9;17045:18;17036:6;16984:80;:::i;:::-;16723:348;;;;;:::o;17077:311::-;17154:4;17244:18;17236:6;17233:30;17230:56;;;17266:18;;:::i;:::-;17230:56;17316:4;17308:6;17304:17;17296:25;;17376:4;17370;17366:15;17358:23;;17077:311;;;:::o;17394:143::-;17451:5;17482:6;17476:13;17467:22;;17498:33;17525:5;17498:33;:::i;:::-;17394:143;;;;:::o;17560:732::-;17667:5;17692:81;17708:64;17765:6;17708:64;:::i;:::-;17692:81;:::i;:::-;17683:90;;17793:5;17822:6;17815:5;17808:21;17856:4;17849:5;17845:16;17838:23;;17909:4;17901:6;17897:17;17889:6;17885:30;17938:3;17930:6;17927:15;17924:122;;;17957:79;;:::i;:::-;17924:122;18072:6;18055:231;18089:6;18084:3;18081:15;18055:231;;;18164:3;18193:48;18237:3;18225:10;18193:48;:::i;:::-;18188:3;18181:61;18271:4;18266:3;18262:14;18255:21;;18131:155;18115:4;18110:3;18106:14;18099:21;;18055:231;;;18059:21;17673:619;;17560:732;;;;;:::o;18315:385::-;18397:5;18446:3;18439:4;18431:6;18427:17;18423:27;18413:122;;18454:79;;:::i;:::-;18413:122;18564:6;18558:13;18589:105;18690:3;18682:6;18675:4;18667:6;18663:17;18589:105;:::i;:::-;18580:114;;18403:297;18315:385;;;;:::o;18706:554::-;18801:6;18850:2;18838:9;18829:7;18825:23;18821:32;18818:119;;;18856:79;;:::i;:::-;18818:119;18997:1;18986:9;18982:17;18976:24;19027:18;19019:6;19016:30;19013:117;;;19049:79;;:::i;:::-;19013:117;19154:89;19235:7;19226:6;19215:9;19211:22;19154:89;:::i;:::-;19144:99;;18947:306;18706:554;;;;:::o;19266:180::-;19314:77;19311:1;19304:88;19411:4;19408:1;19401:15;19435:4;19432:1;19425:15;19452:182;19592:34;19588:1;19580:6;19576:14;19569:58;19452:182;:::o;19640:366::-;19782:3;19803:67;19867:2;19862:3;19803:67;:::i;:::-;19796:74;;19879:93;19968:3;19879:93;:::i;:::-;19997:2;19992:3;19988:12;19981:19;;19640:366;;;:::o;20012:419::-;20178:4;20216:2;20205:9;20201:18;20193:26;;20265:9;20259:4;20255:20;20251:1;20240:9;20236:17;20229:47;20293:131;20419:4;20293:131;:::i;:::-;20285:139;;20012:419;;;:::o;20437:169::-;20577:21;20573:1;20565:6;20561:14;20554:45;20437:169;:::o;20612:366::-;20754:3;20775:67;20839:2;20834:3;20775:67;:::i;:::-;20768:74;;20851:93;20940:3;20851:93;:::i;:::-;20969:2;20964:3;20960:12;20953:19;;20612:366;;;:::o;20984:419::-;21150:4;21188:2;21177:9;21173:18;21165:26;;21237:9;21231:4;21227:20;21223:1;21212:9;21208:17;21201:47;21265:131;21391:4;21265:131;:::i;:::-;21257:139;;20984:419;;;:::o;21409:179::-;21549:31;21545:1;21537:6;21533:14;21526:55;21409:179;:::o;21594:366::-;21736:3;21757:67;21821:2;21816:3;21757:67;:::i;:::-;21750:74;;21833:93;21922:3;21833:93;:::i;:::-;21951:2;21946:3;21942:12;21935:19;;21594:366;;;:::o;21966:419::-;22132:4;22170:2;22159:9;22155:18;22147:26;;22219:9;22213:4;22209:20;22205:1;22194:9;22190:17;22183:47;22247:131;22373:4;22247:131;:::i;:::-;22239:139;;21966:419;;;:::o;22391:172::-;22531:24;22527:1;22519:6;22515:14;22508:48;22391:172;:::o;22569:366::-;22711:3;22732:67;22796:2;22791:3;22732:67;:::i;:::-;22725:74;;22808:93;22897:3;22808:93;:::i;:::-;22926:2;22921:3;22917:12;22910:19;;22569:366;;;:::o;22941:419::-;23107:4;23145:2;23134:9;23130:18;23122:26;;23194:9;23188:4;23184:20;23180:1;23169:9;23165:17;23158:47;23222:131;23348:4;23222:131;:::i;:::-;23214:139;;22941:419;;;:::o;23366:227::-;23506:34;23502:1;23494:6;23490:14;23483:58;23575:10;23570:2;23562:6;23558:15;23551:35;23366:227;:::o;23599:366::-;23741:3;23762:67;23826:2;23821:3;23762:67;:::i;:::-;23755:74;;23838:93;23927:3;23838:93;:::i;:::-;23956:2;23951:3;23947:12;23940:19;;23599:366;;;:::o;23971:419::-;24137:4;24175:2;24164:9;24160:18;24152:26;;24224:9;24218:4;24214:20;24210:1;24199:9;24195:17;24188:47;24252:131;24378:4;24252:131;:::i;:::-;24244:139;;23971:419;;;:::o;24396:225::-;24536:34;24532:1;24524:6;24520:14;24513:58;24605:8;24600:2;24592:6;24588:15;24581:33;24396:225;:::o;24627:366::-;24769:3;24790:67;24854:2;24849:3;24790:67;:::i;:::-;24783:74;;24866:93;24955:3;24866:93;:::i;:::-;24984:2;24979:3;24975:12;24968:19;;24627:366;;;:::o;24999:419::-;25165:4;25203:2;25192:9;25188:18;25180:26;;25252:9;25246:4;25242:20;25238:1;25227:9;25223:17;25216:47;25280:131;25406:4;25280:131;:::i;:::-;25272:139;;24999:419;;;:::o;25424:148::-;25526:11;25563:3;25548:18;;25424:148;;;;:::o;25578:214::-;25718:66;25714:1;25706:6;25702:14;25695:90;25578:214;:::o;25798:402::-;25958:3;25979:85;26061:2;26056:3;25979:85;:::i;:::-;25972:92;;26073:93;26162:3;26073:93;:::i;:::-;26191:2;26186:3;26182:12;26175:19;;25798:402;;;:::o;26206:79::-;26245:7;26274:5;26263:16;;26206:79;;;:::o;26291:157::-;26396:45;26416:24;26434:5;26416:24;:::i;:::-;26396:45;:::i;:::-;26391:3;26384:58;26291:157;;:::o;26454:522::-;26667:3;26689:148;26833:3;26689:148;:::i;:::-;26682:155;;26847:75;26918:3;26909:6;26847:75;:::i;:::-;26947:2;26942:3;26938:12;26931:19;;26967:3;26960:10;;26454:522;;;;:::o;26982:180::-;27030:77;27027:1;27020:88;27127:4;27124:1;27117:15;27151:4;27148:1;27141:15;27168:174;27308:26;27304:1;27296:6;27292:14;27285:50;27168:174;:::o;27348:366::-;27490:3;27511:67;27575:2;27570:3;27511:67;:::i;:::-;27504:74;;27587:93;27676:3;27587:93;:::i;:::-;27705:2;27700:3;27696:12;27689:19;;27348:366;;;:::o;27720:419::-;27886:4;27924:2;27913:9;27909:18;27901:26;;27973:9;27967:4;27963:20;27959:1;27948:9;27944:17;27937:47;28001:131;28127:4;28001:131;:::i;:::-;27993:139;;27720:419;;;:::o;28145:181::-;28285:33;28281:1;28273:6;28269:14;28262:57;28145:181;:::o;28332:366::-;28474:3;28495:67;28559:2;28554:3;28495:67;:::i;:::-;28488:74;;28571:93;28660:3;28571:93;:::i;:::-;28689:2;28684:3;28680:12;28673:19;;28332:366;;;:::o;28704:419::-;28870:4;28908:2;28897:9;28893:18;28885:26;;28957:9;28951:4;28947:20;28943:1;28932:9;28928:17;28921:47;28985:131;29111:4;28985:131;:::i;:::-;28977:139;;28704:419;;;:::o;29129:221::-;29269:34;29265:1;29257:6;29253:14;29246:58;29338:4;29333:2;29325:6;29321:15;29314:29;29129:221;:::o;29356:366::-;29498:3;29519:67;29583:2;29578:3;29519:67;:::i;:::-;29512:74;;29595:93;29684:3;29595:93;:::i;:::-;29713:2;29708:3;29704:12;29697:19;;29356:366;;;:::o;29728:419::-;29894:4;29932:2;29921:9;29917:18;29909:26;;29981:9;29975:4;29971:20;29967:1;29956:9;29952:17;29945:47;30009:131;30135:4;30009:131;:::i;:::-;30001:139;;29728:419;;;:::o;30153:221::-;30293:34;30289:1;30281:6;30277:14;30270:58;30362:4;30357:2;30349:6;30345:15;30338:29;30153:221;:::o;30380:366::-;30522:3;30543:67;30607:2;30602:3;30543:67;:::i;:::-;30536:74;;30619:93;30708:3;30619:93;:::i;:::-;30737:2;30732:3;30728:12;30721:19;;30380:366;;;:::o;30752:419::-;30918:4;30956:2;30945:9;30941:18;30933:26;;31005:9;30999:4;30995:20;30991:1;30980:9;30976:17;30969:47;31033:131;31159:4;31033:131;:::i;:::-;31025:139;;30752:419;;;:::o;31177:214::-;31317:66;31313:1;31305:6;31301:14;31294:90;31177:214;:::o;31397:400::-;31557:3;31578:84;31660:1;31655:3;31578:84;:::i;:::-;31571:91;;31671:93;31760:3;31671:93;:::i;:::-;31789:1;31784:3;31780:11;31773:18;;31397:400;;;:::o;31803:663::-;32044:3;32066:148;32210:3;32066:148;:::i;:::-;32059:155;;32224:75;32295:3;32286:6;32224:75;:::i;:::-;32324:2;32319:3;32315:12;32308:19;;32337:75;32408:3;32399:6;32337:75;:::i;:::-;32437:2;32432:3;32428:12;32421:19;;32457:3;32450:10;;31803:663;;;;;:::o;32472:86::-;32507:7;32547:4;32540:5;32536:16;32525:27;;32472:86;;;:::o;32564:112::-;32647:22;32663:5;32647:22;:::i;:::-;32642:3;32635:35;32564:112;;:::o;32682:545::-;32855:4;32893:3;32882:9;32878:19;32870:27;;32907:71;32975:1;32964:9;32960:17;32951:6;32907:71;:::i;:::-;32988:68;33052:2;33041:9;33037:18;33028:6;32988:68;:::i;:::-;33066:72;33134:2;33123:9;33119:18;33110:6;33066:72;:::i;:::-;33148;33216:2;33205:9;33201:18;33192:6;33148:72;:::i;:::-;32682:545;;;;;;;:::o;33233:664::-;33438:4;33476:3;33465:9;33461:19;33453:27;;33490:71;33558:1;33547:9;33543:17;33534:6;33490:71;:::i;:::-;33571:72;33639:2;33628:9;33624:18;33615:6;33571:72;:::i;:::-;33653;33721:2;33710:9;33706:18;33697:6;33653:72;:::i;:::-;33735;33803:2;33792:9;33788:18;33779:6;33735:72;:::i;:::-;33817:73;33885:3;33874:9;33870:19;33861:6;33817:73;:::i;:::-;33233:664;;;;;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"../core/HasSignature.sol\";\nimport \"../utils/TimeChecker.sol\";\n\ninterface IClaimBox {\n function batchMint(\n address to,\n uint256 count\n ) external returns (uint256[] memory);\n}\n\ncontract ClaimBoxFactory is HasSignature, TimeChecker {\n address public executor;\n mapping(address => bool) public tokenSupported;\n mapping(address => uint256) public claimHistory;\n\n event BoxClaimed(\n address indexed nftAddress,\n address indexed to,\n uint256 indexed nonce,\n uint256 tokenId\n );\n\n constructor() HasSignature(\"ClaimBoxFactory\", \"1\") {}\n\n function addTokenSupport(address nftToken) external onlyOwner {\n tokenSupported[nftToken] = true;\n }\n\n function removeTokenSupport(address nftToken) external onlyOwner {\n tokenSupported[nftToken] = false;\n }\n\n /**\n * @dev update executor\n */\n function updateExecutor(address account) external onlyOwner {\n require(account != address(0), \"ClaimBoxFactory: address can not be zero\");\n executor = account;\n }\n\n function claim(\n address nftAddress,\n uint256 startTime,\n uint256 saltNonce,\n bytes calldata signature\n ) external signatureValid(signature) timeValid(startTime) {\n require(tokenSupported[nftAddress], \"ClaimBoxFactory: unsupported NFT\");\n address to = _msgSender();\n require(claimHistory[to] != 0, \"ClaimBoxFactory: claimed\");\n bytes32 criteriaMessageHash = getMessageHash(\n to,\n nftAddress,\n startTime,\n saltNonce\n );\n checkSigner(executor, criteriaMessageHash, signature);\n uint256[] memory tokenIds = IClaimBox(nftAddress).batchMint(to, 1);\n claimHistory[nftAddress] = tokenIds[0];\n _useSignature(signature);\n emit BoxClaimed(nftAddress, to, saltNonce, tokenIds[0]);\n }\n\n function getMessageHash(\n address _to,\n address _address,\n uint256 _startTime,\n uint256 _saltNonce\n ) public pure returns (bytes32) {\n bytes memory encoded = abi.encodePacked(\n _to,\n _address,\n _startTime,\n _saltNonce\n );\n return keccak256(encoded);\n }\n}\n", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/activity/ClaimBoxFactory.sol", "ast": { "absolutePath": "project:/contracts/activity/ClaimBoxFactory.sol", "exportedSymbols": { "ClaimBoxFactory": [ - 940 + 951 ], "Context": [ 126 @@ -14021,10 +15315,10 @@ 736 ], "HasSignature": [ - 1222 + 1233 ], "IClaimBox": [ - 755 + 751 ], "Ownable": [ 104 @@ -14033,10 +15327,10 @@ 329 ], "TimeChecker": [ - 1280 + 1291 ] }, - "id": 941, + "id": 952, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -14056,8 +15350,8 @@ "id": 739, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 941, - "sourceUnit": 1223, + "scope": 952, + "sourceUnit": 1234, "src": "57:34:4", "symbolAliases": [], "unitAlias": "" @@ -14068,8 +15362,8 @@ "id": 740, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 941, - "sourceUnit": 1281, + "scope": 952, + "sourceUnit": 1292, "src": "92:34:4", "symbolAliases": [], "unitAlias": "" @@ -14081,25 +15375,25 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 755, + "id": 751, "linearizedBaseContracts": [ - 755 + 751 ], "name": "IClaimBox", "nameLocation": "138:9:4", "nodeType": "ContractDefinition", "nodes": [ { - "functionSelector": "6a627842", - "id": 747, + "functionSelector": "43508b05", + "id": 750, "implemented": false, "kind": "function", "modifiers": [], - "name": "mint", - "nameLocation": "161:4:4", + "name": "batchMint", + "nameLocation": "161:9:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 743, + "id": 745, "nodeType": "ParameterList", "parameters": [ { @@ -14107,10 +15401,10 @@ "id": 742, "mutability": "mutable", "name": "to", - "nameLocation": "174:2:4", + "nameLocation": "184:2:4", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "166:10:4", + "scope": 750, + "src": "176:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14121,7 +15415,7 @@ "id": 741, "name": "address", "nodeType": "ElementaryTypeName", - "src": "166:7:4", + "src": "176:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14129,23 +15423,16 @@ } }, "visibility": "internal" - } - ], - "src": "165:12:4" - }, - "returnParameters": { - "id": 746, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 745, + "id": 744, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "count", + "nameLocation": "200:5:4", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "196:7:4", + "scope": 750, + "src": "192:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14153,10 +15440,10 @@ "typeString": "uint256" }, "typeName": { - "id": 744, + "id": 743, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "196:7:4", + "src": "192:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14165,101 +15452,60 @@ "visibility": "internal" } ], - "src": "195:9:4" + "src": "170:39:4" }, - "scope": 755, - "src": "152:53:4", + "returnParameters": { + "id": 749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 748, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 750, + "src": "228:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 747, + "nodeType": "ArrayTypeName", + "src": "228:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "227:18:4" + }, + "scope": 751, + "src": "152:94:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" - }, - { - "functionSelector": "70a08231", - "id": 754, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "218:9:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 750, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 749, - "mutability": "mutable", - "name": "owner", - "nameLocation": "236:5:4", - "nodeType": "VariableDeclaration", - "scope": 754, - "src": "228:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "228:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "227:15:4" - }, - "returnParameters": { - "id": 753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 752, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 754, - "src": "266:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "266:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "265:9:4" - }, - "scope": 755, - "src": "209:66:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" } ], - "scope": 941, - "src": "128:149:4", + "scope": 952, + "src": "128:120:4", "usedErrors": [] }, { @@ -14267,55 +15513,55 @@ "baseContracts": [ { "baseName": { - "id": 756, + "id": 752, "name": "HasSignature", "nodeType": "IdentifierPath", - "referencedDeclaration": 1222, - "src": "307:12:4" + "referencedDeclaration": 1233, + "src": "278:12:4" }, - "id": 757, + "id": 753, "nodeType": "InheritanceSpecifier", - "src": "307:12:4" + "src": "278:12:4" }, { "baseName": { - "id": 758, + "id": 754, "name": "TimeChecker", "nodeType": "IdentifierPath", - "referencedDeclaration": 1280, - "src": "321:11:4" + "referencedDeclaration": 1291, + "src": "292:11:4" }, - "id": 759, + "id": 755, "nodeType": "InheritanceSpecifier", - "src": "321:11:4" + "src": "292:11:4" } ], "canonicalName": "ClaimBoxFactory", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 940, + "id": 951, "linearizedBaseContracts": [ - 940, - 1280, - 1222, + 951, + 1291, + 1233, 104, 126 ], "name": "ClaimBoxFactory", - "nameLocation": "288:15:4", + "nameLocation": "259:15:4", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "c34c08e5", - "id": 761, + "id": 757, "mutability": "mutable", "name": "executor", - "nameLocation": "352:8:4", + "nameLocation": "323:8:4", "nodeType": "VariableDeclaration", - "scope": 940, - "src": "337:23:4", + "scope": 951, + "src": "308:23:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -14323,10 +15569,10 @@ "typeString": "address" }, "typeName": { - "id": 760, + "id": 756, "name": "address", "nodeType": "ElementaryTypeName", - "src": "337:7:4", + "src": "308:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14338,13 +15584,13 @@ { "constant": false, "functionSelector": "062143f0", - "id": 765, + "id": 761, "mutability": "mutable", "name": "tokenSupported", - "nameLocation": "396:14:4", + "nameLocation": "367:14:4", "nodeType": "VariableDeclaration", - "scope": 940, - "src": "364:46:4", + "scope": 951, + "src": "335:46:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -14352,28 +15598,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 764, + "id": 760, "keyType": { - "id": 762, + "id": 758, "name": "address", "nodeType": "ElementaryTypeName", - "src": "372:7:4", + "src": "343:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "364:24:4", + "src": "335:24:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 763, + "id": 759, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "383:4:4", + "src": "354:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14382,11 +15628,58 @@ }, "visibility": "public" }, + { + "constant": false, + "functionSelector": "425a69cc", + "id": 765, + "mutability": "mutable", + "name": "claimHistory", + "nameLocation": "420:12:4", + "nodeType": "VariableDeclaration", + "scope": 951, + "src": "385:47:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 764, + "keyType": { + "id": 762, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "393:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "385:27:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "404:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, { "anonymous": false, "id": 775, "name": "BoxClaimed", - "nameLocation": "421:10:4", + "nameLocation": "443:10:4", "nodeType": "EventDefinition", "parameters": { "id": 774, @@ -14398,10 +15691,10 @@ "indexed": true, "mutability": "mutable", "name": "nftAddress", - "nameLocation": "453:10:4", + "nameLocation": "475:10:4", "nodeType": "VariableDeclaration", "scope": 775, - "src": "437:26:4", + "src": "459:26:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14412,7 +15705,7 @@ "id": 766, "name": "address", "nodeType": "ElementaryTypeName", - "src": "437:7:4", + "src": "459:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14427,10 +15720,10 @@ "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "485:2:4", + "nameLocation": "507:2:4", "nodeType": "VariableDeclaration", "scope": 775, - "src": "469:18:4", + "src": "491:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14441,7 +15734,7 @@ "id": 768, "name": "address", "nodeType": "ElementaryTypeName", - "src": "469:7:4", + "src": "491:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14456,10 +15749,10 @@ "indexed": true, "mutability": "mutable", "name": "nonce", - "nameLocation": "509:5:4", + "nameLocation": "531:5:4", "nodeType": "VariableDeclaration", "scope": 775, - "src": "493:21:4", + "src": "515:21:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14470,7 +15763,7 @@ "id": 770, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "493:7:4", + "src": "515:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14484,10 +15777,10 @@ "indexed": false, "mutability": "mutable", "name": "tokenId", - "nameLocation": "528:7:4", + "nameLocation": "550:7:4", "nodeType": "VariableDeclaration", "scope": 775, - "src": "520:15:4", + "src": "542:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14498,7 +15791,7 @@ "id": 772, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "520:7:4", + "src": "542:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14507,15 +15800,15 @@ "visibility": "internal" } ], - "src": "431:108:4" + "src": "453:108:4" }, - "src": "415:125:4" + "src": "437:125:4" }, { "body": { "id": 782, "nodeType": "Block", - "src": "595:2:4", + "src": "617:2:4", "statements": [] }, "id": 783, @@ -14533,7 +15826,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "571:17:4", + "src": "593:17:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e8bbb1263203a9a335b4f07433b16b4ed04783db5abc514adb7ea5ded05058f7", "typeString": "literal_string \"ClaimBoxFactory\"" @@ -14549,7 +15842,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "590:3:4", + "src": "612:3:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", "typeString": "literal_string \"1\"" @@ -14563,11 +15856,11 @@ "id": 777, "name": "HasSignature", "nodeType": "IdentifierPath", - "referencedDeclaration": 1222, - "src": "558:12:4" + "referencedDeclaration": 1233, + "src": "580:12:4" }, "nodeType": "ModifierInvocation", - "src": "558:36:4" + "src": "580:36:4" } ], "name": "", @@ -14577,16 +15870,16 @@ "id": 776, "nodeType": "ParameterList", "parameters": [], - "src": "555:2:4" + "src": "577:2:4" }, "returnParameters": { "id": 781, "nodeType": "ParameterList", "parameters": [], - "src": "595:0:4" + "src": "617:0:4" }, - "scope": 940, - "src": "544:53:4", + "scope": 951, + "src": "566:53:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -14595,7 +15888,7 @@ "body": { "id": 796, "nodeType": "Block", - "src": "663:42:4", + "src": "685:42:4", "statements": [ { "expression": { @@ -14610,8 +15903,8 @@ "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "669:14:4", + "referencedDeclaration": 761, + "src": "691:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -14624,7 +15917,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 785, - "src": "684:8:4", + "src": "706:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14635,7 +15928,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "669:24:4", + "src": "691:24:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14652,14 +15945,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "696:4:4", + "src": "718:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "669:31:4", + "src": "691:31:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14667,7 +15960,7 @@ }, "id": 795, "nodeType": "ExpressionStatement", - "src": "669:31:4" + "src": "691:31:4" } ] }, @@ -14684,14 +15977,14 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "653:9:4" + "src": "675:9:4" }, "nodeType": "ModifierInvocation", - "src": "653:9:4" + "src": "675:9:4" } ], "name": "addTokenSupport", - "nameLocation": "610:15:4", + "nameLocation": "632:15:4", "nodeType": "FunctionDefinition", "parameters": { "id": 786, @@ -14702,10 +15995,10 @@ "id": 785, "mutability": "mutable", "name": "nftToken", - "nameLocation": "634:8:4", + "nameLocation": "656:8:4", "nodeType": "VariableDeclaration", "scope": 797, - "src": "626:16:4", + "src": "648:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14716,7 +16009,7 @@ "id": 784, "name": "address", "nodeType": "ElementaryTypeName", - "src": "626:7:4", + "src": "648:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14726,16 +16019,16 @@ "visibility": "internal" } ], - "src": "625:18:4" + "src": "647:18:4" }, "returnParameters": { "id": 789, "nodeType": "ParameterList", "parameters": [], - "src": "663:0:4" + "src": "685:0:4" }, - "scope": 940, - "src": "601:104:4", + "scope": 951, + "src": "623:104:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -14744,7 +16037,7 @@ "body": { "id": 810, "nodeType": "Block", - "src": "774:43:4", + "src": "796:43:4", "statements": [ { "expression": { @@ -14759,8 +16052,8 @@ "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "780:14:4", + "referencedDeclaration": 761, + "src": "802:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -14773,7 +16066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "795:8:4", + "src": "817:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14784,7 +16077,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "780:24:4", + "src": "802:24:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14801,14 +16094,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "807:5:4", + "src": "829:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "780:32:4", + "src": "802:32:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14816,7 +16109,7 @@ }, "id": 809, "nodeType": "ExpressionStatement", - "src": "780:32:4" + "src": "802:32:4" } ] }, @@ -14833,14 +16126,14 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "764:9:4" + "src": "786:9:4" }, "nodeType": "ModifierInvocation", - "src": "764:9:4" + "src": "786:9:4" } ], "name": "removeTokenSupport", - "nameLocation": "718:18:4", + "nameLocation": "740:18:4", "nodeType": "FunctionDefinition", "parameters": { "id": 800, @@ -14851,10 +16144,10 @@ "id": 799, "mutability": "mutable", "name": "nftToken", - "nameLocation": "745:8:4", + "nameLocation": "767:8:4", "nodeType": "VariableDeclaration", "scope": 811, - "src": "737:16:4", + "src": "759:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14865,7 +16158,7 @@ "id": 798, "name": "address", "nodeType": "ElementaryTypeName", - "src": "737:7:4", + "src": "759:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14875,16 +16168,16 @@ "visibility": "internal" } ], - "src": "736:18:4" + "src": "758:18:4" }, "returnParameters": { "id": 803, "nodeType": "ParameterList", "parameters": [], - "src": "774:0:4" + "src": "796:0:4" }, - "scope": 940, - "src": "709:108:4", + "scope": 951, + "src": "731:108:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -14893,7 +16186,7 @@ "body": { "id": 833, "nodeType": "Block", - "src": "919:109:4", + "src": "941:109:4", "statements": [ { "expression": { @@ -14914,7 +16207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "933:7:4", + "src": "955:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14933,7 +16226,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "952:1:4", + "src": "974:1:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14954,7 +16247,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "944:7:4", + "src": "966:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -14963,7 +16256,7 @@ "id": 821, "name": "address", "nodeType": "ElementaryTypeName", - "src": "944:7:4", + "src": "966:7:4", "typeDescriptions": {} } }, @@ -14975,14 +16268,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "944:10:4", + "src": "966:10:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "933:21:4", + "src": "955:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14997,7 +16290,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "956:42:4", + "src": "978:42:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1", "typeString": "literal_string \"ClaimBoxFactory: address can not be zero\"" @@ -15024,7 +16317,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "925:7:4", + "src": "947:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15038,7 +16331,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "925:74:4", + "src": "947:74:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -15047,7 +16340,7 @@ }, "id": 828, "nodeType": "ExpressionStatement", - "src": "925:74:4" + "src": "947:74:4" }, { "expression": { @@ -15061,8 +16354,8 @@ "name": "executor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "1005:8:4", + "referencedDeclaration": 757, + "src": "1027:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15076,13 +16369,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "1016:7:4", + "src": "1038:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1005:18:4", + "src": "1027:18:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15090,14 +16383,14 @@ }, "id": 832, "nodeType": "ExpressionStatement", - "src": "1005:18:4" + "src": "1027:18:4" } ] }, "documentation": { "id": 812, "nodeType": "StructuredDocumentation", - "src": "821:35:4", + "src": "843:35:4", "text": " @dev update executor" }, "functionSelector": "74936c16", @@ -15113,14 +16406,14 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "909:9:4" + "src": "931:9:4" }, "nodeType": "ModifierInvocation", - "src": "909:9:4" + "src": "931:9:4" } ], "name": "updateExecutor", - "nameLocation": "868:14:4", + "nameLocation": "890:14:4", "nodeType": "FunctionDefinition", "parameters": { "id": 815, @@ -15131,10 +16424,10 @@ "id": 814, "mutability": "mutable", "name": "account", - "nameLocation": "891:7:4", + "nameLocation": "913:7:4", "nodeType": "VariableDeclaration", "scope": 834, - "src": "883:15:4", + "src": "905:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15145,7 +16438,7 @@ "id": 813, "name": "address", "nodeType": "ElementaryTypeName", - "src": "883:7:4", + "src": "905:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15155,25 +16448,25 @@ "visibility": "internal" } ], - "src": "882:17:4" + "src": "904:17:4" }, "returnParameters": { "id": 818, "nodeType": "ParameterList", "parameters": [], - "src": "919:0:4" + "src": "941:0:4" }, - "scope": 940, - "src": "859:169:4", + "scope": 951, + "src": "881:169:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 910, + "id": 921, "nodeType": "Block", - "src": "1207:547:4", + "src": "1229:561:4", "statements": [ { "expression": { @@ -15184,8 +16477,8 @@ "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "1221:14:4", + "referencedDeclaration": 761, + "src": "1243:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -15198,7 +16491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 836, - "src": "1236:10:4", + "src": "1258:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15209,7 +16502,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1221:26:4", + "src": "1243:26:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15224,7 +16517,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1249:34:4", + "src": "1271:34:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9", "typeString": "literal_string \"ClaimBoxFactory: unsupported NFT\"" @@ -15251,7 +16544,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1213:7:4", + "src": "1235:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15265,7 +16558,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1213:71:4", + "src": "1235:71:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -15274,7 +16567,7 @@ }, "id": 857, "nodeType": "ExpressionStatement", - "src": "1213:71:4" + "src": "1235:71:4" }, { "assignments": [ @@ -15286,10 +16579,10 @@ "id": 859, "mutability": "mutable", "name": "to", - "nameLocation": "1298:2:4", + "nameLocation": "1320:2:4", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "1290:10:4", + "scope": 921, + "src": "1312:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15300,7 +16593,7 @@ "id": 858, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1290:7:4", + "src": "1312:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15320,7 +16613,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 116, - "src": "1303:10:4", + "src": "1325:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" @@ -15334,7 +16627,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1303:12:4", + "src": "1325:12:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -15342,7 +16635,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1290:25:4" + "src": "1312:25:4" }, { "expression": { @@ -15352,149 +16645,87 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 871, + "id": 868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "arguments": [ - { - "id": 868, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "1368:2:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "arguments": [ - { - "id": 865, - "name": "nftAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "1346:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 864, - "name": "IClaimBox", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "1336:9:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IClaimBox_$755_$", - "typeString": "type(contract IClaimBox)" - } - }, - "id": 866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IClaimBox_$755", - "typeString": "contract IClaimBox" - } - }, - "id": 867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 754, - "src": "1336:31:4", + "baseExpression": { + "id": 864, + "name": "claimHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "1351:12:4", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 866, + "indexExpression": { + "id": 865, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 859, + "src": "1364:2:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 869, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:35:4", - "tryCall": false, + "nodeType": "IndexAccess", + "src": "1351:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 870, + "id": 867, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1375:1:4", + "src": "1371:1:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1336:40:4", + "src": "1351:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "436c61696d426f78466163746f72793a20796f7520616c72656164792068617665206120626f78", - "id": 872, + "hexValue": "436c61696d426f78466163746f72793a20636c61696d6564", + "id": 869, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1384:41:4", + "src": "1374:26:4", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", - "typeString": "literal_string \"ClaimBoxFactory: you already have a box\"" + "typeIdentifier": "t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1", + "typeString": "literal_string \"ClaimBoxFactory: claimed\"" }, - "value": "ClaimBoxFactory: you already have a box" + "value": "ClaimBoxFactory: claimed" } ], "expression": { @@ -15504,8 +16735,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", - "typeString": "literal_string \"ClaimBoxFactory: you already have a box\"" + "typeIdentifier": "t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1", + "typeString": "literal_string \"ClaimBoxFactory: claimed\"" } ], "id": 863, @@ -15516,13 +16747,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1321:7:4", + "src": "1343:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 873, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -15530,31 +16761,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1321:110:4", + "src": "1343:58:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 874, + "id": 871, "nodeType": "ExpressionStatement", - "src": "1321:110:4" + "src": "1343:58:4" }, { "assignments": [ - 876 + 873 ], "declarations": [ { "constant": false, - "id": 876, + "id": 873, "mutability": "mutable", "name": "criteriaMessageHash", - "nameLocation": "1445:19:4", + "nameLocation": "1415:19:4", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "1437:27:4", + "scope": 921, + "src": "1407:27:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15562,10 +16793,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 875, + "id": 872, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1437:7:4", + "src": "1407:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15574,52 +16805,52 @@ "visibility": "internal" } ], - "id": 883, + "id": 880, "initialValue": { "arguments": [ { - "id": 878, + "id": 875, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 859, - "src": "1489:2:4", + "src": "1459:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 879, + "id": 876, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 836, - "src": "1499:10:4", + "src": "1469:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 880, + "id": 877, "name": "startTime", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 838, - "src": "1517:9:4", + "src": "1487:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 881, + "id": 878, "name": "saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 840, - "src": "1534:9:4", + "src": "1504:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15645,18 +16876,18 @@ "typeString": "uint256" } ], - "id": 877, + "id": 874, "name": "getMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "1467:14:4", + "referencedDeclaration": 950, + "src": "1437:14:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (address,address,uint256,uint256) pure returns (bytes32)" } }, - "id": 882, + "id": 879, "isConstant": false, "isLValue": false, "isPure": false, @@ -15664,7 +16895,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1467:82:4", + "src": "1437:82:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -15672,42 +16903,42 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1437:112:4" + "src": "1407:112:4" }, { "expression": { "arguments": [ { - "id": 885, + "id": 882, "name": "executor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "1567:8:4", + "referencedDeclaration": 757, + "src": "1537:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 886, + "id": 883, "name": "criteriaMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 876, - "src": "1577:19:4", + "referencedDeclaration": 873, + "src": "1547:19:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 887, + "id": 884, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 842, - "src": "1598:9:4", + "src": "1568:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -15729,18 +16960,18 @@ "typeString": "bytes calldata" } ], - "id": 884, + "id": 881, "name": "checkSigner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1555:11:4", + "referencedDeclaration": 1200, + "src": "1525:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,bytes32,bytes memory) pure" } }, - "id": 888, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, @@ -15748,16 +16979,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1555:53:4", + "src": "1525:53:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 889, + "id": 886, "nodeType": "ExpressionStatement", - "src": "1555:53:4" + "src": "1525:53:4" }, { "assignments": [ @@ -15768,31 +16999,40 @@ "constant": false, "id": 891, "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1622:7:4", + "name": "tokenIds", + "nameLocation": "1601:8:4", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "1614:15:4", + "scope": 921, + "src": "1584:25:4", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" }, "typeName": { + "baseType": { + "id": 889, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1584:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, "id": 890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1614:7:4", + "nodeType": "ArrayTypeName", + "src": "1584:9:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" } }, "visibility": "internal" } ], - "id": 898, + "id": 899, "initialValue": { "arguments": [ { @@ -15801,11 +17041,27 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 859, - "src": "1659:2:4", + "src": "1644:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + { + "hexValue": "31", + "id": 897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1648:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" } ], "expression": { @@ -15813,6 +17069,10 @@ { "typeIdentifier": "t_address", "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" } ], "expression": { @@ -15823,7 +17083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 836, - "src": "1642:10:4", + "src": "1622:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15841,10 +17101,10 @@ "name": "IClaimBox", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "1632:9:4", + "referencedDeclaration": 751, + "src": "1612:9:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IClaimBox_$755_$", + "typeIdentifier": "t_type$_t_contract$_IClaimBox_$751_$", "typeString": "type(contract IClaimBox)" } }, @@ -15856,10 +17116,10 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1632:21:4", + "src": "1612:21:4", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IClaimBox_$755", + "typeIdentifier": "t_contract$_IClaimBox_$751", "typeString": "contract IClaimBox" } }, @@ -15868,16 +17128,16 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "mint", + "memberName": "batchMint", "nodeType": "MemberAccess", - "referencedDeclaration": 747, - "src": "1632:26:4", + "referencedDeclaration": 750, + "src": "1612:31:4", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) external returns (uint256)" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (address,uint256) external returns (uint256[] memory)" } }, - "id": 897, + "id": 898, "isConstant": false, "isLValue": false, "isPure": false, @@ -15885,26 +17145,123 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1632:30:4", + "src": "1612:38:4", "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1584:66:4" + }, + { + "expression": { + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 900, + "name": "claimHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "1656:12:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 902, + "indexExpression": { + "id": 901, + "name": "nftAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 836, + "src": "1669:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1656:24:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 903, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 891, + "src": "1683:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 905, + "indexExpression": { + "hexValue": "30", + "id": 904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1692:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1683:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1656:38:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "1614:48:4" + "id": 907, + "nodeType": "ExpressionStatement", + "src": "1656:38:4" }, { "expression": { "arguments": [ { - "id": 900, + "id": 909, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 842, - "src": "1682:9:4", + "src": "1714:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -15918,18 +17275,18 @@ "typeString": "bytes calldata" } ], - "id": 899, + "id": 908, "name": "_useSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1221, - "src": "1668:13:4", + "referencedDeclaration": 1232, + "src": "1700:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (bytes calldata)" } }, - "id": 901, + "id": 910, "isConstant": false, "isLValue": false, "isPure": false, @@ -15937,63 +17294,92 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1668:24:4", + "src": "1700:24:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 902, + "id": 911, "nodeType": "ExpressionStatement", - "src": "1668:24:4" + "src": "1700:24:4" }, { "eventCall": { "arguments": [ { - "id": 904, + "id": 913, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 836, - "src": "1714:10:4", + "src": "1746:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 905, + "id": 914, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 859, - "src": "1726:2:4", + "src": "1758:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 906, + "id": 915, "name": "saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 840, - "src": "1730:9:4", + "src": "1762:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 907, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "1741:7:4", + "baseExpression": { + "id": 916, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 891, + "src": "1773:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 918, + "indexExpression": { + "hexValue": "30", + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1782:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1773:11:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16019,18 +17405,18 @@ "typeString": "uint256" } ], - "id": 903, + "id": 912, "name": "BoxClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "1703:10:4", + "src": "1735:10:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 908, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -16038,21 +17424,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1703:46:4", + "src": "1735:50:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 909, + "id": 920, "nodeType": "EmitStatement", - "src": "1698:51:4" + "src": "1730:55:4" } ] }, "functionSelector": "2ada8a32", - "id": 911, + "id": 922, "implemented": true, "kind": "function", "modifiers": [ @@ -16064,7 +17450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 842, - "src": "1175:9:4", + "src": "1197:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -16077,11 +17463,11 @@ "id": 844, "name": "signatureValid", "nodeType": "IdentifierPath", - "referencedDeclaration": 1203, - "src": "1160:14:4" + "referencedDeclaration": 1214, + "src": "1182:14:4" }, "nodeType": "ModifierInvocation", - "src": "1160:25:4" + "src": "1182:25:4" }, { "arguments": [ @@ -16091,7 +17477,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 838, - "src": "1196:9:4", + "src": "1218:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16104,15 +17490,15 @@ "id": 847, "name": "timeValid", "nodeType": "IdentifierPath", - "referencedDeclaration": 1257, - "src": "1186:9:4" + "referencedDeclaration": 1268, + "src": "1208:9:4" }, "nodeType": "ModifierInvocation", - "src": "1186:20:4" + "src": "1208:20:4" } ], "name": "claim", - "nameLocation": "1041:5:4", + "nameLocation": "1063:5:4", "nodeType": "FunctionDefinition", "parameters": { "id": 843, @@ -16123,10 +17509,10 @@ "id": 836, "mutability": "mutable", "name": "nftAddress", - "nameLocation": "1060:10:4", + "nameLocation": "1082:10:4", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1052:18:4", + "scope": 922, + "src": "1074:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16137,7 +17523,7 @@ "id": 835, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1052:7:4", + "src": "1074:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16151,10 +17537,10 @@ "id": 838, "mutability": "mutable", "name": "startTime", - "nameLocation": "1084:9:4", + "nameLocation": "1106:9:4", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1076:17:4", + "scope": 922, + "src": "1098:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16165,7 +17551,7 @@ "id": 837, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1076:7:4", + "src": "1098:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16178,10 +17564,10 @@ "id": 840, "mutability": "mutable", "name": "saltNonce", - "nameLocation": "1107:9:4", + "nameLocation": "1129:9:4", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1099:17:4", + "scope": 922, + "src": "1121:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16192,7 +17578,7 @@ "id": 839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1099:7:4", + "src": "1121:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16205,10 +17591,10 @@ "id": 842, "mutability": "mutable", "name": "signature", - "nameLocation": "1137:9:4", + "nameLocation": "1159:9:4", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1122:24:4", + "scope": 922, + "src": "1144:24:4", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -16219,7 +17605,7 @@ "id": 841, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1122:5:4", + "src": "1144:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16228,40 +17614,40 @@ "visibility": "internal" } ], - "src": "1046:104:4" + "src": "1068:104:4" }, "returnParameters": { "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "1207:0:4" + "src": "1229:0:4" }, - "scope": 940, - "src": "1032:722:4", + "scope": 951, + "src": "1054:736:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 938, + "id": 949, "nodeType": "Block", - "src": "1903:150:4", + "src": "1939:150:4", "statements": [ { "assignments": [ - 925 + 936 ], "declarations": [ { "constant": false, - "id": 925, + "id": 936, "mutability": "mutable", "name": "encoded", - "nameLocation": "1922:7:4", + "nameLocation": "1958:7:4", "nodeType": "VariableDeclaration", - "scope": 938, - "src": "1909:20:4", + "scope": 949, + "src": "1945:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16269,10 +17655,10 @@ "typeString": "bytes" }, "typeName": { - "id": 924, + "id": 935, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1909:5:4", + "src": "1945:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16281,52 +17667,52 @@ "visibility": "internal" } ], - "id": 933, + "id": 944, "initialValue": { "arguments": [ { - "id": 928, + "id": 939, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "1956:3:4", + "referencedDeclaration": 924, + "src": "1992:3:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 929, + "id": 940, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "1967:8:4", + "referencedDeclaration": 926, + "src": "2003:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 930, + "id": 941, "name": "_startTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 917, - "src": "1983:10:4", + "referencedDeclaration": 928, + "src": "2019:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 931, + "id": 942, "name": "_saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "2001:10:4", + "referencedDeclaration": 930, + "src": "2037:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16353,31 +17739,31 @@ } ], "expression": { - "id": 926, + "id": 937, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "1932:3:4", + "src": "1968:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 927, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1932:16:4", + "src": "1968:16:4", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 932, + "id": 943, "isConstant": false, "isLValue": false, "isPure": false, @@ -16385,7 +17771,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1932:85:4", + "src": "1968:85:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -16393,18 +17779,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1909:108:4" + "src": "1945:108:4" }, { "expression": { "arguments": [ { - "id": 935, + "id": 946, "name": "encoded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 925, - "src": "2040:7:4", + "referencedDeclaration": 936, + "src": "2076:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -16418,18 +17804,18 @@ "typeString": "bytes memory" } ], - "id": 934, + "id": 945, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "2030:9:4", + "src": "2066:9:4", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 936, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, @@ -16437,41 +17823,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2030:18:4", + "src": "2066:18:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 923, - "id": 937, + "functionReturnParameters": 934, + "id": 948, "nodeType": "Return", - "src": "2023:25:4" + "src": "2059:25:4" } ] }, "functionSelector": "0b71a0b7", - "id": 939, + "id": 950, "implemented": true, "kind": "function", "modifiers": [], "name": "getMessageHash", - "nameLocation": "1767:14:4", + "nameLocation": "1803:14:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 920, + "id": 931, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 924, "mutability": "mutable", "name": "_to", - "nameLocation": "1795:3:4", + "nameLocation": "1831:3:4", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1787:11:4", + "scope": 950, + "src": "1823:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16479,10 +17865,10 @@ "typeString": "address" }, "typeName": { - "id": 912, + "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1787:7:4", + "src": "1823:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16493,13 +17879,13 @@ }, { "constant": false, - "id": 915, + "id": 926, "mutability": "mutable", "name": "_address", - "nameLocation": "1812:8:4", + "nameLocation": "1848:8:4", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1804:16:4", + "scope": 950, + "src": "1840:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16507,10 +17893,10 @@ "typeString": "address" }, "typeName": { - "id": 914, + "id": 925, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1804:7:4", + "src": "1840:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16521,13 +17907,13 @@ }, { "constant": false, - "id": 917, + "id": 928, "mutability": "mutable", "name": "_startTime", - "nameLocation": "1834:10:4", + "nameLocation": "1870:10:4", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1826:18:4", + "scope": 950, + "src": "1862:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16535,10 +17921,10 @@ "typeString": "uint256" }, "typeName": { - "id": 916, + "id": 927, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1826:7:4", + "src": "1862:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16548,13 +17934,13 @@ }, { "constant": false, - "id": 919, + "id": 930, "mutability": "mutable", "name": "_saltNonce", - "nameLocation": "1858:10:4", + "nameLocation": "1894:10:4", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1850:18:4", + "scope": 950, + "src": "1886:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16562,10 +17948,10 @@ "typeString": "uint256" }, "typeName": { - "id": 918, + "id": 929, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1850:7:4", + "src": "1886:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16574,21 +17960,21 @@ "visibility": "internal" } ], - "src": "1781:91:4" + "src": "1817:91:4" }, "returnParameters": { - "id": 923, + "id": 934, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 922, + "id": 933, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1894:7:4", + "scope": 950, + "src": "1930:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16596,10 +17982,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 921, + "id": 932, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1894:7:4", + "src": "1930:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16608,21 +17994,21 @@ "visibility": "internal" } ], - "src": "1893:9:4" + "src": "1929:9:4" }, - "scope": 940, - "src": "1758:295:4", + "scope": 951, + "src": "1794:295:4", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], - "scope": 941, - "src": "279:1776:4", + "scope": 952, + "src": "250:1841:4", "usedErrors": [] } ], - "src": "32:2024:4" + "src": "32:2060:4" }, "compiler": { "name": "solc", @@ -16630,7 +18016,7 @@ }, "networks": {}, "schemaVersion": "3.4.11", - "updatedAt": "2023-06-14T05:44:50.407Z", + "updatedAt": "2023-06-14T07:33:59.629Z", "devdoc": { "kind": "dev", "methods": { diff --git a/build/contracts/IClaimBox.json b/build/contracts/IClaimBox.json index 0a966c5..9c001cc 100644 --- a/build/contracts/IClaimBox.json +++ b/build/contracts/IClaimBox.json @@ -7,40 +7,26 @@ "internalType": "address", "name": "to", "type": "address" - } - ], - "name": "mint", - "outputs": [ + }, { "internalType": "uint256", - "name": "", + "name": "count", "type": "uint256" } ], + "name": "batchMint", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], "stateMutability": "nonpayable", "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/activity/ClaimBoxFactory.sol\":\"IClaimBox\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x3c07f43e60e099b3b157243b3152722e73b80eeb7985c2cd73712828d7f7da29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://466ffb5a6e3bd65fffd996f9287ffd240ea21588a338c6efe143d94eaed014a7\",\"dweb:/ipfs/Qmans3vvPJZcvxe9KLAPc9Xwe4TFVTJdzaQGpi62Vrhoe2\"]},\"project:/contracts/activity/ClaimBoxFactory.sol\":{\"keccak256\":\"0xec299fce534ba96325c6cbc2a516d3f6ef60bc1d97a3b0ff76826050747c1237\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a81a52547bf9fd3cdfd4f80a7c81a8d5fdceb31cf25d84251d18ad6ae01a19f7\",\"dweb:/ipfs/QmcHnHaNWhX87F8htfwGvVXsCmsLpDYr99cv8CRAk5cC6D\"]},\"project:/contracts/core/HasSignature.sol\":{\"keccak256\":\"0x0c22f0ac8b7568d61d3bfb1241b4adb0340e42f6e720fe3f23ca050a9328ae7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd2ef5fe7ec94d525b184fc706542396f70e462bd86d59e00e985ade72769715\",\"dweb:/ipfs/QmQkuPkYzZfY1nvtQKSRvNbaPGM6pynmWFs5s3K82s7ESg\"]},\"project:/contracts/utils/TimeChecker.sol\":{\"keccak256\":\"0xfd7166019ec3429792765d067a6b839f5db481e8ca9e20f3b8cd2726dfa4f70c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3acefbcdab9b6a110549a7b65f9c4482d095752da13be92f6f82a750386082f5\",\"dweb:/ipfs/QmNTdCbDfNXhgvy2LTWQhKHcQaTPWZjzvX6fJ2P1UQWKZ2\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/activity/ClaimBoxFactory.sol\":\"IClaimBox\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x3c07f43e60e099b3b157243b3152722e73b80eeb7985c2cd73712828d7f7da29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://466ffb5a6e3bd65fffd996f9287ffd240ea21588a338c6efe143d94eaed014a7\",\"dweb:/ipfs/Qmans3vvPJZcvxe9KLAPc9Xwe4TFVTJdzaQGpi62Vrhoe2\"]},\"project:/contracts/activity/ClaimBoxFactory.sol\":{\"keccak256\":\"0x092e84b00b4a6f6a2bb42e4835f9aab1b74432e4ae4031ace6877c1bb53eef1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c9cb938bdb732b52894fa7d587c6a47ac150aa1ebcc1be2c5f354c7302f181f\",\"dweb:/ipfs/QmZZRso5SWFVZgKHFvXivWWcMQSi5bEcHWnFKbQgAYDjKb\"]},\"project:/contracts/core/HasSignature.sol\":{\"keccak256\":\"0x0c22f0ac8b7568d61d3bfb1241b4adb0340e42f6e720fe3f23ca050a9328ae7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd2ef5fe7ec94d525b184fc706542396f70e462bd86d59e00e985ade72769715\",\"dweb:/ipfs/QmQkuPkYzZfY1nvtQKSRvNbaPGM6pynmWFs5s3K82s7ESg\"]},\"project:/contracts/utils/TimeChecker.sol\":{\"keccak256\":\"0xfd7166019ec3429792765d067a6b839f5db481e8ca9e20f3b8cd2726dfa4f70c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3acefbcdab9b6a110549a7b65f9c4482d095752da13be92f6f82a750386082f5\",\"dweb:/ipfs/QmNTdCbDfNXhgvy2LTWQhKHcQaTPWZjzvX6fJ2P1UQWKZ2\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, @@ -48,13 +34,13 @@ "deployedGeneratedSources": [], "sourceMap": "", "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"../core/HasSignature.sol\";\nimport \"../utils/TimeChecker.sol\";\n\ninterface IClaimBox {\n function mint(address to) external returns (uint256);\n\n function balanceOf(address owner) external view returns (uint256);\n}\n\ncontract ClaimBoxFactory is HasSignature, TimeChecker {\n address public executor;\n mapping(address => bool) public tokenSupported;\n\n event BoxClaimed(\n address indexed nftAddress,\n address indexed to,\n uint256 indexed nonce,\n uint256 tokenId\n );\n\n constructor() HasSignature(\"ClaimBoxFactory\", \"1\") {}\n\n function addTokenSupport(address nftToken) external onlyOwner {\n tokenSupported[nftToken] = true;\n }\n\n function removeTokenSupport(address nftToken) external onlyOwner {\n tokenSupported[nftToken] = false;\n }\n\n /**\n * @dev update executor\n */\n function updateExecutor(address account) external onlyOwner {\n require(account != address(0), \"ClaimBoxFactory: address can not be zero\");\n executor = account;\n }\n\n function claim(\n address nftAddress,\n uint256 startTime,\n uint256 saltNonce,\n bytes calldata signature\n ) external signatureValid(signature) timeValid(startTime) {\n require(tokenSupported[nftAddress], \"ClaimBoxFactory: unsupported NFT\");\n address to = _msgSender();\n require(\n IClaimBox(nftAddress).balanceOf(to) == 0,\n \"ClaimBoxFactory: you already have a box\"\n );\n bytes32 criteriaMessageHash = getMessageHash(\n to,\n nftAddress,\n startTime,\n saltNonce\n );\n checkSigner(executor, criteriaMessageHash, signature);\n uint256 tokenId = IClaimBox(nftAddress).mint(to);\n _useSignature(signature);\n emit BoxClaimed(nftAddress, to, saltNonce, tokenId);\n }\n\n function getMessageHash(\n address _to,\n address _address,\n uint256 _startTime,\n uint256 _saltNonce\n ) public pure returns (bytes32) {\n bytes memory encoded = abi.encodePacked(\n _to,\n _address,\n _startTime,\n _saltNonce\n );\n return keccak256(encoded);\n }\n}\n", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"../core/HasSignature.sol\";\nimport \"../utils/TimeChecker.sol\";\n\ninterface IClaimBox {\n function batchMint(\n address to,\n uint256 count\n ) external returns (uint256[] memory);\n}\n\ncontract ClaimBoxFactory is HasSignature, TimeChecker {\n address public executor;\n mapping(address => bool) public tokenSupported;\n mapping(address => uint256) public claimHistory;\n\n event BoxClaimed(\n address indexed nftAddress,\n address indexed to,\n uint256 indexed nonce,\n uint256 tokenId\n );\n\n constructor() HasSignature(\"ClaimBoxFactory\", \"1\") {}\n\n function addTokenSupport(address nftToken) external onlyOwner {\n tokenSupported[nftToken] = true;\n }\n\n function removeTokenSupport(address nftToken) external onlyOwner {\n tokenSupported[nftToken] = false;\n }\n\n /**\n * @dev update executor\n */\n function updateExecutor(address account) external onlyOwner {\n require(account != address(0), \"ClaimBoxFactory: address can not be zero\");\n executor = account;\n }\n\n function claim(\n address nftAddress,\n uint256 startTime,\n uint256 saltNonce,\n bytes calldata signature\n ) external signatureValid(signature) timeValid(startTime) {\n require(tokenSupported[nftAddress], \"ClaimBoxFactory: unsupported NFT\");\n address to = _msgSender();\n require(claimHistory[to] != 0, \"ClaimBoxFactory: claimed\");\n bytes32 criteriaMessageHash = getMessageHash(\n to,\n nftAddress,\n startTime,\n saltNonce\n );\n checkSigner(executor, criteriaMessageHash, signature);\n uint256[] memory tokenIds = IClaimBox(nftAddress).batchMint(to, 1);\n claimHistory[nftAddress] = tokenIds[0];\n _useSignature(signature);\n emit BoxClaimed(nftAddress, to, saltNonce, tokenIds[0]);\n }\n\n function getMessageHash(\n address _to,\n address _address,\n uint256 _startTime,\n uint256 _saltNonce\n ) public pure returns (bytes32) {\n bytes memory encoded = abi.encodePacked(\n _to,\n _address,\n _startTime,\n _saltNonce\n );\n return keccak256(encoded);\n }\n}\n", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/activity/ClaimBoxFactory.sol", "ast": { "absolutePath": "project:/contracts/activity/ClaimBoxFactory.sol", "exportedSymbols": { "ClaimBoxFactory": [ - 940 + 951 ], "Context": [ 126 @@ -63,10 +49,10 @@ 736 ], "HasSignature": [ - 1222 + 1233 ], "IClaimBox": [ - 755 + 751 ], "Ownable": [ 104 @@ -75,10 +61,10 @@ 329 ], "TimeChecker": [ - 1280 + 1291 ] }, - "id": 941, + "id": 952, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -98,8 +84,8 @@ "id": 739, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 941, - "sourceUnit": 1223, + "scope": 952, + "sourceUnit": 1234, "src": "57:34:4", "symbolAliases": [], "unitAlias": "" @@ -110,8 +96,8 @@ "id": 740, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 941, - "sourceUnit": 1281, + "scope": 952, + "sourceUnit": 1292, "src": "92:34:4", "symbolAliases": [], "unitAlias": "" @@ -123,25 +109,25 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 755, + "id": 751, "linearizedBaseContracts": [ - 755 + 751 ], "name": "IClaimBox", "nameLocation": "138:9:4", "nodeType": "ContractDefinition", "nodes": [ { - "functionSelector": "6a627842", - "id": 747, + "functionSelector": "43508b05", + "id": 750, "implemented": false, "kind": "function", "modifiers": [], - "name": "mint", - "nameLocation": "161:4:4", + "name": "batchMint", + "nameLocation": "161:9:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 743, + "id": 745, "nodeType": "ParameterList", "parameters": [ { @@ -149,10 +135,10 @@ "id": 742, "mutability": "mutable", "name": "to", - "nameLocation": "174:2:4", + "nameLocation": "184:2:4", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "166:10:4", + "scope": 750, + "src": "176:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -163,7 +149,7 @@ "id": 741, "name": "address", "nodeType": "ElementaryTypeName", - "src": "166:7:4", + "src": "176:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -171,23 +157,16 @@ } }, "visibility": "internal" - } - ], - "src": "165:12:4" - }, - "returnParameters": { - "id": 746, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 745, + "id": 744, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "count", + "nameLocation": "200:5:4", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "196:7:4", + "scope": 750, + "src": "192:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -195,10 +174,10 @@ "typeString": "uint256" }, "typeName": { - "id": 744, + "id": 743, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "196:7:4", + "src": "192:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -207,101 +186,60 @@ "visibility": "internal" } ], - "src": "195:9:4" + "src": "170:39:4" }, - "scope": 755, - "src": "152:53:4", + "returnParameters": { + "id": 749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 748, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 750, + "src": "228:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 747, + "nodeType": "ArrayTypeName", + "src": "228:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "227:18:4" + }, + "scope": 751, + "src": "152:94:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" - }, - { - "functionSelector": "70a08231", - "id": 754, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "218:9:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 750, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 749, - "mutability": "mutable", - "name": "owner", - "nameLocation": "236:5:4", - "nodeType": "VariableDeclaration", - "scope": 754, - "src": "228:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "228:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "227:15:4" - }, - "returnParameters": { - "id": 753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 752, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 754, - "src": "266:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "266:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "265:9:4" - }, - "scope": 755, - "src": "209:66:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" } ], - "scope": 941, - "src": "128:149:4", + "scope": 952, + "src": "128:120:4", "usedErrors": [] }, { @@ -309,55 +247,55 @@ "baseContracts": [ { "baseName": { - "id": 756, + "id": 752, "name": "HasSignature", "nodeType": "IdentifierPath", - "referencedDeclaration": 1222, - "src": "307:12:4" + "referencedDeclaration": 1233, + "src": "278:12:4" }, - "id": 757, + "id": 753, "nodeType": "InheritanceSpecifier", - "src": "307:12:4" + "src": "278:12:4" }, { "baseName": { - "id": 758, + "id": 754, "name": "TimeChecker", "nodeType": "IdentifierPath", - "referencedDeclaration": 1280, - "src": "321:11:4" + "referencedDeclaration": 1291, + "src": "292:11:4" }, - "id": 759, + "id": 755, "nodeType": "InheritanceSpecifier", - "src": "321:11:4" + "src": "292:11:4" } ], "canonicalName": "ClaimBoxFactory", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 940, + "id": 951, "linearizedBaseContracts": [ - 940, - 1280, - 1222, + 951, + 1291, + 1233, 104, 126 ], "name": "ClaimBoxFactory", - "nameLocation": "288:15:4", + "nameLocation": "259:15:4", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "c34c08e5", - "id": 761, + "id": 757, "mutability": "mutable", "name": "executor", - "nameLocation": "352:8:4", + "nameLocation": "323:8:4", "nodeType": "VariableDeclaration", - "scope": 940, - "src": "337:23:4", + "scope": 951, + "src": "308:23:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -365,10 +303,10 @@ "typeString": "address" }, "typeName": { - "id": 760, + "id": 756, "name": "address", "nodeType": "ElementaryTypeName", - "src": "337:7:4", + "src": "308:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -380,13 +318,13 @@ { "constant": false, "functionSelector": "062143f0", - "id": 765, + "id": 761, "mutability": "mutable", "name": "tokenSupported", - "nameLocation": "396:14:4", + "nameLocation": "367:14:4", "nodeType": "VariableDeclaration", - "scope": 940, - "src": "364:46:4", + "scope": 951, + "src": "335:46:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -394,28 +332,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 764, + "id": 760, "keyType": { - "id": 762, + "id": 758, "name": "address", "nodeType": "ElementaryTypeName", - "src": "372:7:4", + "src": "343:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "364:24:4", + "src": "335:24:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 763, + "id": 759, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "383:4:4", + "src": "354:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -424,11 +362,58 @@ }, "visibility": "public" }, + { + "constant": false, + "functionSelector": "425a69cc", + "id": 765, + "mutability": "mutable", + "name": "claimHistory", + "nameLocation": "420:12:4", + "nodeType": "VariableDeclaration", + "scope": 951, + "src": "385:47:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 764, + "keyType": { + "id": 762, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "393:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "385:27:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "404:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, { "anonymous": false, "id": 775, "name": "BoxClaimed", - "nameLocation": "421:10:4", + "nameLocation": "443:10:4", "nodeType": "EventDefinition", "parameters": { "id": 774, @@ -440,10 +425,10 @@ "indexed": true, "mutability": "mutable", "name": "nftAddress", - "nameLocation": "453:10:4", + "nameLocation": "475:10:4", "nodeType": "VariableDeclaration", "scope": 775, - "src": "437:26:4", + "src": "459:26:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -454,7 +439,7 @@ "id": 766, "name": "address", "nodeType": "ElementaryTypeName", - "src": "437:7:4", + "src": "459:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -469,10 +454,10 @@ "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "485:2:4", + "nameLocation": "507:2:4", "nodeType": "VariableDeclaration", "scope": 775, - "src": "469:18:4", + "src": "491:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -483,7 +468,7 @@ "id": 768, "name": "address", "nodeType": "ElementaryTypeName", - "src": "469:7:4", + "src": "491:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -498,10 +483,10 @@ "indexed": true, "mutability": "mutable", "name": "nonce", - "nameLocation": "509:5:4", + "nameLocation": "531:5:4", "nodeType": "VariableDeclaration", "scope": 775, - "src": "493:21:4", + "src": "515:21:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -512,7 +497,7 @@ "id": 770, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "493:7:4", + "src": "515:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -526,10 +511,10 @@ "indexed": false, "mutability": "mutable", "name": "tokenId", - "nameLocation": "528:7:4", + "nameLocation": "550:7:4", "nodeType": "VariableDeclaration", "scope": 775, - "src": "520:15:4", + "src": "542:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -540,7 +525,7 @@ "id": 772, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "520:7:4", + "src": "542:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -549,15 +534,15 @@ "visibility": "internal" } ], - "src": "431:108:4" + "src": "453:108:4" }, - "src": "415:125:4" + "src": "437:125:4" }, { "body": { "id": 782, "nodeType": "Block", - "src": "595:2:4", + "src": "617:2:4", "statements": [] }, "id": 783, @@ -575,7 +560,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "571:17:4", + "src": "593:17:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e8bbb1263203a9a335b4f07433b16b4ed04783db5abc514adb7ea5ded05058f7", "typeString": "literal_string \"ClaimBoxFactory\"" @@ -591,7 +576,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "590:3:4", + "src": "612:3:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", "typeString": "literal_string \"1\"" @@ -605,11 +590,11 @@ "id": 777, "name": "HasSignature", "nodeType": "IdentifierPath", - "referencedDeclaration": 1222, - "src": "558:12:4" + "referencedDeclaration": 1233, + "src": "580:12:4" }, "nodeType": "ModifierInvocation", - "src": "558:36:4" + "src": "580:36:4" } ], "name": "", @@ -619,16 +604,16 @@ "id": 776, "nodeType": "ParameterList", "parameters": [], - "src": "555:2:4" + "src": "577:2:4" }, "returnParameters": { "id": 781, "nodeType": "ParameterList", "parameters": [], - "src": "595:0:4" + "src": "617:0:4" }, - "scope": 940, - "src": "544:53:4", + "scope": 951, + "src": "566:53:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -637,7 +622,7 @@ "body": { "id": 796, "nodeType": "Block", - "src": "663:42:4", + "src": "685:42:4", "statements": [ { "expression": { @@ -652,8 +637,8 @@ "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "669:14:4", + "referencedDeclaration": 761, + "src": "691:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -666,7 +651,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 785, - "src": "684:8:4", + "src": "706:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -677,7 +662,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "669:24:4", + "src": "691:24:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -694,14 +679,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "696:4:4", + "src": "718:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "669:31:4", + "src": "691:31:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -709,7 +694,7 @@ }, "id": 795, "nodeType": "ExpressionStatement", - "src": "669:31:4" + "src": "691:31:4" } ] }, @@ -726,14 +711,14 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "653:9:4" + "src": "675:9:4" }, "nodeType": "ModifierInvocation", - "src": "653:9:4" + "src": "675:9:4" } ], "name": "addTokenSupport", - "nameLocation": "610:15:4", + "nameLocation": "632:15:4", "nodeType": "FunctionDefinition", "parameters": { "id": 786, @@ -744,10 +729,10 @@ "id": 785, "mutability": "mutable", "name": "nftToken", - "nameLocation": "634:8:4", + "nameLocation": "656:8:4", "nodeType": "VariableDeclaration", "scope": 797, - "src": "626:16:4", + "src": "648:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -758,7 +743,7 @@ "id": 784, "name": "address", "nodeType": "ElementaryTypeName", - "src": "626:7:4", + "src": "648:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -768,16 +753,16 @@ "visibility": "internal" } ], - "src": "625:18:4" + "src": "647:18:4" }, "returnParameters": { "id": 789, "nodeType": "ParameterList", "parameters": [], - "src": "663:0:4" + "src": "685:0:4" }, - "scope": 940, - "src": "601:104:4", + "scope": 951, + "src": "623:104:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -786,7 +771,7 @@ "body": { "id": 810, "nodeType": "Block", - "src": "774:43:4", + "src": "796:43:4", "statements": [ { "expression": { @@ -801,8 +786,8 @@ "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "780:14:4", + "referencedDeclaration": 761, + "src": "802:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -815,7 +800,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "795:8:4", + "src": "817:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -826,7 +811,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "780:24:4", + "src": "802:24:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -843,14 +828,14 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "807:5:4", + "src": "829:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "780:32:4", + "src": "802:32:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -858,7 +843,7 @@ }, "id": 809, "nodeType": "ExpressionStatement", - "src": "780:32:4" + "src": "802:32:4" } ] }, @@ -875,14 +860,14 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "764:9:4" + "src": "786:9:4" }, "nodeType": "ModifierInvocation", - "src": "764:9:4" + "src": "786:9:4" } ], "name": "removeTokenSupport", - "nameLocation": "718:18:4", + "nameLocation": "740:18:4", "nodeType": "FunctionDefinition", "parameters": { "id": 800, @@ -893,10 +878,10 @@ "id": 799, "mutability": "mutable", "name": "nftToken", - "nameLocation": "745:8:4", + "nameLocation": "767:8:4", "nodeType": "VariableDeclaration", "scope": 811, - "src": "737:16:4", + "src": "759:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -907,7 +892,7 @@ "id": 798, "name": "address", "nodeType": "ElementaryTypeName", - "src": "737:7:4", + "src": "759:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -917,16 +902,16 @@ "visibility": "internal" } ], - "src": "736:18:4" + "src": "758:18:4" }, "returnParameters": { "id": 803, "nodeType": "ParameterList", "parameters": [], - "src": "774:0:4" + "src": "796:0:4" }, - "scope": 940, - "src": "709:108:4", + "scope": 951, + "src": "731:108:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -935,7 +920,7 @@ "body": { "id": 833, "nodeType": "Block", - "src": "919:109:4", + "src": "941:109:4", "statements": [ { "expression": { @@ -956,7 +941,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "933:7:4", + "src": "955:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -975,7 +960,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "952:1:4", + "src": "974:1:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -996,7 +981,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "944:7:4", + "src": "966:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -1005,7 +990,7 @@ "id": 821, "name": "address", "nodeType": "ElementaryTypeName", - "src": "944:7:4", + "src": "966:7:4", "typeDescriptions": {} } }, @@ -1017,14 +1002,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "944:10:4", + "src": "966:10:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "933:21:4", + "src": "955:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1039,7 +1024,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "956:42:4", + "src": "978:42:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1", "typeString": "literal_string \"ClaimBoxFactory: address can not be zero\"" @@ -1066,7 +1051,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "925:7:4", + "src": "947:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1080,7 +1065,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "925:74:4", + "src": "947:74:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -1089,7 +1074,7 @@ }, "id": 828, "nodeType": "ExpressionStatement", - "src": "925:74:4" + "src": "947:74:4" }, { "expression": { @@ -1103,8 +1088,8 @@ "name": "executor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "1005:8:4", + "referencedDeclaration": 757, + "src": "1027:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1118,13 +1103,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "1016:7:4", + "src": "1038:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1005:18:4", + "src": "1027:18:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1132,14 +1117,14 @@ }, "id": 832, "nodeType": "ExpressionStatement", - "src": "1005:18:4" + "src": "1027:18:4" } ] }, "documentation": { "id": 812, "nodeType": "StructuredDocumentation", - "src": "821:35:4", + "src": "843:35:4", "text": " @dev update executor" }, "functionSelector": "74936c16", @@ -1155,14 +1140,14 @@ "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "909:9:4" + "src": "931:9:4" }, "nodeType": "ModifierInvocation", - "src": "909:9:4" + "src": "931:9:4" } ], "name": "updateExecutor", - "nameLocation": "868:14:4", + "nameLocation": "890:14:4", "nodeType": "FunctionDefinition", "parameters": { "id": 815, @@ -1173,10 +1158,10 @@ "id": 814, "mutability": "mutable", "name": "account", - "nameLocation": "891:7:4", + "nameLocation": "913:7:4", "nodeType": "VariableDeclaration", "scope": 834, - "src": "883:15:4", + "src": "905:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1187,7 +1172,7 @@ "id": 813, "name": "address", "nodeType": "ElementaryTypeName", - "src": "883:7:4", + "src": "905:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1197,25 +1182,25 @@ "visibility": "internal" } ], - "src": "882:17:4" + "src": "904:17:4" }, "returnParameters": { "id": 818, "nodeType": "ParameterList", "parameters": [], - "src": "919:0:4" + "src": "941:0:4" }, - "scope": 940, - "src": "859:169:4", + "scope": 951, + "src": "881:169:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 910, + "id": 921, "nodeType": "Block", - "src": "1207:547:4", + "src": "1229:561:4", "statements": [ { "expression": { @@ -1226,8 +1211,8 @@ "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "1221:14:4", + "referencedDeclaration": 761, + "src": "1243:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1240,7 +1225,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 836, - "src": "1236:10:4", + "src": "1258:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1251,7 +1236,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1221:26:4", + "src": "1243:26:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1266,7 +1251,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1249:34:4", + "src": "1271:34:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9", "typeString": "literal_string \"ClaimBoxFactory: unsupported NFT\"" @@ -1293,7 +1278,7 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1213:7:4", + "src": "1235:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1307,7 +1292,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1213:71:4", + "src": "1235:71:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -1316,7 +1301,7 @@ }, "id": 857, "nodeType": "ExpressionStatement", - "src": "1213:71:4" + "src": "1235:71:4" }, { "assignments": [ @@ -1328,10 +1313,10 @@ "id": 859, "mutability": "mutable", "name": "to", - "nameLocation": "1298:2:4", + "nameLocation": "1320:2:4", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "1290:10:4", + "scope": 921, + "src": "1312:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1342,7 +1327,7 @@ "id": 858, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1290:7:4", + "src": "1312:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1362,7 +1347,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 116, - "src": "1303:10:4", + "src": "1325:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" @@ -1376,7 +1361,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1303:12:4", + "src": "1325:12:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -1384,7 +1369,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1290:25:4" + "src": "1312:25:4" }, { "expression": { @@ -1394,149 +1379,87 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 871, + "id": 868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "arguments": [ - { - "id": 868, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "1368:2:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "arguments": [ - { - "id": 865, - "name": "nftAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "1346:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 864, - "name": "IClaimBox", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "1336:9:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IClaimBox_$755_$", - "typeString": "type(contract IClaimBox)" - } - }, - "id": 866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IClaimBox_$755", - "typeString": "contract IClaimBox" - } - }, - "id": 867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 754, - "src": "1336:31:4", + "baseExpression": { + "id": 864, + "name": "claimHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "1351:12:4", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 866, + "indexExpression": { + "id": 865, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 859, + "src": "1364:2:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 869, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1336:35:4", - "tryCall": false, + "nodeType": "IndexAccess", + "src": "1351:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 870, + "id": 867, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1375:1:4", + "src": "1371:1:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1336:40:4", + "src": "1351:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "436c61696d426f78466163746f72793a20796f7520616c72656164792068617665206120626f78", - "id": 872, + "hexValue": "436c61696d426f78466163746f72793a20636c61696d6564", + "id": 869, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1384:41:4", + "src": "1374:26:4", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", - "typeString": "literal_string \"ClaimBoxFactory: you already have a box\"" + "typeIdentifier": "t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1", + "typeString": "literal_string \"ClaimBoxFactory: claimed\"" }, - "value": "ClaimBoxFactory: you already have a box" + "value": "ClaimBoxFactory: claimed" } ], "expression": { @@ -1546,8 +1469,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", - "typeString": "literal_string \"ClaimBoxFactory: you already have a box\"" + "typeIdentifier": "t_stringliteral_276c17f9a9c35abfefe497b38facd2084a91f22ed8d2ee58b11d39834fa0f0c1", + "typeString": "literal_string \"ClaimBoxFactory: claimed\"" } ], "id": 863, @@ -1558,13 +1481,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1321:7:4", + "src": "1343:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 873, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -1572,31 +1495,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1321:110:4", + "src": "1343:58:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 874, + "id": 871, "nodeType": "ExpressionStatement", - "src": "1321:110:4" + "src": "1343:58:4" }, { "assignments": [ - 876 + 873 ], "declarations": [ { "constant": false, - "id": 876, + "id": 873, "mutability": "mutable", "name": "criteriaMessageHash", - "nameLocation": "1445:19:4", + "nameLocation": "1415:19:4", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "1437:27:4", + "scope": 921, + "src": "1407:27:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1604,10 +1527,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 875, + "id": 872, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1437:7:4", + "src": "1407:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1616,52 +1539,52 @@ "visibility": "internal" } ], - "id": 883, + "id": 880, "initialValue": { "arguments": [ { - "id": 878, + "id": 875, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 859, - "src": "1489:2:4", + "src": "1459:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 879, + "id": 876, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 836, - "src": "1499:10:4", + "src": "1469:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 880, + "id": 877, "name": "startTime", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 838, - "src": "1517:9:4", + "src": "1487:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 881, + "id": 878, "name": "saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 840, - "src": "1534:9:4", + "src": "1504:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1687,18 +1610,18 @@ "typeString": "uint256" } ], - "id": 877, + "id": 874, "name": "getMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "1467:14:4", + "referencedDeclaration": 950, + "src": "1437:14:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (address,address,uint256,uint256) pure returns (bytes32)" } }, - "id": 882, + "id": 879, "isConstant": false, "isLValue": false, "isPure": false, @@ -1706,7 +1629,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1467:82:4", + "src": "1437:82:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1714,42 +1637,42 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1437:112:4" + "src": "1407:112:4" }, { "expression": { "arguments": [ { - "id": 885, + "id": 882, "name": "executor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "1567:8:4", + "referencedDeclaration": 757, + "src": "1537:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 886, + "id": 883, "name": "criteriaMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 876, - "src": "1577:19:4", + "referencedDeclaration": 873, + "src": "1547:19:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 887, + "id": 884, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 842, - "src": "1598:9:4", + "src": "1568:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -1771,18 +1694,18 @@ "typeString": "bytes calldata" } ], - "id": 884, + "id": 881, "name": "checkSigner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1555:11:4", + "referencedDeclaration": 1200, + "src": "1525:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,bytes32,bytes memory) pure" } }, - "id": 888, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, @@ -1790,16 +1713,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1555:53:4", + "src": "1525:53:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 889, + "id": 886, "nodeType": "ExpressionStatement", - "src": "1555:53:4" + "src": "1525:53:4" }, { "assignments": [ @@ -1810,31 +1733,40 @@ "constant": false, "id": 891, "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1622:7:4", + "name": "tokenIds", + "nameLocation": "1601:8:4", "nodeType": "VariableDeclaration", - "scope": 910, - "src": "1614:15:4", + "scope": 921, + "src": "1584:25:4", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" }, "typeName": { + "baseType": { + "id": 889, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1584:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, "id": 890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1614:7:4", + "nodeType": "ArrayTypeName", + "src": "1584:9:4", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" } }, "visibility": "internal" } ], - "id": 898, + "id": 899, "initialValue": { "arguments": [ { @@ -1843,11 +1775,27 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 859, - "src": "1659:2:4", + "src": "1644:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + { + "hexValue": "31", + "id": 897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1648:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" } ], "expression": { @@ -1855,6 +1803,10 @@ { "typeIdentifier": "t_address", "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" } ], "expression": { @@ -1865,7 +1817,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 836, - "src": "1642:10:4", + "src": "1622:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1883,10 +1835,10 @@ "name": "IClaimBox", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "1632:9:4", + "referencedDeclaration": 751, + "src": "1612:9:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IClaimBox_$755_$", + "typeIdentifier": "t_type$_t_contract$_IClaimBox_$751_$", "typeString": "type(contract IClaimBox)" } }, @@ -1898,10 +1850,10 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1632:21:4", + "src": "1612:21:4", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IClaimBox_$755", + "typeIdentifier": "t_contract$_IClaimBox_$751", "typeString": "contract IClaimBox" } }, @@ -1910,16 +1862,16 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "mint", + "memberName": "batchMint", "nodeType": "MemberAccess", - "referencedDeclaration": 747, - "src": "1632:26:4", + "referencedDeclaration": 750, + "src": "1612:31:4", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) external returns (uint256)" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (address,uint256) external returns (uint256[] memory)" } }, - "id": 897, + "id": 898, "isConstant": false, "isLValue": false, "isPure": false, @@ -1927,26 +1879,123 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1632:30:4", + "src": "1612:38:4", "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1584:66:4" + }, + { + "expression": { + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 900, + "name": "claimHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "1656:12:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 902, + "indexExpression": { + "id": 901, + "name": "nftAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 836, + "src": "1669:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1656:24:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 903, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 891, + "src": "1683:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 905, + "indexExpression": { + "hexValue": "30", + "id": 904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1692:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1683:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1656:38:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "1614:48:4" + "id": 907, + "nodeType": "ExpressionStatement", + "src": "1656:38:4" }, { "expression": { "arguments": [ { - "id": 900, + "id": 909, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 842, - "src": "1682:9:4", + "src": "1714:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -1960,18 +2009,18 @@ "typeString": "bytes calldata" } ], - "id": 899, + "id": 908, "name": "_useSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1221, - "src": "1668:13:4", + "referencedDeclaration": 1232, + "src": "1700:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (bytes calldata)" } }, - "id": 901, + "id": 910, "isConstant": false, "isLValue": false, "isPure": false, @@ -1979,63 +2028,92 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1668:24:4", + "src": "1700:24:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 902, + "id": 911, "nodeType": "ExpressionStatement", - "src": "1668:24:4" + "src": "1700:24:4" }, { "eventCall": { "arguments": [ { - "id": 904, + "id": 913, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 836, - "src": "1714:10:4", + "src": "1746:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 905, + "id": 914, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 859, - "src": "1726:2:4", + "src": "1758:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 906, + "id": 915, "name": "saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 840, - "src": "1730:9:4", + "src": "1762:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 907, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "1741:7:4", + "baseExpression": { + "id": 916, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 891, + "src": "1773:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 918, + "indexExpression": { + "hexValue": "30", + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1782:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1773:11:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2061,18 +2139,18 @@ "typeString": "uint256" } ], - "id": 903, + "id": 912, "name": "BoxClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "1703:10:4", + "src": "1735:10:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 908, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -2080,21 +2158,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1703:46:4", + "src": "1735:50:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 909, + "id": 920, "nodeType": "EmitStatement", - "src": "1698:51:4" + "src": "1730:55:4" } ] }, "functionSelector": "2ada8a32", - "id": 911, + "id": 922, "implemented": true, "kind": "function", "modifiers": [ @@ -2106,7 +2184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 842, - "src": "1175:9:4", + "src": "1197:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -2119,11 +2197,11 @@ "id": 844, "name": "signatureValid", "nodeType": "IdentifierPath", - "referencedDeclaration": 1203, - "src": "1160:14:4" + "referencedDeclaration": 1214, + "src": "1182:14:4" }, "nodeType": "ModifierInvocation", - "src": "1160:25:4" + "src": "1182:25:4" }, { "arguments": [ @@ -2133,7 +2211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 838, - "src": "1196:9:4", + "src": "1218:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2146,15 +2224,15 @@ "id": 847, "name": "timeValid", "nodeType": "IdentifierPath", - "referencedDeclaration": 1257, - "src": "1186:9:4" + "referencedDeclaration": 1268, + "src": "1208:9:4" }, "nodeType": "ModifierInvocation", - "src": "1186:20:4" + "src": "1208:20:4" } ], "name": "claim", - "nameLocation": "1041:5:4", + "nameLocation": "1063:5:4", "nodeType": "FunctionDefinition", "parameters": { "id": 843, @@ -2165,10 +2243,10 @@ "id": 836, "mutability": "mutable", "name": "nftAddress", - "nameLocation": "1060:10:4", + "nameLocation": "1082:10:4", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1052:18:4", + "scope": 922, + "src": "1074:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2179,7 +2257,7 @@ "id": 835, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1052:7:4", + "src": "1074:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2193,10 +2271,10 @@ "id": 838, "mutability": "mutable", "name": "startTime", - "nameLocation": "1084:9:4", + "nameLocation": "1106:9:4", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1076:17:4", + "scope": 922, + "src": "1098:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2207,7 +2285,7 @@ "id": 837, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1076:7:4", + "src": "1098:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2220,10 +2298,10 @@ "id": 840, "mutability": "mutable", "name": "saltNonce", - "nameLocation": "1107:9:4", + "nameLocation": "1129:9:4", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1099:17:4", + "scope": 922, + "src": "1121:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2234,7 +2312,7 @@ "id": 839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1099:7:4", + "src": "1121:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2247,10 +2325,10 @@ "id": 842, "mutability": "mutable", "name": "signature", - "nameLocation": "1137:9:4", + "nameLocation": "1159:9:4", "nodeType": "VariableDeclaration", - "scope": 911, - "src": "1122:24:4", + "scope": 922, + "src": "1144:24:4", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2261,7 +2339,7 @@ "id": 841, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1122:5:4", + "src": "1144:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2270,40 +2348,40 @@ "visibility": "internal" } ], - "src": "1046:104:4" + "src": "1068:104:4" }, "returnParameters": { "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "1207:0:4" + "src": "1229:0:4" }, - "scope": 940, - "src": "1032:722:4", + "scope": 951, + "src": "1054:736:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 938, + "id": 949, "nodeType": "Block", - "src": "1903:150:4", + "src": "1939:150:4", "statements": [ { "assignments": [ - 925 + 936 ], "declarations": [ { "constant": false, - "id": 925, + "id": 936, "mutability": "mutable", "name": "encoded", - "nameLocation": "1922:7:4", + "nameLocation": "1958:7:4", "nodeType": "VariableDeclaration", - "scope": 938, - "src": "1909:20:4", + "scope": 949, + "src": "1945:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2311,10 +2389,10 @@ "typeString": "bytes" }, "typeName": { - "id": 924, + "id": 935, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1909:5:4", + "src": "1945:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2323,52 +2401,52 @@ "visibility": "internal" } ], - "id": 933, + "id": 944, "initialValue": { "arguments": [ { - "id": 928, + "id": 939, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "1956:3:4", + "referencedDeclaration": 924, + "src": "1992:3:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 929, + "id": 940, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "1967:8:4", + "referencedDeclaration": 926, + "src": "2003:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 930, + "id": 941, "name": "_startTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 917, - "src": "1983:10:4", + "referencedDeclaration": 928, + "src": "2019:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 931, + "id": 942, "name": "_saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "2001:10:4", + "referencedDeclaration": 930, + "src": "2037:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2395,31 +2473,31 @@ } ], "expression": { - "id": 926, + "id": 937, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "1932:3:4", + "src": "1968:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 927, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1932:16:4", + "src": "1968:16:4", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 932, + "id": 943, "isConstant": false, "isLValue": false, "isPure": false, @@ -2427,7 +2505,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1932:85:4", + "src": "1968:85:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2435,18 +2513,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1909:108:4" + "src": "1945:108:4" }, { "expression": { "arguments": [ { - "id": 935, + "id": 946, "name": "encoded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 925, - "src": "2040:7:4", + "referencedDeclaration": 936, + "src": "2076:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -2460,18 +2538,18 @@ "typeString": "bytes memory" } ], - "id": 934, + "id": 945, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "2030:9:4", + "src": "2066:9:4", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 936, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, @@ -2479,41 +2557,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2030:18:4", + "src": "2066:18:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 923, - "id": 937, + "functionReturnParameters": 934, + "id": 948, "nodeType": "Return", - "src": "2023:25:4" + "src": "2059:25:4" } ] }, "functionSelector": "0b71a0b7", - "id": 939, + "id": 950, "implemented": true, "kind": "function", "modifiers": [], "name": "getMessageHash", - "nameLocation": "1767:14:4", + "nameLocation": "1803:14:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 920, + "id": 931, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 924, "mutability": "mutable", "name": "_to", - "nameLocation": "1795:3:4", + "nameLocation": "1831:3:4", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1787:11:4", + "scope": 950, + "src": "1823:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2521,10 +2599,10 @@ "typeString": "address" }, "typeName": { - "id": 912, + "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1787:7:4", + "src": "1823:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2535,13 +2613,13 @@ }, { "constant": false, - "id": 915, + "id": 926, "mutability": "mutable", "name": "_address", - "nameLocation": "1812:8:4", + "nameLocation": "1848:8:4", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1804:16:4", + "scope": 950, + "src": "1840:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2549,10 +2627,10 @@ "typeString": "address" }, "typeName": { - "id": 914, + "id": 925, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1804:7:4", + "src": "1840:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2563,13 +2641,13 @@ }, { "constant": false, - "id": 917, + "id": 928, "mutability": "mutable", "name": "_startTime", - "nameLocation": "1834:10:4", + "nameLocation": "1870:10:4", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1826:18:4", + "scope": 950, + "src": "1862:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2577,10 +2655,10 @@ "typeString": "uint256" }, "typeName": { - "id": 916, + "id": 927, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1826:7:4", + "src": "1862:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2590,13 +2668,13 @@ }, { "constant": false, - "id": 919, + "id": 930, "mutability": "mutable", "name": "_saltNonce", - "nameLocation": "1858:10:4", + "nameLocation": "1894:10:4", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1850:18:4", + "scope": 950, + "src": "1886:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2604,10 +2682,10 @@ "typeString": "uint256" }, "typeName": { - "id": 918, + "id": 929, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1850:7:4", + "src": "1886:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2616,21 +2694,21 @@ "visibility": "internal" } ], - "src": "1781:91:4" + "src": "1817:91:4" }, "returnParameters": { - "id": 923, + "id": 934, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 922, + "id": 933, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "1894:7:4", + "scope": 950, + "src": "1930:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2638,10 +2716,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 921, + "id": 932, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1894:7:4", + "src": "1930:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2650,21 +2728,21 @@ "visibility": "internal" } ], - "src": "1893:9:4" + "src": "1929:9:4" }, - "scope": 940, - "src": "1758:295:4", + "scope": 951, + "src": "1794:295:4", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], - "scope": 941, - "src": "279:1776:4", + "scope": 952, + "src": "250:1841:4", "usedErrors": [] } ], - "src": "32:2024:4" + "src": "32:2060:4" }, "compiler": { "name": "solc", @@ -2672,7 +2750,7 @@ }, "networks": {}, "schemaVersion": "3.4.11", - "updatedAt": "2023-06-14T05:44:50.410Z", + "updatedAt": "2023-06-14T07:33:59.634Z", "devdoc": { "kind": "dev", "methods": {}, diff --git a/contracts/activity/ClaimBoxFactory.sol b/contracts/activity/ClaimBoxFactory.sol index 458ca22..0b029aa 100644 --- a/contracts/activity/ClaimBoxFactory.sol +++ b/contracts/activity/ClaimBoxFactory.sol @@ -5,14 +5,16 @@ import "../core/HasSignature.sol"; import "../utils/TimeChecker.sol"; interface IClaimBox { - function mint(address to) external returns (uint256); - - function balanceOf(address owner) external view returns (uint256); + function batchMint( + address to, + uint256 count + ) external returns (uint256[] memory); } contract ClaimBoxFactory is HasSignature, TimeChecker { address public executor; mapping(address => bool) public tokenSupported; + mapping(address => uint256) public claimHistory; event BoxClaimed( address indexed nftAddress, @@ -47,10 +49,7 @@ contract ClaimBoxFactory is HasSignature, TimeChecker { ) external signatureValid(signature) timeValid(startTime) { require(tokenSupported[nftAddress], "ClaimBoxFactory: unsupported NFT"); address to = _msgSender(); - require( - IClaimBox(nftAddress).balanceOf(to) == 0, - "ClaimBoxFactory: you already have a box" - ); + require(claimHistory[to] == 0, "ClaimBoxFactory: claimed"); bytes32 criteriaMessageHash = getMessageHash( to, nftAddress, @@ -58,9 +57,10 @@ contract ClaimBoxFactory is HasSignature, TimeChecker { saltNonce ); checkSigner(executor, criteriaMessageHash, signature); - uint256 tokenId = IClaimBox(nftAddress).mint(to); + uint256[] memory tokenIds = IClaimBox(nftAddress).batchMint(to, 1); + claimHistory[to] = tokenIds[0]; _useSignature(signature); - emit BoxClaimed(nftAddress, to, saltNonce, tokenId); + emit BoxClaimed(nftAddress, to, saltNonce, tokenIds[0]); } function getMessageHash( diff --git a/migrations/8_deploy_claim_activity.js b/migrations/8_deploy_claim_activity.js index 00f584c..ace1c2f 100644 --- a/migrations/8_deploy_claim_activity.js +++ b/migrations/8_deploy_claim_activity.js @@ -1,5 +1,5 @@ const Factory = artifacts.require("activity/ClaimBoxFactory"); -const Box = artifacts.require("tokens/erc721/NFTSbt"); +const Box = artifacts.require("tokens/erc721/BEBadge"); const base = require("../scripts/base"); const config = require("../config/config"); @@ -12,9 +12,9 @@ module.exports = async function (deployer, network, accounts) { console.log("claim box successfully deployed."); } base.updateArray({ - name: "NFTSbt", + name: "Gacha", type: "erc721", - json: "assets/contracts/NFTSbt.json", + json: "assets/contracts/BEBadge.json", address: boxInstance.address, network, }); @@ -25,7 +25,7 @@ module.exports = async function (deployer, network, accounts) { console.log("claim box factory successfully deployed."); } base.updateArray({ - name: "ClaimBoxFactory", + name: "ClaimGachaFactory", type: "logic", json: "assets/contracts/ClaimBoxFactory.json", address: factoryInstance.address, diff --git a/out_arbitrum_testnet_dev.json b/out_arbitrum_testnet_dev.json index f4b7af6..9e201bb 100644 --- a/out_arbitrum_testnet_dev.json +++ b/out_arbitrum_testnet_dev.json @@ -54,15 +54,15 @@ "address": "0x1A27515c35a92Fb276c2670fa27C85ffAd75D094" }, { - "name": "NFTSbt", + "name": "Gacha", "type": "erc721", - "json": "assets/contracts/NFTSbt.json", - "address": "0x86A8E6a23039c28b57C306b25dF257817957F132" + "json": "assets/contracts/BEBadge.json", + "address": "0xE4546FA6DdC15442a1FED835e7A007b001213495" }, { - "name": "ClaimBoxFactory", + "name": "ClaimGachaFactory", "type": "logic", "json": "assets/contracts/ClaimBoxFactory.json", - "address": "0xF06038807A700d67be3AA8a7D752761EaC88ab82" + "address": "0x41a7f94f0B3b615F84c7084F45556FEf1bd18A18" } ]