diff --git a/build/contracts/ClaimBoxFactory.json b/build/contracts/ClaimBoxFactory.json index 97e7d5f..5e1dea9 100644 --- a/build/contracts/ClaimBoxFactory.json +++ b/build/contracts/ClaimBoxFactory.json @@ -102,25 +102,6 @@ "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", @@ -314,44 +295,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\":[{\"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\":\"0x9a09ba694779c162dc0fa4c009093d56e8defc98f2ac031daab30e360aab3ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b9819898ced1c97ce0d46620f48dbee897407bd90df73df6c91fc067a1c43fb\",\"dweb:/ipfs/QmVvpqwG8J6kN6anvwX3BRUrWY8Vc6frnex6wWXuxCbD5D\"]},\"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": "0x6101406040523480156200001257600080fd5b506040518060400160405280600f81526020017f436c61696d426f78466163746f727900000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506200009f620000936200016160201b60201c565b6200016960201b60201c565b60008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250504660a08181525050620001088184846200022d60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505080610120818152505050505050506201518060038190555062000341565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600083838346306040516020016200024a959493929190620002e4565b6040516020818303038152906040528051906020012090509392505050565b6000819050919050565b6200027e8162000269565b82525050565b6000819050919050565b620002998162000284565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002cc826200029f565b9050919050565b620002de81620002bf565b82525050565b600060a082019050620002fb600083018862000273565b6200030a602083018762000273565b62000319604083018662000273565b6200032860608301856200028e565b620003376080830184620002d3565b9695505050505050565b60805160a05160c05160e051610100516101205161257362000391600039600061131401526000611356015260006113350152600061126a015260006112c0015260006112e901526125736000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063733c237d11610097578063ad2e8c9b11610066578063ad2e8c9b1461025a578063aed71e5614610278578063c34c08e514610294578063f2fde38b146102b2576100f5565b8063733c237d146101e857806374936c16146102045780637f9d3096146102205780638da5cb5b1461023c576100f5565b80632ba8d939116100d35780632ba8d93914610176578063425a69cc146101925780636d043194146101c2578063715018a6146101de576100f5565b8063062143f0146100fa5780630b71a0b71461012a5780632ada8a321461015a575b600080fd5b610114600480360381019061010f91906115cb565b6102ce565b6040516101219190611613565b60405180910390f35b610144600480360381019061013f9190611664565b6102ee565b60405161015191906116e4565b60405180910390f35b610174600480360381019061016f9190611764565b61032c565b005b610190600480360381019061018b91906115cb565b6106c9565b005b6101ac60048036038101906101a791906115cb565b6107a0565b6040516101b991906117fb565b60405180910390f35b6101dc60048036038101906101d79190611983565b6107b8565b005b6101e66108fc565b005b61020260048036038101906101fd91906115cb565b610984565b005b61021e600480360381019061021991906115cb565b610a5b565b005b61023a600480360381019061023591906119f2565b610b8b565b005b610244610c11565b6040516102519190611a2e565b60405180910390f35b610262610c3a565b60405161026f91906117fb565b60405180910390f35b610292600480360381019061028d9190611983565b610c44565b005b61029c610d44565b6040516102a99190611a2e565b60405180910390f35b6102cc60048036038101906102c791906115cb565b610d6a565b005b60056020528060005260406000206000915054906101000a900460ff1681565b600080858585856040516020016103089493929190611ab2565b60405160208183030381529060405290508080519060200120915050949350505050565b818160018282604051610340929190611b30565b908152602001604051809103902060009054906101000a900460ff161561039c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039390611bf2565b60405180910390fd5b8542600354826103ac9190611c41565b10156103ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e490611d09565b60405180910390fd5b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047090611d75565b60405180910390fd5b6000610483610e62565b90506000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fe90611e07565b60405180910390fd5b6000610515828b8b8b6102ee565b9050610588600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168289898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506107b8565b60008a73ffffffffffffffffffffffffffffffffffffffff16636a627842846040518263ffffffff1660e01b81526004016105c39190611a2e565b6020604051808303816000875af11580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190611e3c565b90506106128888610e6a565b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550888373ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f36e4fff1eedba3c9f90a364c975cf0fa6c53970d6da4b0d8f6b4019ec3d7101f846040516106b491906117fb565b60405180910390a45050505050505050505050565b6106d1610e62565b73ffffffffffffffffffffffffffffffffffffffff166106ef610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c90611eb5565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60066020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081f90611f21565b60405180910390fd5b604181511461086c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086390611f8d565b60405180910390fd5b600061087783610ed9565b905060006108858284610f09565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec90611ff9565b60405180910390fd5b5050505050565b610904610e62565b73ffffffffffffffffffffffffffffffffffffffff16610922610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096f90611eb5565b60405180910390fd5b6109826000610f30565b565b61098c610e62565b73ffffffffffffffffffffffffffffffffffffffff166109aa610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f790611eb5565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a63610e62565b73ffffffffffffffffffffffffffffffffffffffff16610a81610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ace90611eb5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e9061208b565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610b93610e62565b73ffffffffffffffffffffffffffffffffffffffff16610bb1610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe90611eb5565b60405180910390fd5b8060038190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600354905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90611f21565b60405180910390fd5b6000610cbf83610ff4565b90506000610ccd8284610f09565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3490611ff9565b60405180910390fd5b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d72610e62565b73ffffffffffffffffffffffffffffffffffffffff16610d90610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd90611eb5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061211d565b60405180910390fd5b610e5f81610f30565b50565b600033905090565b60018282604051610e7c929190611b30565b908152602001604051809103902060009054906101000a900460ff16610ed5576001808383604051610eaf929190611b30565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505b5050565b600081604051602001610eec91906121b5565b604051602081830303815290604052805190602001209050919050565b6000806000610f18858561100e565b91509150610f2581611091565b819250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611007611001611266565b83611380565b9050919050565b6000806041835114156110505760008060006020860151925060408601519150606086015160001a9050611044878285856113b3565b9450945050505061108a565b6040835114156110815760008060208501519150604085015190506110768683836114c0565b93509350505061108a565b60006002915091505b9250929050565b600060048111156110a5576110a46121db565b5b8160048111156110b8576110b76121db565b5b14156110c357611263565b600160048111156110d7576110d66121db565b5b8160048111156110ea576110e96121db565b5b141561112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112290612256565b60405180910390fd5b6002600481111561113f5761113e6121db565b5b816004811115611152576111516121db565b5b1415611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a906122c2565b60405180910390fd5b600360048111156111a7576111a66121db565b5b8160048111156111ba576111b96121db565b5b14156111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f290612354565b60405180910390fd5b60048081111561120e5761120d6121db565b5b816004811115611221576112206121db565b5b1415611262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611259906123e6565b60405180910390fd5b5b50565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161480156112e257507f000000000000000000000000000000000000000000000000000000000000000046145b1561130f577f0000000000000000000000000000000000000000000000000000000000000000905061137d565b61137a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061151f565b90505b90565b60008282604051602001611395929190612452565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156113ee5760006003915091506114b7565b601b8560ff16141580156114065750601c8560ff1614155b156114185760006004915091506114b7565b60006001878787876040516000815260200160405260405161143d94939291906124a5565b6020604051602081039080840390855afa15801561145f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ae576000600192509250506114b7565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6115039190611c41565b9050611511878288856113b3565b935093505050935093915050565b6000838383463060405160200161153a9594939291906124ea565b6040516020818303038152906040528051906020012090509392505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115988261156d565b9050919050565b6115a88161158d565b81146115b357600080fd5b50565b6000813590506115c58161159f565b92915050565b6000602082840312156115e1576115e0611563565b5b60006115ef848285016115b6565b91505092915050565b60008115159050919050565b61160d816115f8565b82525050565b60006020820190506116286000830184611604565b92915050565b6000819050919050565b6116418161162e565b811461164c57600080fd5b50565b60008135905061165e81611638565b92915050565b6000806000806080858703121561167e5761167d611563565b5b600061168c878288016115b6565b945050602061169d878288016115b6565b93505060406116ae8782880161164f565b92505060606116bf8782880161164f565b91505092959194509250565b6000819050919050565b6116de816116cb565b82525050565b60006020820190506116f960008301846116d5565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611724576117236116ff565b5b8235905067ffffffffffffffff81111561174157611740611704565b5b60208301915083600182028301111561175d5761175c611709565b5b9250929050565b6000806000806000608086880312156117805761177f611563565b5b600061178e888289016115b6565b955050602061179f8882890161164f565b94505060406117b08882890161164f565b935050606086013567ffffffffffffffff8111156117d1576117d0611568565b5b6117dd8882890161170e565b92509250509295509295909350565b6117f58161162e565b82525050565b600060208201905061181060008301846117ec565b92915050565b61181f816116cb565b811461182a57600080fd5b50565b60008135905061183c81611816565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61189082611847565b810181811067ffffffffffffffff821117156118af576118ae611858565b5b80604052505050565b60006118c2611559565b90506118ce8282611887565b919050565b600067ffffffffffffffff8211156118ee576118ed611858565b5b6118f782611847565b9050602081019050919050565b82818337600083830152505050565b6000611926611921846118d3565b6118b8565b90508281526020810184848401111561194257611941611842565b5b61194d848285611904565b509392505050565b600082601f83011261196a576119696116ff565b5b813561197a848260208601611913565b91505092915050565b60008060006060848603121561199c5761199b611563565b5b60006119aa868287016115b6565b93505060206119bb8682870161182d565b925050604084013567ffffffffffffffff8111156119dc576119db611568565b5b6119e886828701611955565b9150509250925092565b600060208284031215611a0857611a07611563565b5b6000611a168482850161164f565b91505092915050565b611a288161158d565b82525050565b6000602082019050611a436000830184611a1f565b92915050565b60008160601b9050919050565b6000611a6182611a49565b9050919050565b6000611a7382611a56565b9050919050565b611a8b611a868261158d565b611a68565b82525050565b6000819050919050565b611aac611aa78261162e565b611a91565b82525050565b6000611abe8287611a7a565b601482019150611ace8286611a7a565b601482019150611ade8285611a9b565b602082019150611aee8284611a9b565b60208201915081905095945050505050565b600081905092915050565b6000611b178385611b00565b9350611b24838584611904565b82840190509392505050565b6000611b3d828486611b0b565b91508190509392505050565b600082825260208201905092915050565b7f5b42455d207369676e617475726520757365642e20706c656173652073656e6460008201527f20616e6f74686572207472616e73616374696f6e2077697468206e657720736960208201527f676e617475726500000000000000000000000000000000000000000000000000604082015250565b6000611bdc604783611b49565b9150611be782611b5a565b606082019050919050565b60006020820190508181036000830152611c0b81611bcf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c4c8261162e565b9150611c578361162e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c8c57611c8b611c12565b5b828201905092915050565b7f657870697265642c20706c656173652073656e6420616e6f746865722074726160008201527f6e73616374696f6e2077697468206e6577207369676e61747572650000000000602082015250565b6000611cf3603b83611b49565b9150611cfe82611c97565b604082019050919050565b60006020820190508181036000830152611d2281611ce6565b9050919050565b7f436c61696d426f78466163746f72793a20756e737570706f72746564204e4654600082015250565b6000611d5f602083611b49565b9150611d6a82611d29565b602082019050919050565b60006020820190508181036000830152611d8e81611d52565b9050919050565b7f436c61696d426f78466163746f72793a20796f75206861766520636c61696d6560008201527f642074686973204e465400000000000000000000000000000000000000000000602082015250565b6000611df1602a83611b49565b9150611dfc82611d95565b604082019050919050565b60006020820190508181036000830152611e2081611de4565b9050919050565b600081519050611e3681611638565b92915050565b600060208284031215611e5257611e51611563565b5b6000611e6084828501611e27565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e9f602083611b49565b9150611eaa82611e69565b602082019050919050565b60006020820190508181036000830152611ece81611e92565b9050919050565b7f5b42455d20696e76616c6964207369676e657200000000000000000000000000600082015250565b6000611f0b601383611b49565b9150611f1682611ed5565b602082019050919050565b60006020820190508181036000830152611f3a81611efe565b9050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b6000611f77601d83611b49565b9150611f8282611f41565b602082019050919050565b60006020820190508181036000830152611fa681611f6a565b9050919050565b7f5b42455d20696e76616c6964207369676e617475726500000000000000000000600082015250565b6000611fe3601683611b49565b9150611fee82611fad565b602082019050919050565b6000602082019050818103600083015261201281611fd6565b9050919050565b7f436c61696d426f78466163746f72793a20616464726573732063616e206e6f7460008201527f206265207a65726f000000000000000000000000000000000000000000000000602082015250565b6000612075602883611b49565b915061208082612019565b604082019050919050565b600060208201905081810360008301526120a481612068565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612107602683611b49565b9150612112826120ab565b604082019050919050565b60006020820190508181036000830152612136816120fa565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b600061217e601c8361213d565b915061218982612148565b601c82019050919050565b6000819050919050565b6121af6121aa826116cb565b612194565b82525050565b60006121c082612171565b91506121cc828461219e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000612240601883611b49565b915061224b8261220a565b602082019050919050565b6000602082019050818103600083015261226f81612233565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006122ac601f83611b49565b91506122b782612276565b602082019050919050565b600060208201905081810360008301526122db8161229f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061233e602283611b49565b9150612349826122e2565b604082019050919050565b6000602082019050818103600083015261236d81612331565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006123d0602283611b49565b91506123db82612374565b604082019050919050565b600060208201905081810360008301526123ff816123c3565b9050919050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b600061243c60028361213d565b915061244782612406565b600282019050919050565b600061245d8261242f565b9150612469828561219e565b602082019150612479828461219e565b6020820191508190509392505050565b600060ff82169050919050565b61249f81612489565b82525050565b60006080820190506124ba60008301876116d5565b6124c76020830186612496565b6124d460408301856116d5565b6124e160608301846116d5565b95945050505050565b600060a0820190506124ff60008301886116d5565b61250c60208301876116d5565b61251960408301866116d5565b61252660608301856117ec565b6125336080830184611a1f565b969550505050505056fea2646970667358221220f3da350eb6615113b94e57d89aba36c98d10bae7b77b349a9981f47f70a0a05864736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063733c237d11610097578063ad2e8c9b11610066578063ad2e8c9b1461025a578063aed71e5614610278578063c34c08e514610294578063f2fde38b146102b2576100f5565b8063733c237d146101e857806374936c16146102045780637f9d3096146102205780638da5cb5b1461023c576100f5565b80632ba8d939116100d35780632ba8d93914610176578063425a69cc146101925780636d043194146101c2578063715018a6146101de576100f5565b8063062143f0146100fa5780630b71a0b71461012a5780632ada8a321461015a575b600080fd5b610114600480360381019061010f91906115cb565b6102ce565b6040516101219190611613565b60405180910390f35b610144600480360381019061013f9190611664565b6102ee565b60405161015191906116e4565b60405180910390f35b610174600480360381019061016f9190611764565b61032c565b005b610190600480360381019061018b91906115cb565b6106c9565b005b6101ac60048036038101906101a791906115cb565b6107a0565b6040516101b991906117fb565b60405180910390f35b6101dc60048036038101906101d79190611983565b6107b8565b005b6101e66108fc565b005b61020260048036038101906101fd91906115cb565b610984565b005b61021e600480360381019061021991906115cb565b610a5b565b005b61023a600480360381019061023591906119f2565b610b8b565b005b610244610c11565b6040516102519190611a2e565b60405180910390f35b610262610c3a565b60405161026f91906117fb565b60405180910390f35b610292600480360381019061028d9190611983565b610c44565b005b61029c610d44565b6040516102a99190611a2e565b60405180910390f35b6102cc60048036038101906102c791906115cb565b610d6a565b005b60056020528060005260406000206000915054906101000a900460ff1681565b600080858585856040516020016103089493929190611ab2565b60405160208183030381529060405290508080519060200120915050949350505050565b818160018282604051610340929190611b30565b908152602001604051809103902060009054906101000a900460ff161561039c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039390611bf2565b60405180910390fd5b8542600354826103ac9190611c41565b10156103ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e490611d09565b60405180910390fd5b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047090611d75565b60405180910390fd5b6000610483610e62565b90506000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fe90611e07565b60405180910390fd5b6000610515828b8b8b6102ee565b9050610588600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168289898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506107b8565b60008a73ffffffffffffffffffffffffffffffffffffffff16636a627842846040518263ffffffff1660e01b81526004016105c39190611a2e565b6020604051808303816000875af11580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190611e3c565b90506106128888610e6a565b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550888373ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f36e4fff1eedba3c9f90a364c975cf0fa6c53970d6da4b0d8f6b4019ec3d7101f846040516106b491906117fb565b60405180910390a45050505050505050505050565b6106d1610e62565b73ffffffffffffffffffffffffffffffffffffffff166106ef610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c90611eb5565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60066020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081f90611f21565b60405180910390fd5b604181511461086c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086390611f8d565b60405180910390fd5b600061087783610ed9565b905060006108858284610f09565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec90611ff9565b60405180910390fd5b5050505050565b610904610e62565b73ffffffffffffffffffffffffffffffffffffffff16610922610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096f90611eb5565b60405180910390fd5b6109826000610f30565b565b61098c610e62565b73ffffffffffffffffffffffffffffffffffffffff166109aa610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f790611eb5565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a63610e62565b73ffffffffffffffffffffffffffffffffffffffff16610a81610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ace90611eb5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e9061208b565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610b93610e62565b73ffffffffffffffffffffffffffffffffffffffff16610bb1610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe90611eb5565b60405180910390fd5b8060038190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600354905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90611f21565b60405180910390fd5b6000610cbf83610ff4565b90506000610ccd8284610f09565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3490611ff9565b60405180910390fd5b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d72610e62565b73ffffffffffffffffffffffffffffffffffffffff16610d90610c11565b73ffffffffffffffffffffffffffffffffffffffff1614610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd90611eb5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061211d565b60405180910390fd5b610e5f81610f30565b50565b600033905090565b60018282604051610e7c929190611b30565b908152602001604051809103902060009054906101000a900460ff16610ed5576001808383604051610eaf929190611b30565b908152602001604051809103902060006101000a81548160ff0219169083151502179055505b5050565b600081604051602001610eec91906121b5565b604051602081830303815290604052805190602001209050919050565b6000806000610f18858561100e565b91509150610f2581611091565b819250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611007611001611266565b83611380565b9050919050565b6000806041835114156110505760008060006020860151925060408601519150606086015160001a9050611044878285856113b3565b9450945050505061108a565b6040835114156110815760008060208501519150604085015190506110768683836114c0565b93509350505061108a565b60006002915091505b9250929050565b600060048111156110a5576110a46121db565b5b8160048111156110b8576110b76121db565b5b14156110c357611263565b600160048111156110d7576110d66121db565b5b8160048111156110ea576110e96121db565b5b141561112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112290612256565b60405180910390fd5b6002600481111561113f5761113e6121db565b5b816004811115611152576111516121db565b5b1415611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a906122c2565b60405180910390fd5b600360048111156111a7576111a66121db565b5b8160048111156111ba576111b96121db565b5b14156111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f290612354565b60405180910390fd5b60048081111561120e5761120d6121db565b5b816004811115611221576112206121db565b5b1415611262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611259906123e6565b60405180910390fd5b5b50565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161480156112e257507f000000000000000000000000000000000000000000000000000000000000000046145b1561130f577f0000000000000000000000000000000000000000000000000000000000000000905061137d565b61137a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061151f565b90505b90565b60008282604051602001611395929190612452565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156113ee5760006003915091506114b7565b601b8560ff16141580156114065750601c8560ff1614155b156114185760006004915091506114b7565b60006001878787876040516000815260200160405260405161143d94939291906124a5565b6020604051602081039080840390855afa15801561145f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ae576000600192509250506114b7565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6115039190611c41565b9050611511878288856113b3565b935093505050935093915050565b6000838383463060405160200161153a9594939291906124ea565b6040516020818303038152906040528051906020012090509392505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115988261156d565b9050919050565b6115a88161158d565b81146115b357600080fd5b50565b6000813590506115c58161159f565b92915050565b6000602082840312156115e1576115e0611563565b5b60006115ef848285016115b6565b91505092915050565b60008115159050919050565b61160d816115f8565b82525050565b60006020820190506116286000830184611604565b92915050565b6000819050919050565b6116418161162e565b811461164c57600080fd5b50565b60008135905061165e81611638565b92915050565b6000806000806080858703121561167e5761167d611563565b5b600061168c878288016115b6565b945050602061169d878288016115b6565b93505060406116ae8782880161164f565b92505060606116bf8782880161164f565b91505092959194509250565b6000819050919050565b6116de816116cb565b82525050565b60006020820190506116f960008301846116d5565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611724576117236116ff565b5b8235905067ffffffffffffffff81111561174157611740611704565b5b60208301915083600182028301111561175d5761175c611709565b5b9250929050565b6000806000806000608086880312156117805761177f611563565b5b600061178e888289016115b6565b955050602061179f8882890161164f565b94505060406117b08882890161164f565b935050606086013567ffffffffffffffff8111156117d1576117d0611568565b5b6117dd8882890161170e565b92509250509295509295909350565b6117f58161162e565b82525050565b600060208201905061181060008301846117ec565b92915050565b61181f816116cb565b811461182a57600080fd5b50565b60008135905061183c81611816565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61189082611847565b810181811067ffffffffffffffff821117156118af576118ae611858565b5b80604052505050565b60006118c2611559565b90506118ce8282611887565b919050565b600067ffffffffffffffff8211156118ee576118ed611858565b5b6118f782611847565b9050602081019050919050565b82818337600083830152505050565b6000611926611921846118d3565b6118b8565b90508281526020810184848401111561194257611941611842565b5b61194d848285611904565b509392505050565b600082601f83011261196a576119696116ff565b5b813561197a848260208601611913565b91505092915050565b60008060006060848603121561199c5761199b611563565b5b60006119aa868287016115b6565b93505060206119bb8682870161182d565b925050604084013567ffffffffffffffff8111156119dc576119db611568565b5b6119e886828701611955565b9150509250925092565b600060208284031215611a0857611a07611563565b5b6000611a168482850161164f565b91505092915050565b611a288161158d565b82525050565b6000602082019050611a436000830184611a1f565b92915050565b60008160601b9050919050565b6000611a6182611a49565b9050919050565b6000611a7382611a56565b9050919050565b611a8b611a868261158d565b611a68565b82525050565b6000819050919050565b611aac611aa78261162e565b611a91565b82525050565b6000611abe8287611a7a565b601482019150611ace8286611a7a565b601482019150611ade8285611a9b565b602082019150611aee8284611a9b565b60208201915081905095945050505050565b600081905092915050565b6000611b178385611b00565b9350611b24838584611904565b82840190509392505050565b6000611b3d828486611b0b565b91508190509392505050565b600082825260208201905092915050565b7f5b42455d207369676e617475726520757365642e20706c656173652073656e6460008201527f20616e6f74686572207472616e73616374696f6e2077697468206e657720736960208201527f676e617475726500000000000000000000000000000000000000000000000000604082015250565b6000611bdc604783611b49565b9150611be782611b5a565b606082019050919050565b60006020820190508181036000830152611c0b81611bcf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c4c8261162e565b9150611c578361162e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c8c57611c8b611c12565b5b828201905092915050565b7f657870697265642c20706c656173652073656e6420616e6f746865722074726160008201527f6e73616374696f6e2077697468206e6577207369676e61747572650000000000602082015250565b6000611cf3603b83611b49565b9150611cfe82611c97565b604082019050919050565b60006020820190508181036000830152611d2281611ce6565b9050919050565b7f436c61696d426f78466163746f72793a20756e737570706f72746564204e4654600082015250565b6000611d5f602083611b49565b9150611d6a82611d29565b602082019050919050565b60006020820190508181036000830152611d8e81611d52565b9050919050565b7f436c61696d426f78466163746f72793a20796f75206861766520636c61696d6560008201527f642074686973204e465400000000000000000000000000000000000000000000602082015250565b6000611df1602a83611b49565b9150611dfc82611d95565b604082019050919050565b60006020820190508181036000830152611e2081611de4565b9050919050565b600081519050611e3681611638565b92915050565b600060208284031215611e5257611e51611563565b5b6000611e6084828501611e27565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e9f602083611b49565b9150611eaa82611e69565b602082019050919050565b60006020820190508181036000830152611ece81611e92565b9050919050565b7f5b42455d20696e76616c6964207369676e657200000000000000000000000000600082015250565b6000611f0b601383611b49565b9150611f1682611ed5565b602082019050919050565b60006020820190508181036000830152611f3a81611efe565b9050919050565b7f5b42455d20696e76616c6964207369676e6174757265206c656e677468000000600082015250565b6000611f77601d83611b49565b9150611f8282611f41565b602082019050919050565b60006020820190508181036000830152611fa681611f6a565b9050919050565b7f5b42455d20696e76616c6964207369676e617475726500000000000000000000600082015250565b6000611fe3601683611b49565b9150611fee82611fad565b602082019050919050565b6000602082019050818103600083015261201281611fd6565b9050919050565b7f436c61696d426f78466163746f72793a20616464726573732063616e206e6f7460008201527f206265207a65726f000000000000000000000000000000000000000000000000602082015250565b6000612075602883611b49565b915061208082612019565b604082019050919050565b600060208201905081810360008301526120a481612068565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612107602683611b49565b9150612112826120ab565b604082019050919050565b60006020820190508181036000830152612136816120fa565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b600061217e601c8361213d565b915061218982612148565b601c82019050919050565b6000819050919050565b6121af6121aa826116cb565b612194565b82525050565b60006121c082612171565b91506121cc828461219e565b60208201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000612240601883611b49565b915061224b8261220a565b602082019050919050565b6000602082019050818103600083015261226f81612233565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006122ac601f83611b49565b91506122b782612276565b602082019050919050565b600060208201905081810360008301526122db8161229f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061233e602283611b49565b9150612349826122e2565b604082019050919050565b6000602082019050818103600083015261236d81612331565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006123d0602283611b49565b91506123db82612374565b604082019050919050565b600060208201905081810360008301526123ff816123c3565b9050919050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b600061243c60028361213d565b915061244782612406565b600282019050919050565b600061245d8261242f565b9150612469828561219e565b602082019150612479828461219e565b6020820191508190509392505050565b600060ff82169050919050565b61249f81612489565b82525050565b60006080820190506124ba60008301876116d5565b6124c76020830186612496565b6124d460408301856116d5565b6124e160608301846116d5565b95945050505050565b600060a0820190506124ff60008301886116d5565b61250c60208301876116d5565b61251960408301866116d5565b61252660608301856117ec565b6125336080830184611a1f565b969550505050505056fea2646970667358221220f3da350eb6615113b94e57d89aba36c98d10bae7b77b349a9981f47f70a0a05864736f6c634300080a0033", + "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", "immutableReferences": { "948": [ { "length": 32, - "start": 4841 + "start": 4748 } ], "950": [ { "length": 32, - "start": 4800 + "start": 4707 } ], "952": [ { "length": 32, - "start": 4714 + "start": 4621 } ], "954": [ { "length": 32, - "start": 4917 + "start": 4824 } ], "956": [ { "length": 32, - "start": 4950 + "start": 4857 } ], "958": [ { "length": 32, - "start": 4884 + "start": 4791 } ] }, @@ -1063,7 +1044,7 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:31258:7", + "src": "0:31255:7", "statements": [ { "body": { @@ -3652,183 +3633,12 @@ { "body": { "nodeType": "YulBlock", - "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", + "src": "5117:79:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5526:16:7", + "src": "5174:16:7", "statements": [ { "expression": { @@ -3836,14 +3646,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5535:1:7", + "src": "5183:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5538:1:7", + "src": "5186:1:7", "type": "", "value": "0" } @@ -3851,13 +3661,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5528:6:7" + "src": "5176:6:7" }, "nodeType": "YulFunctionCall", - "src": "5528:12:7" + "src": "5176:12:7" }, "nodeType": "YulExpressionStatement", - "src": "5528:12:7" + "src": "5176:12:7" } ] }, @@ -3868,44 +3678,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5492:5:7" + "src": "5140:5:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5517:5:7" + "src": "5165:5:7" } ], "functionName": { "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "5499:17:7" + "src": "5147:17:7" }, "nodeType": "YulFunctionCall", - "src": "5499:24:7" + "src": "5147:24:7" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "5489:2:7" + "src": "5137:2:7" }, "nodeType": "YulFunctionCall", - "src": "5489:35:7" + "src": "5137:35:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "5482:6:7" + "src": "5130:6:7" }, "nodeType": "YulFunctionCall", - "src": "5482:43:7" + "src": "5130:43:7" }, "nodeType": "YulIf", - "src": "5479:63:7" + "src": "5127:63:7" } ] }, @@ -3915,41 +3725,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5462:5:7", + "src": "5110:5:7", "type": "" } ], - "src": "5426:122:7" + "src": "5074:122:7" }, { "body": { "nodeType": "YulBlock", - "src": "5606:87:7", + "src": "5254:87:7", "statements": [ { "nodeType": "YulAssignment", - "src": "5616:29:7", + "src": "5264:29:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "5638:6:7" + "src": "5286:6:7" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "5625:12:7" + "src": "5273:12:7" }, "nodeType": "YulFunctionCall", - "src": "5625:20:7" + "src": "5273:20:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5616:5:7" + "src": "5264:5:7" } ] }, @@ -3959,19 +3769,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5681:5:7" + "src": "5329:5:7" } ], "functionName": { "name": "validator_revert_t_bytes32", "nodeType": "YulIdentifier", - "src": "5654:26:7" + "src": "5302:26:7" }, "nodeType": "YulFunctionCall", - "src": "5654:33:7" + "src": "5302:33:7" }, "nodeType": "YulExpressionStatement", - "src": "5654:33:7" + "src": "5302:33:7" } ] }, @@ -3981,13 +3791,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5584:6:7", + "src": "5232:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "5592:3:7", + "src": "5240:3:7", "type": "" } ], @@ -3995,16 +3805,16 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5600:5:7", + "src": "5248:5:7", "type": "" } ], - "src": "5554:139:7" + "src": "5202:139:7" }, { "body": { "nodeType": "YulBlock", - "src": "5788:28:7", + "src": "5436:28:7", "statements": [ { "expression": { @@ -4012,14 +3822,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5805:1:7", + "src": "5453:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5808:1:7", + "src": "5456:1:7", "type": "", "value": "0" } @@ -4027,28 +3837,28 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5798:6:7" + "src": "5446:6:7" }, "nodeType": "YulFunctionCall", - "src": "5798:12:7" + "src": "5446:12:7" }, "nodeType": "YulExpressionStatement", - "src": "5798:12:7" + "src": "5446:12:7" } ] }, "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulFunctionDefinition", - "src": "5699:117:7" + "src": "5347:117:7" }, { "body": { "nodeType": "YulBlock", - "src": "5870:54:7", + "src": "5518:54:7", "statements": [ { "nodeType": "YulAssignment", - "src": "5880:38:7", + "src": "5528:38:7", "value": { "arguments": [ { @@ -4056,12 +3866,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5898:5:7" + "src": "5546:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5905:2:7", + "src": "5553:2:7", "type": "", "value": "31" } @@ -4069,17 +3879,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5894:3:7" + "src": "5542:3:7" }, "nodeType": "YulFunctionCall", - "src": "5894:14:7" + "src": "5542:14:7" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "5914:2:7", + "src": "5562:2:7", "type": "", "value": "31" } @@ -4087,25 +3897,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "5910:3:7" + "src": "5558:3:7" }, "nodeType": "YulFunctionCall", - "src": "5910:7:7" + "src": "5558:7:7" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "5890:3:7" + "src": "5538:3:7" }, "nodeType": "YulFunctionCall", - "src": "5890:28:7" + "src": "5538:28:7" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "5880:6:7" + "src": "5528:6:7" } ] } @@ -4117,7 +3927,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5853:5:7", + "src": "5501:5:7", "type": "" } ], @@ -4125,16 +3935,16 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "5863:6:7", + "src": "5511:6:7", "type": "" } ], - "src": "5822:102:7" + "src": "5470:102:7" }, { "body": { "nodeType": "YulBlock", - "src": "5958:152:7", + "src": "5606:152:7", "statements": [ { "expression": { @@ -4142,14 +3952,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5975:1:7", + "src": "5623:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5978:77:7", + "src": "5626:77:7", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -4157,13 +3967,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5968:6:7" + "src": "5616:6:7" }, "nodeType": "YulFunctionCall", - "src": "5968:88:7" + "src": "5616:88:7" }, "nodeType": "YulExpressionStatement", - "src": "5968:88:7" + "src": "5616:88:7" }, { "expression": { @@ -4171,14 +3981,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6072:1:7", + "src": "5720:1:7", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6075:4:7", + "src": "5723:4:7", "type": "", "value": "0x41" } @@ -4186,13 +3996,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6065:6:7" + "src": "5713:6:7" }, "nodeType": "YulFunctionCall", - "src": "6065:15:7" + "src": "5713:15:7" }, "nodeType": "YulExpressionStatement", - "src": "6065:15:7" + "src": "5713:15:7" }, { "expression": { @@ -4200,14 +4010,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6096:1:7", + "src": "5744:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6099:4:7", + "src": "5747:4:7", "type": "", "value": "0x24" } @@ -4215,65 +4025,65 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "6089:6:7" + "src": "5737:6:7" }, "nodeType": "YulFunctionCall", - "src": "6089:15:7" + "src": "5737:15:7" }, "nodeType": "YulExpressionStatement", - "src": "6089:15:7" + "src": "5737:15:7" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", - "src": "5930:180:7" + "src": "5578:180:7" }, { "body": { "nodeType": "YulBlock", - "src": "6159:238:7", + "src": "5807:238:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6169:58:7", + "src": "5817:58:7", "value": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6191:6:7" + "src": "5839:6:7" }, { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "6221:4:7" + "src": "5869:4:7" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "6199:21:7" + "src": "5847:21:7" }, "nodeType": "YulFunctionCall", - "src": "6199:27:7" + "src": "5847:27:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6187:3:7" + "src": "5835:3:7" }, "nodeType": "YulFunctionCall", - "src": "6187:40:7" + "src": "5835:40:7" }, "variables": [ { "name": "newFreePtr", "nodeType": "YulTypedName", - "src": "6173:10:7", + "src": "5821:10:7", "type": "" } ] @@ -4281,7 +4091,7 @@ { "body": { "nodeType": "YulBlock", - "src": "6338:22:7", + "src": "5986:22:7", "statements": [ { "expression": { @@ -4289,13 +4099,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "6340:16:7" + "src": "5988:16:7" }, "nodeType": "YulFunctionCall", - "src": "6340:18:7" + "src": "5988:18:7" }, "nodeType": "YulExpressionStatement", - "src": "6340:18:7" + "src": "5988:18:7" } ] }, @@ -4306,12 +4116,12 @@ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "6281:10:7" + "src": "5929:10:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6293:18:7", + "src": "5941:18:7", "type": "", "value": "0xffffffffffffffff" } @@ -4319,43 +4129,43 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "6278:2:7" + "src": "5926:2:7" }, "nodeType": "YulFunctionCall", - "src": "6278:34:7" + "src": "5926:34:7" }, { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "6317:10:7" + "src": "5965:10:7" }, { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6329:6:7" + "src": "5977:6:7" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "6314:2:7" + "src": "5962:2:7" }, "nodeType": "YulFunctionCall", - "src": "6314:22:7" + "src": "5962:22:7" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "6275:2:7" + "src": "5923:2:7" }, "nodeType": "YulFunctionCall", - "src": "6275:62:7" + "src": "5923:62:7" }, "nodeType": "YulIf", - "src": "6272:88:7" + "src": "5920:88:7" }, { "expression": { @@ -4363,26 +4173,26 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6376:2:7", + "src": "6024:2:7", "type": "", "value": "64" }, { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "6380:10:7" + "src": "6028:10:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6369:6:7" + "src": "6017:6:7" }, "nodeType": "YulFunctionCall", - "src": "6369:22:7" + "src": "6017:22:7" }, "nodeType": "YulExpressionStatement", - "src": "6369:22:7" + "src": "6017:22:7" } ] }, @@ -4392,41 +4202,41 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "6145:6:7", + "src": "5793:6:7", "type": "" }, { "name": "size", "nodeType": "YulTypedName", - "src": "6153:4:7", + "src": "5801:4:7", "type": "" } ], - "src": "6116:281:7" + "src": "5764:281:7" }, { "body": { "nodeType": "YulBlock", - "src": "6444:88:7", + "src": "6092:88:7", "statements": [ { "nodeType": "YulAssignment", - "src": "6454:30:7", + "src": "6102:30:7", "value": { "arguments": [], "functionName": { "name": "allocate_unbounded", "nodeType": "YulIdentifier", - "src": "6464:18:7" + "src": "6112:18:7" }, "nodeType": "YulFunctionCall", - "src": "6464:20:7" + "src": "6112:20:7" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6454:6:7" + "src": "6102:6:7" } ] }, @@ -4436,24 +4246,24 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6513:6:7" + "src": "6161:6:7" }, { "name": "size", "nodeType": "YulIdentifier", - "src": "6521:4:7" + "src": "6169:4:7" } ], "functionName": { "name": "finalize_allocation", "nodeType": "YulIdentifier", - "src": "6493:19:7" + "src": "6141:19:7" }, "nodeType": "YulFunctionCall", - "src": "6493:33:7" + "src": "6141:33:7" }, "nodeType": "YulExpressionStatement", - "src": "6493:33:7" + "src": "6141:33:7" } ] }, @@ -4463,7 +4273,7 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "6428:4:7", + "src": "6076:4:7", "type": "" } ], @@ -4471,21 +4281,21 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "6437:6:7", + "src": "6085:6:7", "type": "" } ], - "src": "6403:129:7" + "src": "6051:129:7" }, { "body": { "nodeType": "YulBlock", - "src": "6604:241:7", + "src": "6252:241:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "6709:22:7", + "src": "6357:22:7", "statements": [ { "expression": { @@ -4493,13 +4303,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "6711:16:7" + "src": "6359:16:7" }, "nodeType": "YulFunctionCall", - "src": "6711:18:7" + "src": "6359:18:7" }, "nodeType": "YulExpressionStatement", - "src": "6711:18:7" + "src": "6359:18:7" } ] }, @@ -4508,12 +4318,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "6681:6:7" + "src": "6329:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6689:18:7", + "src": "6337:18:7", "type": "", "value": "0xffffffffffffffff" } @@ -4521,55 +4331,55 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "6678:2:7" + "src": "6326:2:7" }, "nodeType": "YulFunctionCall", - "src": "6678:30:7" + "src": "6326:30:7" }, "nodeType": "YulIf", - "src": "6675:56:7" + "src": "6323:56:7" }, { "nodeType": "YulAssignment", - "src": "6741:37:7", + "src": "6389:37:7", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "6771:6:7" + "src": "6419:6:7" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "6749:21:7" + "src": "6397:21:7" }, "nodeType": "YulFunctionCall", - "src": "6749:29:7" + "src": "6397:29:7" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "6741:4:7" + "src": "6389:4:7" } ] }, { "nodeType": "YulAssignment", - "src": "6815:23:7", + "src": "6463:23:7", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "6827:4:7" + "src": "6475:4:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6833:4:7", + "src": "6481:4:7", "type": "", "value": "0x20" } @@ -4577,16 +4387,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6823:3:7" + "src": "6471:3:7" }, "nodeType": "YulFunctionCall", - "src": "6823:15:7" + "src": "6471:15:7" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "6815:4:7" + "src": "6463:4:7" } ] } @@ -4598,7 +4408,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "6588:6:7", + "src": "6236:6:7", "type": "" } ], @@ -4606,16 +4416,16 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "6599:4:7", + "src": "6247:4:7", "type": "" } ], - "src": "6538:307:7" + "src": "6186:307:7" }, { "body": { "nodeType": "YulBlock", - "src": "6902:103:7", + "src": "6550:103:7", "statements": [ { "expression": { @@ -4623,29 +4433,29 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "6925:3:7" + "src": "6573:3:7" }, { "name": "src", "nodeType": "YulIdentifier", - "src": "6930:3:7" + "src": "6578:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "6935:6:7" + "src": "6583:6:7" } ], "functionName": { "name": "calldatacopy", "nodeType": "YulIdentifier", - "src": "6912:12:7" + "src": "6560:12:7" }, "nodeType": "YulFunctionCall", - "src": "6912:30:7" + "src": "6560:30:7" }, "nodeType": "YulExpressionStatement", - "src": "6912:30:7" + "src": "6560:30:7" }, { "expression": { @@ -4655,26 +4465,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "6983:3:7" + "src": "6631:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "6988:6:7" + "src": "6636:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6979:3:7" + "src": "6627:3:7" }, "nodeType": "YulFunctionCall", - "src": "6979:16:7" + "src": "6627:16:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6997:1:7", + "src": "6645:1:7", "type": "", "value": "0" } @@ -4682,13 +4492,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6972:6:7" + "src": "6620:6:7" }, "nodeType": "YulFunctionCall", - "src": "6972:27:7" + "src": "6620:27:7" }, "nodeType": "YulExpressionStatement", - "src": "6972:27:7" + "src": "6620:27:7" } ] }, @@ -4698,32 +4508,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "6884:3:7", + "src": "6532:3:7", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "6889:3:7", + "src": "6537:3:7", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "6894:6:7", + "src": "6542:6:7", "type": "" } ], - "src": "6851:154:7" + "src": "6499:154:7" }, { "body": { "nodeType": "YulBlock", - "src": "7094:327:7", + "src": "6742:327:7", "statements": [ { "nodeType": "YulAssignment", - "src": "7104:74:7", + "src": "6752:74:7", "value": { "arguments": [ { @@ -4731,31 +4541,31 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "7170:6:7" + "src": "6818:6:7" } ], "functionName": { "name": "array_allocation_size_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "7129:40:7" + "src": "6777:40:7" }, "nodeType": "YulFunctionCall", - "src": "7129:48:7" + "src": "6777:48:7" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "7113:15:7" + "src": "6761:15:7" }, "nodeType": "YulFunctionCall", - "src": "7113:65:7" + "src": "6761:65:7" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "7104:5:7" + "src": "6752:5:7" } ] }, @@ -4765,39 +4575,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "7194:5:7" + "src": "6842:5:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "7201:6:7" + "src": "6849:6:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7187:6:7" + "src": "6835:6:7" }, "nodeType": "YulFunctionCall", - "src": "7187:21:7" + "src": "6835:21:7" }, "nodeType": "YulExpressionStatement", - "src": "7187:21:7" + "src": "6835:21:7" }, { "nodeType": "YulVariableDeclaration", - "src": "7217:27:7", + "src": "6865:27:7", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "7232:5:7" + "src": "6880:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7239:4:7", + "src": "6887:4:7", "type": "", "value": "0x20" } @@ -4805,16 +4615,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7228:3:7" + "src": "6876:3:7" }, "nodeType": "YulFunctionCall", - "src": "7228:16:7" + "src": "6876:16:7" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "7221:3:7", + "src": "6869:3:7", "type": "" } ] @@ -4822,7 +4632,7 @@ { "body": { "nodeType": "YulBlock", - "src": "7282:83:7", + "src": "6930:83:7", "statements": [ { "expression": { @@ -4830,13 +4640,13 @@ "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", - "src": "7284:77:7" + "src": "6932:77:7" }, "nodeType": "YulFunctionCall", - "src": "7284:79:7" + "src": "6932:79:7" }, "nodeType": "YulExpressionStatement", - "src": "7284:79:7" + "src": "6932:79:7" } ] }, @@ -4847,38 +4657,38 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "7263:3:7" + "src": "6911:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "7268:6:7" + "src": "6916:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7259:3:7" + "src": "6907:3:7" }, "nodeType": "YulFunctionCall", - "src": "7259:16:7" + "src": "6907:16:7" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "7277:3:7" + "src": "6925:3:7" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "7256:2:7" + "src": "6904:2:7" }, "nodeType": "YulFunctionCall", - "src": "7256:25:7" + "src": "6904:25:7" }, "nodeType": "YulIf", - "src": "7253:112:7" + "src": "6901:112:7" }, { "expression": { @@ -4886,29 +4696,29 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "7398:3:7" + "src": "7046:3:7" }, { "name": "dst", "nodeType": "YulIdentifier", - "src": "7403:3:7" + "src": "7051:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "7408:6:7" + "src": "7056:6:7" } ], "functionName": { "name": "copy_calldata_to_memory", "nodeType": "YulIdentifier", - "src": "7374:23:7" + "src": "7022:23:7" }, "nodeType": "YulFunctionCall", - "src": "7374:41:7" + "src": "7022:41:7" }, "nodeType": "YulExpressionStatement", - "src": "7374:41:7" + "src": "7022:41:7" } ] }, @@ -4918,19 +4728,19 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "7067:3:7", + "src": "6715:3:7", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "7072:6:7", + "src": "6720:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "7080:3:7", + "src": "6728:3:7", "type": "" } ], @@ -4938,21 +4748,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "7088:5:7", + "src": "6736:5:7", "type": "" } ], - "src": "7011:410:7" + "src": "6659:410:7" }, { "body": { "nodeType": "YulBlock", - "src": "7501:277:7", + "src": "7149:277:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "7550:83:7", + "src": "7198:83:7", "statements": [ { "expression": { @@ -4960,13 +4770,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "7552:77:7" + "src": "7200:77:7" }, "nodeType": "YulFunctionCall", - "src": "7552:79:7" + "src": "7200:79:7" }, "nodeType": "YulExpressionStatement", - "src": "7552:79:7" + "src": "7200:79:7" } ] }, @@ -4979,12 +4789,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7529:6:7" + "src": "7177:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7537:4:7", + "src": "7185:4:7", "type": "", "value": "0x1f" } @@ -4992,68 +4802,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7525:3:7" + "src": "7173:3:7" }, "nodeType": "YulFunctionCall", - "src": "7525:17:7" + "src": "7173:17:7" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "7544:3:7" + "src": "7192:3:7" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "7521:3:7" + "src": "7169:3:7" }, "nodeType": "YulFunctionCall", - "src": "7521:27:7" + "src": "7169:27:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "7514:6:7" + "src": "7162:6:7" }, "nodeType": "YulFunctionCall", - "src": "7514:35:7" + "src": "7162:35:7" }, "nodeType": "YulIf", - "src": "7511:122:7" + "src": "7159:122:7" }, { "nodeType": "YulVariableDeclaration", - "src": "7642:34:7", + "src": "7290:34:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7669:6:7" + "src": "7317:6:7" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "7656:12:7" + "src": "7304:12:7" }, "nodeType": "YulFunctionCall", - "src": "7656:20:7" + "src": "7304:20:7" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "7646:6:7", + "src": "7294:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7685:87:7", + "src": "7333:87:7", "value": { "arguments": [ { @@ -5061,12 +4871,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7745:6:7" + "src": "7393:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7753:4:7", + "src": "7401:4:7", "type": "", "value": "0x20" } @@ -5074,35 +4884,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7741:3:7" + "src": "7389:3:7" }, "nodeType": "YulFunctionCall", - "src": "7741:17:7" + "src": "7389:17:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "7760:6:7" + "src": "7408:6:7" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "7768:3:7" + "src": "7416:3:7" } ], "functionName": { "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "7694:46:7" + "src": "7342:46:7" }, "nodeType": "YulFunctionCall", - "src": "7694:78:7" + "src": "7342:78:7" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "7685:5:7" + "src": "7333:5:7" } ] } @@ -5114,13 +4924,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7479:6:7", + "src": "7127:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "7487:3:7", + "src": "7135:3:7", "type": "" } ], @@ -5128,21 +4938,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "7495:5:7", + "src": "7143:5:7", "type": "" } ], - "src": "7440:338:7" + "src": "7088:338:7" }, { "body": { "nodeType": "YulBlock", - "src": "7893:688:7", + "src": "7541:688:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "7939:83:7", + "src": "7587:83:7", "statements": [ { "expression": { @@ -5150,13 +4960,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "7941:77:7" + "src": "7589:77:7" }, "nodeType": "YulFunctionCall", - "src": "7941:79:7" + "src": "7589:79:7" }, "nodeType": "YulExpressionStatement", - "src": "7941:79:7" + "src": "7589:79:7" } ] }, @@ -5167,26 +4977,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7914:7:7" + "src": "7562:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7923:9:7" + "src": "7571:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "7910:3:7" + "src": "7558:3:7" }, "nodeType": "YulFunctionCall", - "src": "7910:23:7" + "src": "7558:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7935:2:7", + "src": "7583:2:7", "type": "", "value": "96" } @@ -5194,25 +5004,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "7906:3:7" + "src": "7554:3:7" }, "nodeType": "YulFunctionCall", - "src": "7906:32:7" + "src": "7554:32:7" }, "nodeType": "YulIf", - "src": "7903:119:7" + "src": "7551:119:7" }, { "nodeType": "YulBlock", - "src": "8032:117:7", + "src": "7680:117:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8047:15:7", + "src": "7695:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "8061:1:7", + "src": "7709:1:7", "type": "", "value": "0" }, @@ -5220,14 +5030,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "8051:6:7", + "src": "7699:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "8076:63:7", + "src": "7724:63:7", "value": { "arguments": [ { @@ -5235,41 +5045,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8111:9:7" + "src": "7759:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8122:6:7" + "src": "7770:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8107:3:7" + "src": "7755:3:7" }, "nodeType": "YulFunctionCall", - "src": "8107:22:7" + "src": "7755:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8131:7:7" + "src": "7779:7:7" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "8086:20:7" + "src": "7734:20:7" }, "nodeType": "YulFunctionCall", - "src": "8086:53:7" + "src": "7734:53:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8076:6:7" + "src": "7724:6:7" } ] } @@ -5277,15 +5087,15 @@ }, { "nodeType": "YulBlock", - "src": "8159:118:7", + "src": "7807:118:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8174:16:7", + "src": "7822:16:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "8188:2:7", + "src": "7836:2:7", "type": "", "value": "32" }, @@ -5293,14 +5103,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "8178:6:7", + "src": "7826:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "8204:63:7", + "src": "7852:63:7", "value": { "arguments": [ { @@ -5308,41 +5118,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8239:9:7" + "src": "7887:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8250:6:7" + "src": "7898:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8235:3:7" + "src": "7883:3:7" }, "nodeType": "YulFunctionCall", - "src": "8235:22:7" + "src": "7883:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8259:7:7" + "src": "7907:7:7" } ], "functionName": { "name": "abi_decode_t_bytes32", "nodeType": "YulIdentifier", - "src": "8214:20:7" + "src": "7862:20:7" }, "nodeType": "YulFunctionCall", - "src": "8214:53:7" + "src": "7862:53:7" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "8204:6:7" + "src": "7852:6:7" } ] } @@ -5350,11 +5160,11 @@ }, { "nodeType": "YulBlock", - "src": "8287:287:7", + "src": "7935:287:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8302:46:7", + "src": "7950:46:7", "value": { "arguments": [ { @@ -5362,12 +5172,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8333:9:7" + "src": "7981:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8344:2:7", + "src": "7992:2:7", "type": "", "value": "64" } @@ -5375,25 +5185,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8329:3:7" + "src": "7977:3:7" }, "nodeType": "YulFunctionCall", - "src": "8329:18:7" + "src": "7977:18:7" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "8316:12:7" + "src": "7964:12:7" }, "nodeType": "YulFunctionCall", - "src": "8316:32:7" + "src": "7964:32:7" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "8306:6:7", + "src": "7954:6:7", "type": "" } ] @@ -5401,7 +5211,7 @@ { "body": { "nodeType": "YulBlock", - "src": "8395:83:7", + "src": "8043:83:7", "statements": [ { "expression": { @@ -5409,13 +5219,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "8397:77:7" + "src": "8045:77:7" }, "nodeType": "YulFunctionCall", - "src": "8397:79:7" + "src": "8045:79:7" }, "nodeType": "YulExpressionStatement", - "src": "8397:79:7" + "src": "8045:79:7" } ] }, @@ -5424,12 +5234,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "8367:6:7" + "src": "8015:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8375:18:7", + "src": "8023:18:7", "type": "", "value": "0xffffffffffffffff" } @@ -5437,17 +5247,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "8364:2:7" + "src": "8012:2:7" }, "nodeType": "YulFunctionCall", - "src": "8364:30:7" + "src": "8012:30:7" }, "nodeType": "YulIf", - "src": "8361:117:7" + "src": "8009:117:7" }, { "nodeType": "YulAssignment", - "src": "8492:72:7", + "src": "8140:72:7", "value": { "arguments": [ { @@ -5455,41 +5265,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8536:9:7" + "src": "8184:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8547:6:7" + "src": "8195:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8532:3:7" + "src": "8180:3:7" }, "nodeType": "YulFunctionCall", - "src": "8532:22:7" + "src": "8180:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8556:7:7" + "src": "8204:7:7" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "8502:29:7" + "src": "8150:29:7" }, "nodeType": "YulFunctionCall", - "src": "8502:62:7" + "src": "8150:62:7" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "8492:6:7" + "src": "8140:6:7" } ] } @@ -5503,13 +5313,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7847:9:7", + "src": "7495:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "7858:7:7", + "src": "7506:7:7", "type": "" } ], @@ -5517,33 +5327,33 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "7870:6:7", + "src": "7518:6:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "7878:6:7", + "src": "7526:6:7", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "7886:6:7", + "src": "7534:6:7", "type": "" } ], - "src": "7784:797:7" + "src": "7432:797:7" }, { "body": { "nodeType": "YulBlock", - "src": "8653:263:7", + "src": "8301:263:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "8699:83:7", + "src": "8347:83:7", "statements": [ { "expression": { @@ -5551,13 +5361,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "8701:77:7" + "src": "8349:77:7" }, "nodeType": "YulFunctionCall", - "src": "8701:79:7" + "src": "8349:79:7" }, "nodeType": "YulExpressionStatement", - "src": "8701:79:7" + "src": "8349:79:7" } ] }, @@ -5568,26 +5378,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8674:7:7" + "src": "8322:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8683:9:7" + "src": "8331:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "8670:3:7" + "src": "8318:3:7" }, "nodeType": "YulFunctionCall", - "src": "8670:23:7" + "src": "8318:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8695:2:7", + "src": "8343:2:7", "type": "", "value": "32" } @@ -5595,25 +5405,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "8666:3:7" + "src": "8314:3:7" }, "nodeType": "YulFunctionCall", - "src": "8666:32:7" + "src": "8314:32:7" }, "nodeType": "YulIf", - "src": "8663:119:7" + "src": "8311:119:7" }, { "nodeType": "YulBlock", - "src": "8792:117:7", + "src": "8440:117:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8807:15:7", + "src": "8455:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "8821:1:7", + "src": "8469:1:7", "type": "", "value": "0" }, @@ -5621,14 +5431,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "8811:6:7", + "src": "8459:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "8836:63:7", + "src": "8484:63:7", "value": { "arguments": [ { @@ -5636,41 +5446,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8871:9:7" + "src": "8519:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8882:6:7" + "src": "8530:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8867:3:7" + "src": "8515:3:7" }, "nodeType": "YulFunctionCall", - "src": "8867:22:7" + "src": "8515:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8891:7:7" + "src": "8539:7:7" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "8846:20:7" + "src": "8494:20:7" }, "nodeType": "YulFunctionCall", - "src": "8846:53:7" + "src": "8494:53:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8836:6:7" + "src": "8484:6:7" } ] } @@ -5684,13 +5494,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8623:9:7", + "src": "8271:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "8634:7:7", + "src": "8282:7:7", "type": "" } ], @@ -5698,11 +5508,182 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "8646:6:7", + "src": "8294:6:7", "type": "" } ], - "src": "8587:329:7" + "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" }, { "body": { @@ -5726,7 +5707,7 @@ } ], "functionName": { - "name": "cleanup_t_address", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "9009:17:7" }, @@ -5747,7 +5728,7 @@ } ] }, - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { @@ -5837,7 +5818,7 @@ } ], "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "9190:43:7" }, @@ -5849,7 +5830,7 @@ } ] }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { @@ -8302,405 +8283,32 @@ { "body": { "nodeType": "YulBlock", - "src": "15378:123: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": "436c61696d426f78466163746f72793a20796f75206861766520636c61696d65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15412:34:7", - "type": "", - "value": "ClaimBoxFactory: you have claime" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15389:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "15389:58:7" - }, - "nodeType": "YulExpressionStatement", - "src": "15389:58:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "15468:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15476:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15464:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "15464:15:7" - }, - { - "hexValue": "642074686973204e4654", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15481:12:7", - "type": "", - "value": "d this NFT" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15457:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "15457:37:7" - }, - "nodeType": "YulExpressionStatement", - "src": "15457:37:7" - } - ] - }, - "name": "store_literal_in_memory_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "15370:6:7", - "type": "" - } - ], - "src": "15272:229:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15653:220:7", + "src": "15335:80:7", "statements": [ { "nodeType": "YulAssignment", - "src": "15663:74:7", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15729:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15734:2:7", - "type": "", - "value": "42" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "15670:58:7" - }, - "nodeType": "YulFunctionCall", - "src": "15670:67:7" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15663:3:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15835:3:7" - } - ], - "functionName": { - "name": "store_literal_in_memory_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9", - "nodeType": "YulIdentifier", - "src": "15746:88:7" - }, - "nodeType": "YulFunctionCall", - "src": "15746:93:7" - }, - "nodeType": "YulExpressionStatement", - "src": "15746:93:7" - }, - { - "nodeType": "YulAssignment", - "src": "15848:19:7", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15859:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15864:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15855:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "15855:12:7" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "15848:3:7" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "15641:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "15649:3:7", - "type": "" - } - ], - "src": "15507:366:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16050:248:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16060:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16072:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16083:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16068:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "16068:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16060:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16107:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16118:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16103:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "16103:17:7" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16126:4:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16132:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "16122:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "16122:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16096:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "16096:47:7" - }, - "nodeType": "YulExpressionStatement", - "src": "16096:47:7" - }, - { - "nodeType": "YulAssignment", - "src": "16152:139:7", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16286:4:7" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "16160:124:7" - }, - "nodeType": "YulFunctionCall", - "src": "16160:131:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16152:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16030:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16045:4:7", - "type": "" - } - ], - "src": "15879:419:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16367:80:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16377:22:7", + "src": "15345:22:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "16392:6:7" + "src": "15360:6:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "16386:5:7" + "src": "15354:5:7" }, "nodeType": "YulFunctionCall", - "src": "16386:13:7" + "src": "15354:13:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "16377:5:7" + "src": "15345:5:7" } ] }, @@ -8710,19 +8318,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "16435:5:7" + "src": "15403:5:7" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "16408:26:7" + "src": "15376:26:7" }, "nodeType": "YulFunctionCall", - "src": "16408:33:7" + "src": "15376:33:7" }, "nodeType": "YulExpressionStatement", - "src": "16408:33:7" + "src": "15376:33:7" } ] }, @@ -8732,13 +8340,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16345:6:7", + "src": "15313:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "16353:3:7", + "src": "15321:3:7", "type": "" } ], @@ -8746,21 +8354,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "16361:5:7", + "src": "15329:5:7", "type": "" } ], - "src": "16304:143:7" + "src": "15272:143:7" }, { "body": { "nodeType": "YulBlock", - "src": "16530:274:7", + "src": "15498:274:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "16576:83:7", + "src": "15544:83:7", "statements": [ { "expression": { @@ -8768,13 +8376,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "16578:77:7" + "src": "15546:77:7" }, "nodeType": "YulFunctionCall", - "src": "16578:79:7" + "src": "15546:79:7" }, "nodeType": "YulExpressionStatement", - "src": "16578:79:7" + "src": "15546:79:7" } ] }, @@ -8785,26 +8393,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16551:7:7" + "src": "15519:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16560:9:7" + "src": "15528:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "16547:3:7" + "src": "15515:3:7" }, "nodeType": "YulFunctionCall", - "src": "16547:23:7" + "src": "15515:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16572:2:7", + "src": "15540:2:7", "type": "", "value": "32" } @@ -8812,25 +8420,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "16543:3:7" + "src": "15511:3:7" }, "nodeType": "YulFunctionCall", - "src": "16543:32:7" + "src": "15511:32:7" }, "nodeType": "YulIf", - "src": "16540:119:7" + "src": "15508:119:7" }, { "nodeType": "YulBlock", - "src": "16669:128:7", + "src": "15637:128:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16684:15:7", + "src": "15652:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "16698:1:7", + "src": "15666:1:7", "type": "", "value": "0" }, @@ -8838,14 +8446,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16688:6:7", + "src": "15656:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16713:74:7", + "src": "15681:74:7", "value": { "arguments": [ { @@ -8853,41 +8461,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16759:9:7" + "src": "15727:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16770:6:7" + "src": "15738:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16755:3:7" + "src": "15723:3:7" }, "nodeType": "YulFunctionCall", - "src": "16755:22:7" + "src": "15723:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16779:7:7" + "src": "15747:7:7" } ], "functionName": { "name": "abi_decode_t_uint256_fromMemory", "nodeType": "YulIdentifier", - "src": "16723:31:7" + "src": "15691:31:7" }, "nodeType": "YulFunctionCall", - "src": "16723:64:7" + "src": "15691:64:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "16713:6:7" + "src": "15681:6:7" } ] } @@ -8901,13 +8509,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16500:9:7", + "src": "15468:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "16511:7:7", + "src": "15479:7:7", "type": "" } ], @@ -8915,16 +8523,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "16523:6:7", + "src": "15491:6:7", "type": "" } ], - "src": "16453:351:7" + "src": "15421:351:7" }, { "body": { "nodeType": "YulBlock", - "src": "16916:76:7", + "src": "15884:120:7", "statements": [ { "expression": { @@ -8934,12 +8542,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "16938:6:7" + "src": "15906:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16946:1:7", + "src": "15914:1:7", "type": "", "value": "0" } @@ -8947,81 +8555,127 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16934:3:7" + "src": "15902:3:7" }, "nodeType": "YulFunctionCall", - "src": "16934:14:7" + "src": "15902:14:7" }, { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "hexValue": "436c61696d426f78466163746f72793a20796f7520616c726561647920686176", "kind": "string", "nodeType": "YulLiteral", - "src": "16950:34:7", + "src": "15918:34:7", "type": "", - "value": "Ownable: caller is not the owner" + "value": "ClaimBoxFactory: you already hav" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16927:6:7" + "src": "15895:6:7" }, "nodeType": "YulFunctionCall", - "src": "16927:58:7" + "src": "15895:58:7" }, "nodeType": "YulExpressionStatement", - "src": "16927:58:7" + "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_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "name": "store_literal_in_memory_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "16908:6:7", + "src": "15876:6:7", "type": "" } ], - "src": "16810:182:7" + "src": "15778:226:7" }, { "body": { "nodeType": "YulBlock", - "src": "17144:220:7", + "src": "16156:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "17154:74:7", + "src": "16166:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17220:3:7" + "src": "16232:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17225:2:7", + "src": "16237:2:7", "type": "", - "value": "32" + "value": "39" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17161:58:7" + "src": "16173:58:7" }, "nodeType": "YulFunctionCall", - "src": "17161:67:7" + "src": "16173:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17154:3:7" + "src": "16166:3:7" } ] }, @@ -9031,34 +8685,95 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17326:3:7" + "src": "16338:3:7" } ], "functionName": { - "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "name": "store_literal_in_memory_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", "nodeType": "YulIdentifier", - "src": "17237:88:7" + "src": "16249:88:7" }, "nodeType": "YulFunctionCall", - "src": "17237:93:7" + "src": "16249:93:7" }, "nodeType": "YulExpressionStatement", - "src": "17237:93:7" + "src": "16249:93:7" }, { "nodeType": "YulAssignment", - "src": "17339:19:7", + "src": "16351:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17350:3:7" + "src": "16362:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17355:2:7", + "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" } @@ -9066,16 +8781,282 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17346:3:7" + "src": "16571:3:7" }, "nodeType": "YulFunctionCall", - "src": "17346:12:7" + "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" + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16947:34:7", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16924:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "16924:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16924:58:7" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16905:6:7", + "type": "" + } + ], + "src": "16807:182:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17141:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17151:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17217:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17222:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17158:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "17158:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17151:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17323:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "17234:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "17234:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "17234:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "17336:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17347:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17352:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17343:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17343:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "17339:3:7" + "src": "17336:3:7" } ] } @@ -9087,7 +9068,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "17132:3:7", + "src": "17129:3:7", "type": "" } ], @@ -9095,31 +9076,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "17140:3:7", + "src": "17137:3:7", "type": "" } ], - "src": "16998:366:7" + "src": "16995:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "17541:248:7", + "src": "17538:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "17551:26:7", + "src": "17548:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17563:9:7" + "src": "17560:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17574:2:7", + "src": "17571:2:7", "type": "", "value": "32" } @@ -9127,16 +9108,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17559:3:7" + "src": "17556:3:7" }, "nodeType": "YulFunctionCall", - "src": "17559:18:7" + "src": "17556:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17551:4:7" + "src": "17548:4:7" } ] }, @@ -9148,12 +9129,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17598:9:7" + "src": "17595:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17609:1:7", + "src": "17606:1:7", "type": "", "value": "0" } @@ -9161,68 +9142,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17594:3:7" + "src": "17591:3:7" }, "nodeType": "YulFunctionCall", - "src": "17594:17:7" + "src": "17591:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17617:4:7" + "src": "17614:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17623:9:7" + "src": "17620:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17613:3:7" + "src": "17610:3:7" }, "nodeType": "YulFunctionCall", - "src": "17613:20:7" + "src": "17610:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17587:6:7" + "src": "17584:6:7" }, "nodeType": "YulFunctionCall", - "src": "17587:47:7" + "src": "17584:47:7" }, "nodeType": "YulExpressionStatement", - "src": "17587:47:7" + "src": "17584:47:7" }, { "nodeType": "YulAssignment", - "src": "17643:139:7", + "src": "17640:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17777:4:7" + "src": "17774:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17651:124:7" + "src": "17648:124:7" }, "nodeType": "YulFunctionCall", - "src": "17651:131:7" + "src": "17648:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17643:4:7" + "src": "17640:4:7" } ] } @@ -9234,7 +9215,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "17521:9:7", + "src": "17518:9:7", "type": "" } ], @@ -9242,16 +9223,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "17536:4:7", + "src": "17533:4:7", "type": "" } ], - "src": "17370:419:7" + "src": "17367:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "17901:63:7", + "src": "17898:63:7", "statements": [ { "expression": { @@ -9261,12 +9242,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17923:6:7" + "src": "17920:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17931:1:7", + "src": "17928:1:7", "type": "", "value": "0" } @@ -9274,16 +9255,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17919:3:7" + "src": "17916:3:7" }, "nodeType": "YulFunctionCall", - "src": "17919:14:7" + "src": "17916:14:7" }, { "hexValue": "5b42455d20696e76616c6964207369676e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "17935:21:7", + "src": "17932:21:7", "type": "", "value": "[BE] invalid signer" } @@ -9291,13 +9272,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17912:6:7" + "src": "17909:6:7" }, "nodeType": "YulFunctionCall", - "src": "17912:45:7" + "src": "17909:45:7" }, "nodeType": "YulExpressionStatement", - "src": "17912:45:7" + "src": "17909:45:7" } ] }, @@ -9307,31 +9288,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "17893:6:7", + "src": "17890:6:7", "type": "" } ], - "src": "17795:169:7" + "src": "17792:169:7" }, { "body": { "nodeType": "YulBlock", - "src": "18116:220:7", + "src": "18113:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "18126:74:7", + "src": "18123:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18192:3:7" + "src": "18189:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18197:2:7", + "src": "18194:2:7", "type": "", "value": "19" } @@ -9339,16 +9320,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18133:58:7" + "src": "18130:58:7" }, "nodeType": "YulFunctionCall", - "src": "18133:67:7" + "src": "18130:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18126:3:7" + "src": "18123:3:7" } ] }, @@ -9358,34 +9339,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18298:3:7" + "src": "18295:3:7" } ], "functionName": { "name": "store_literal_in_memory_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c", "nodeType": "YulIdentifier", - "src": "18209:88:7" + "src": "18206:88:7" }, "nodeType": "YulFunctionCall", - "src": "18209:93:7" + "src": "18206:93:7" }, "nodeType": "YulExpressionStatement", - "src": "18209:93:7" + "src": "18206:93:7" }, { "nodeType": "YulAssignment", - "src": "18311:19:7", + "src": "18308:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18322:3:7" + "src": "18319:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18327:2:7", + "src": "18324:2:7", "type": "", "value": "32" } @@ -9393,16 +9374,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18318:3:7" + "src": "18315:3:7" }, "nodeType": "YulFunctionCall", - "src": "18318:12:7" + "src": "18315:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "18311:3:7" + "src": "18308:3:7" } ] } @@ -9414,7 +9395,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "18104:3:7", + "src": "18101:3:7", "type": "" } ], @@ -9422,31 +9403,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18112:3:7", + "src": "18109:3:7", "type": "" } ], - "src": "17970:366:7" + "src": "17967:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "18513:248:7", + "src": "18510:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "18523:26:7", + "src": "18520:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18535:9:7" + "src": "18532:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18546:2:7", + "src": "18543:2:7", "type": "", "value": "32" } @@ -9454,16 +9435,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18531:3:7" + "src": "18528:3:7" }, "nodeType": "YulFunctionCall", - "src": "18531:18:7" + "src": "18528:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18523:4:7" + "src": "18520:4:7" } ] }, @@ -9475,12 +9456,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18570:9:7" + "src": "18567:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18581:1:7", + "src": "18578:1:7", "type": "", "value": "0" } @@ -9488,68 +9469,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18566:3:7" + "src": "18563:3:7" }, "nodeType": "YulFunctionCall", - "src": "18566:17:7" + "src": "18563:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18589:4:7" + "src": "18586:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18595:9:7" + "src": "18592:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "18585:3:7" + "src": "18582:3:7" }, "nodeType": "YulFunctionCall", - "src": "18585:20:7" + "src": "18582:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18559:6:7" + "src": "18556:6:7" }, "nodeType": "YulFunctionCall", - "src": "18559:47:7" + "src": "18556:47:7" }, "nodeType": "YulExpressionStatement", - "src": "18559:47:7" + "src": "18556:47:7" }, { "nodeType": "YulAssignment", - "src": "18615:139:7", + "src": "18612:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18749:4:7" + "src": "18746:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_625874585ef03d93a8dac98bef5296f8632f1c6e722ae5e00e44d3e723c6363c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18623:124:7" + "src": "18620:124:7" }, "nodeType": "YulFunctionCall", - "src": "18623:131:7" + "src": "18620:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18615:4:7" + "src": "18612:4:7" } ] } @@ -9561,7 +9542,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18493:9:7", + "src": "18490:9:7", "type": "" } ], @@ -9569,16 +9550,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18508:4:7", + "src": "18505:4:7", "type": "" } ], - "src": "18342:419:7" + "src": "18339:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "18873:73:7", + "src": "18870:73:7", "statements": [ { "expression": { @@ -9588,12 +9569,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18895:6:7" + "src": "18892:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18903:1:7", + "src": "18900:1:7", "type": "", "value": "0" } @@ -9601,16 +9582,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18891:3:7" + "src": "18888:3:7" }, "nodeType": "YulFunctionCall", - "src": "18891:14:7" + "src": "18888:14:7" }, { "hexValue": "5b42455d20696e76616c6964207369676e6174757265206c656e677468", "kind": "string", "nodeType": "YulLiteral", - "src": "18907:31:7", + "src": "18904:31:7", "type": "", "value": "[BE] invalid signature length" } @@ -9618,13 +9599,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18884:6:7" + "src": "18881:6:7" }, "nodeType": "YulFunctionCall", - "src": "18884:55:7" + "src": "18881:55:7" }, "nodeType": "YulExpressionStatement", - "src": "18884:55:7" + "src": "18881:55:7" } ] }, @@ -9634,31 +9615,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "18865:6:7", + "src": "18862:6:7", "type": "" } ], - "src": "18767:179:7" + "src": "18764:179:7" }, { "body": { "nodeType": "YulBlock", - "src": "19098:220:7", + "src": "19095:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "19108:74:7", + "src": "19105:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19174:3:7" + "src": "19171:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19179:2:7", + "src": "19176:2:7", "type": "", "value": "29" } @@ -9666,16 +9647,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19115:58:7" + "src": "19112:58:7" }, "nodeType": "YulFunctionCall", - "src": "19115:67:7" + "src": "19112:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19108:3:7" + "src": "19105:3:7" } ] }, @@ -9685,34 +9666,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19280:3:7" + "src": "19277:3:7" } ], "functionName": { "name": "store_literal_in_memory_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2", "nodeType": "YulIdentifier", - "src": "19191:88:7" + "src": "19188:88:7" }, "nodeType": "YulFunctionCall", - "src": "19191:93:7" + "src": "19188:93:7" }, "nodeType": "YulExpressionStatement", - "src": "19191:93:7" + "src": "19188:93:7" }, { "nodeType": "YulAssignment", - "src": "19293:19:7", + "src": "19290:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19304:3:7" + "src": "19301:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19309:2:7", + "src": "19306:2:7", "type": "", "value": "32" } @@ -9720,16 +9701,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19300:3:7" + "src": "19297:3:7" }, "nodeType": "YulFunctionCall", - "src": "19300:12:7" + "src": "19297:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19293:3:7" + "src": "19290:3:7" } ] } @@ -9741,7 +9722,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "19086:3:7", + "src": "19083:3:7", "type": "" } ], @@ -9749,31 +9730,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "19094:3:7", + "src": "19091:3:7", "type": "" } ], - "src": "18952:366:7" + "src": "18949:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "19495:248:7", + "src": "19492:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "19505:26:7", + "src": "19502:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19517:9:7" + "src": "19514:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19528:2:7", + "src": "19525:2:7", "type": "", "value": "32" } @@ -9781,16 +9762,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19513:3:7" + "src": "19510:3:7" }, "nodeType": "YulFunctionCall", - "src": "19513:18:7" + "src": "19510:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19505:4:7" + "src": "19502:4:7" } ] }, @@ -9802,12 +9783,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19552:9:7" + "src": "19549:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19563:1:7", + "src": "19560:1:7", "type": "", "value": "0" } @@ -9815,68 +9796,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19548:3:7" + "src": "19545:3:7" }, "nodeType": "YulFunctionCall", - "src": "19548:17:7" + "src": "19545:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19571:4:7" + "src": "19568:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19577:9:7" + "src": "19574:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "19567:3:7" + "src": "19564:3:7" }, "nodeType": "YulFunctionCall", - "src": "19567:20:7" + "src": "19564:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19541:6:7" + "src": "19538:6:7" }, "nodeType": "YulFunctionCall", - "src": "19541:47:7" + "src": "19538:47:7" }, "nodeType": "YulExpressionStatement", - "src": "19541:47:7" + "src": "19538:47:7" }, { "nodeType": "YulAssignment", - "src": "19597:139:7", + "src": "19594:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19731:4:7" + "src": "19728:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_7268217c6caf18e676409e04ef0eb3666245cf0562ec144751779f7680b44df2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19605:124:7" + "src": "19602:124:7" }, "nodeType": "YulFunctionCall", - "src": "19605:131:7" + "src": "19602:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19597:4:7" + "src": "19594:4:7" } ] } @@ -9888,7 +9869,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19475:9:7", + "src": "19472:9:7", "type": "" } ], @@ -9896,16 +9877,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19490:4:7", + "src": "19487:4:7", "type": "" } ], - "src": "19324:419:7" + "src": "19321:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "19855:66:7", + "src": "19852:66:7", "statements": [ { "expression": { @@ -9915,12 +9896,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19877:6:7" + "src": "19874:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19885:1:7", + "src": "19882:1:7", "type": "", "value": "0" } @@ -9928,16 +9909,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19873:3:7" + "src": "19870:3:7" }, "nodeType": "YulFunctionCall", - "src": "19873:14:7" + "src": "19870:14:7" }, { "hexValue": "5b42455d20696e76616c6964207369676e6174757265", "kind": "string", "nodeType": "YulLiteral", - "src": "19889:24:7", + "src": "19886:24:7", "type": "", "value": "[BE] invalid signature" } @@ -9945,13 +9926,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19866:6:7" + "src": "19863:6:7" }, "nodeType": "YulFunctionCall", - "src": "19866:48:7" + "src": "19863:48:7" }, "nodeType": "YulExpressionStatement", - "src": "19866:48:7" + "src": "19863:48:7" } ] }, @@ -9961,31 +9942,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "19847:6:7", + "src": "19844:6:7", "type": "" } ], - "src": "19749:172:7" + "src": "19746:172:7" }, { "body": { "nodeType": "YulBlock", - "src": "20073:220:7", + "src": "20070:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "20083:74:7", + "src": "20080:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20149:3:7" + "src": "20146:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20154:2:7", + "src": "20151:2:7", "type": "", "value": "22" } @@ -9993,16 +9974,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20090:58:7" + "src": "20087:58:7" }, "nodeType": "YulFunctionCall", - "src": "20090:67:7" + "src": "20087:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20083:3:7" + "src": "20080:3:7" } ] }, @@ -10012,34 +9993,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20255:3:7" + "src": "20252:3:7" } ], "functionName": { "name": "store_literal_in_memory_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72", "nodeType": "YulIdentifier", - "src": "20166:88:7" + "src": "20163:88:7" }, "nodeType": "YulFunctionCall", - "src": "20166:93:7" + "src": "20163:93:7" }, "nodeType": "YulExpressionStatement", - "src": "20166:93:7" + "src": "20163:93:7" }, { "nodeType": "YulAssignment", - "src": "20268:19:7", + "src": "20265:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20279:3:7" + "src": "20276:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20284:2:7", + "src": "20281:2:7", "type": "", "value": "32" } @@ -10047,16 +10028,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20275:3:7" + "src": "20272:3:7" }, "nodeType": "YulFunctionCall", - "src": "20275:12:7" + "src": "20272:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20268:3:7" + "src": "20265:3:7" } ] } @@ -10068,7 +10049,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "20061:3:7", + "src": "20058:3:7", "type": "" } ], @@ -10076,31 +10057,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "20069:3:7", + "src": "20066:3:7", "type": "" } ], - "src": "19927:366:7" + "src": "19924:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "20470:248:7", + "src": "20467:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "20480:26:7", + "src": "20477:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20492:9:7" + "src": "20489:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20503:2:7", + "src": "20500:2:7", "type": "", "value": "32" } @@ -10108,16 +10089,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20488:3:7" + "src": "20485:3:7" }, "nodeType": "YulFunctionCall", - "src": "20488:18:7" + "src": "20485:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20480:4:7" + "src": "20477:4:7" } ] }, @@ -10129,12 +10110,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20527:9:7" + "src": "20524:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20538:1:7", + "src": "20535:1:7", "type": "", "value": "0" } @@ -10142,68 +10123,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20523:3:7" + "src": "20520:3:7" }, "nodeType": "YulFunctionCall", - "src": "20523:17:7" + "src": "20520:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20546:4:7" + "src": "20543:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20552:9:7" + "src": "20549:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "20542:3:7" + "src": "20539:3:7" }, "nodeType": "YulFunctionCall", - "src": "20542:20:7" + "src": "20539:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20516:6:7" + "src": "20513:6:7" }, "nodeType": "YulFunctionCall", - "src": "20516:47:7" + "src": "20513:47:7" }, "nodeType": "YulExpressionStatement", - "src": "20516:47:7" + "src": "20513:47:7" }, { "nodeType": "YulAssignment", - "src": "20572:139:7", + "src": "20569:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20706:4:7" + "src": "20703:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_2732d2c4b1973101435ff00029da1f01595fa5c68264efd250e2329d1a7ddf72_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20580:124:7" + "src": "20577:124:7" }, "nodeType": "YulFunctionCall", - "src": "20580:131:7" + "src": "20577:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20572:4:7" + "src": "20569:4:7" } ] } @@ -10215,7 +10196,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20450:9:7", + "src": "20447:9:7", "type": "" } ], @@ -10223,16 +10204,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20465:4:7", + "src": "20462:4:7", "type": "" } ], - "src": "20299:419:7" + "src": "20296:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "20830:121:7", + "src": "20827:121:7", "statements": [ { "expression": { @@ -10242,12 +10223,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20852:6:7" + "src": "20849:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20860:1:7", + "src": "20857:1:7", "type": "", "value": "0" } @@ -10255,16 +10236,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20848:3:7" + "src": "20845:3:7" }, "nodeType": "YulFunctionCall", - "src": "20848:14:7" + "src": "20845:14:7" }, { "hexValue": "436c61696d426f78466163746f72793a20616464726573732063616e206e6f74", "kind": "string", "nodeType": "YulLiteral", - "src": "20864:34:7", + "src": "20861:34:7", "type": "", "value": "ClaimBoxFactory: address can not" } @@ -10272,13 +10253,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20841:6:7" + "src": "20838:6:7" }, "nodeType": "YulFunctionCall", - "src": "20841:58:7" + "src": "20838:58:7" }, "nodeType": "YulExpressionStatement", - "src": "20841:58:7" + "src": "20838:58:7" }, { "expression": { @@ -10288,12 +10269,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20920:6:7" + "src": "20917:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20928:2:7", + "src": "20925:2:7", "type": "", "value": "32" } @@ -10301,16 +10282,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20916:3:7" + "src": "20913:3:7" }, "nodeType": "YulFunctionCall", - "src": "20916:15:7" + "src": "20913:15:7" }, { "hexValue": "206265207a65726f", "kind": "string", "nodeType": "YulLiteral", - "src": "20933:10:7", + "src": "20930:10:7", "type": "", "value": " be zero" } @@ -10318,13 +10299,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20909:6:7" + "src": "20906:6:7" }, "nodeType": "YulFunctionCall", - "src": "20909:35:7" + "src": "20906:35:7" }, "nodeType": "YulExpressionStatement", - "src": "20909:35:7" + "src": "20906:35:7" } ] }, @@ -10334,31 +10315,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "20822:6:7", + "src": "20819:6:7", "type": "" } ], - "src": "20724:227:7" + "src": "20721:227:7" }, { "body": { "nodeType": "YulBlock", - "src": "21103:220:7", + "src": "21100:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "21113:74:7", + "src": "21110:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21179:3:7" + "src": "21176:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21184:2:7", + "src": "21181:2:7", "type": "", "value": "40" } @@ -10366,16 +10347,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21120:58:7" + "src": "21117:58:7" }, "nodeType": "YulFunctionCall", - "src": "21120:67:7" + "src": "21117:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21113:3:7" + "src": "21110:3:7" } ] }, @@ -10385,34 +10366,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21285:3:7" + "src": "21282:3:7" } ], "functionName": { "name": "store_literal_in_memory_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1", "nodeType": "YulIdentifier", - "src": "21196:88:7" + "src": "21193:88:7" }, "nodeType": "YulFunctionCall", - "src": "21196:93:7" + "src": "21193:93:7" }, "nodeType": "YulExpressionStatement", - "src": "21196:93:7" + "src": "21193:93:7" }, { "nodeType": "YulAssignment", - "src": "21298:19:7", + "src": "21295:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21309:3:7" + "src": "21306:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21314:2:7", + "src": "21311:2:7", "type": "", "value": "64" } @@ -10420,16 +10401,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21305:3:7" + "src": "21302:3:7" }, "nodeType": "YulFunctionCall", - "src": "21305:12:7" + "src": "21302:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "21298:3:7" + "src": "21295:3:7" } ] } @@ -10441,7 +10422,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "21091:3:7", + "src": "21088:3:7", "type": "" } ], @@ -10449,31 +10430,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "21099:3:7", + "src": "21096:3:7", "type": "" } ], - "src": "20957:366:7" + "src": "20954:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "21500:248:7", + "src": "21497:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "21510:26:7", + "src": "21507:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21522:9:7" + "src": "21519:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21533:2:7", + "src": "21530:2:7", "type": "", "value": "32" } @@ -10481,16 +10462,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21518:3:7" + "src": "21515:3:7" }, "nodeType": "YulFunctionCall", - "src": "21518:18:7" + "src": "21515:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21510:4:7" + "src": "21507:4:7" } ] }, @@ -10502,12 +10483,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21557:9:7" + "src": "21554:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21568:1:7", + "src": "21565:1:7", "type": "", "value": "0" } @@ -10515,68 +10496,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21553:3:7" + "src": "21550:3:7" }, "nodeType": "YulFunctionCall", - "src": "21553:17:7" + "src": "21550:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21576:4:7" + "src": "21573:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21582:9:7" + "src": "21579:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21572:3:7" + "src": "21569:3:7" }, "nodeType": "YulFunctionCall", - "src": "21572:20:7" + "src": "21569:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21546:6:7" + "src": "21543:6:7" }, "nodeType": "YulFunctionCall", - "src": "21546:47:7" + "src": "21543:47:7" }, "nodeType": "YulExpressionStatement", - "src": "21546:47:7" + "src": "21543:47:7" }, { "nodeType": "YulAssignment", - "src": "21602:139:7", + "src": "21599:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21736:4:7" + "src": "21733:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21610:124:7" + "src": "21607:124:7" }, "nodeType": "YulFunctionCall", - "src": "21610:131:7" + "src": "21607:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21602:4:7" + "src": "21599:4:7" } ] } @@ -10588,7 +10569,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21480:9:7", + "src": "21477:9:7", "type": "" } ], @@ -10596,16 +10577,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21495:4:7", + "src": "21492:4:7", "type": "" } ], - "src": "21329:419:7" + "src": "21326:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "21860:119:7", + "src": "21857:119:7", "statements": [ { "expression": { @@ -10615,12 +10596,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21882:6:7" + "src": "21879:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21890:1:7", + "src": "21887:1:7", "type": "", "value": "0" } @@ -10628,16 +10609,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21878:3:7" + "src": "21875:3:7" }, "nodeType": "YulFunctionCall", - "src": "21878:14:7" + "src": "21875:14:7" }, { "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", "kind": "string", "nodeType": "YulLiteral", - "src": "21894:34:7", + "src": "21891:34:7", "type": "", "value": "Ownable: new owner is the zero a" } @@ -10645,13 +10626,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21871:6:7" + "src": "21868:6:7" }, "nodeType": "YulFunctionCall", - "src": "21871:58:7" + "src": "21868:58:7" }, "nodeType": "YulExpressionStatement", - "src": "21871:58:7" + "src": "21868:58:7" }, { "expression": { @@ -10661,12 +10642,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21950:6:7" + "src": "21947:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21958:2:7", + "src": "21955:2:7", "type": "", "value": "32" } @@ -10674,16 +10655,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21946:3:7" + "src": "21943:3:7" }, "nodeType": "YulFunctionCall", - "src": "21946:15:7" + "src": "21943:15:7" }, { "hexValue": "646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "21963:8:7", + "src": "21960:8:7", "type": "", "value": "ddress" } @@ -10691,13 +10672,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21939:6:7" + "src": "21936:6:7" }, "nodeType": "YulFunctionCall", - "src": "21939:33:7" + "src": "21936:33:7" }, "nodeType": "YulExpressionStatement", - "src": "21939:33:7" + "src": "21936:33:7" } ] }, @@ -10707,31 +10688,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "21852:6:7", + "src": "21849:6:7", "type": "" } ], - "src": "21754:225:7" + "src": "21751:225:7" }, { "body": { "nodeType": "YulBlock", - "src": "22131:220:7", + "src": "22128:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "22141:74:7", + "src": "22138:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22207:3:7" + "src": "22204:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22212:2:7", + "src": "22209:2:7", "type": "", "value": "38" } @@ -10739,16 +10720,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22148:58:7" + "src": "22145:58:7" }, "nodeType": "YulFunctionCall", - "src": "22148:67:7" + "src": "22145:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22141:3:7" + "src": "22138:3:7" } ] }, @@ -10758,34 +10739,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22313:3:7" + "src": "22310:3:7" } ], "functionName": { "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", "nodeType": "YulIdentifier", - "src": "22224:88:7" + "src": "22221:88:7" }, "nodeType": "YulFunctionCall", - "src": "22224:93:7" + "src": "22221:93:7" }, "nodeType": "YulExpressionStatement", - "src": "22224:93:7" + "src": "22221:93:7" }, { "nodeType": "YulAssignment", - "src": "22326:19:7", + "src": "22323:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22337:3:7" + "src": "22334:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22342:2:7", + "src": "22339:2:7", "type": "", "value": "64" } @@ -10793,16 +10774,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22333:3:7" + "src": "22330:3:7" }, "nodeType": "YulFunctionCall", - "src": "22333:12:7" + "src": "22330:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "22326:3:7" + "src": "22323:3:7" } ] } @@ -10814,7 +10795,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "22119:3:7", + "src": "22116:3:7", "type": "" } ], @@ -10822,31 +10803,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "22127:3:7", + "src": "22124:3:7", "type": "" } ], - "src": "21985:366:7" + "src": "21982:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "22528:248:7", + "src": "22525:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "22538:26:7", + "src": "22535:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22550:9:7" + "src": "22547:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22561:2:7", + "src": "22558:2:7", "type": "", "value": "32" } @@ -10854,16 +10835,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22546:3:7" + "src": "22543:3:7" }, "nodeType": "YulFunctionCall", - "src": "22546:18:7" + "src": "22543:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22538:4:7" + "src": "22535:4:7" } ] }, @@ -10875,12 +10856,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22585:9:7" + "src": "22582:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22596:1:7", + "src": "22593:1:7", "type": "", "value": "0" } @@ -10888,68 +10869,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22581:3:7" + "src": "22578:3:7" }, "nodeType": "YulFunctionCall", - "src": "22581:17:7" + "src": "22578:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22604:4:7" + "src": "22601:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22610:9:7" + "src": "22607:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "22600:3:7" + "src": "22597:3:7" }, "nodeType": "YulFunctionCall", - "src": "22600:20:7" + "src": "22597:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22574:6:7" + "src": "22571:6:7" }, "nodeType": "YulFunctionCall", - "src": "22574:47:7" + "src": "22571:47:7" }, "nodeType": "YulExpressionStatement", - "src": "22574:47:7" + "src": "22571:47:7" }, { "nodeType": "YulAssignment", - "src": "22630:139:7", + "src": "22627:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22764:4:7" + "src": "22761:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22638:124:7" + "src": "22635:124:7" }, "nodeType": "YulFunctionCall", - "src": "22638:131:7" + "src": "22635:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22630:4:7" + "src": "22627:4:7" } ] } @@ -10961,7 +10942,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22508:9:7", + "src": "22505:9:7", "type": "" } ], @@ -10969,30 +10950,30 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22523:4:7", + "src": "22520:4:7", "type": "" } ], - "src": "22357:419:7" + "src": "22354:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "22896:34:7", + "src": "22893:34:7", "statements": [ { "nodeType": "YulAssignment", - "src": "22906:18:7", + "src": "22903:18:7", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "22921:3:7" + "src": "22918:3:7" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "22906:11:7" + "src": "22903:11:7" } ] } @@ -11004,13 +10985,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "22868:3:7", + "src": "22865:3:7", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "22873:6:7", + "src": "22870:6:7", "type": "" } ], @@ -11018,16 +10999,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "22884:11:7", + "src": "22881:11:7", "type": "" } ], - "src": "22782:148:7" + "src": "22779:148:7" }, { "body": { "nodeType": "YulBlock", - "src": "23042:108:7", + "src": "23039:108:7", "statements": [ { "expression": { @@ -11037,12 +11018,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23064:6:7" + "src": "23061:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23072:1:7", + "src": "23069:1:7", "type": "", "value": "0" } @@ -11050,15 +11031,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23060:3:7" + "src": "23057:3:7" }, "nodeType": "YulFunctionCall", - "src": "23060:14:7" + "src": "23057:14:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23076:66:7", + "src": "23073:66:7", "type": "", "value": "0x19457468657265756d205369676e6564204d6573736167653a0a333200000000" } @@ -11066,13 +11047,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23053:6:7" + "src": "23050:6:7" }, "nodeType": "YulFunctionCall", - "src": "23053:90:7" + "src": "23050:90:7" }, "nodeType": "YulExpressionStatement", - "src": "23053:90:7" + "src": "23050:90:7" } ] }, @@ -11082,31 +11063,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "23034:6:7", + "src": "23031:6:7", "type": "" } ], - "src": "22936:214:7" + "src": "22933:214:7" }, { "body": { "nodeType": "YulBlock", - "src": "23320:238:7", + "src": "23317:238:7", "statements": [ { "nodeType": "YulAssignment", - "src": "23330:92:7", + "src": "23327:92:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23414:3:7" + "src": "23411:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23419:2:7", + "src": "23416:2:7", "type": "", "value": "28" } @@ -11114,16 +11095,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "23337:76:7" + "src": "23334:76:7" }, "nodeType": "YulFunctionCall", - "src": "23337:85:7" + "src": "23334:85:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23330:3:7" + "src": "23327:3:7" } ] }, @@ -11133,34 +11114,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23520:3:7" + "src": "23517:3:7" } ], "functionName": { "name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", "nodeType": "YulIdentifier", - "src": "23431:88:7" + "src": "23428:88:7" }, "nodeType": "YulFunctionCall", - "src": "23431:93:7" + "src": "23428:93:7" }, "nodeType": "YulExpressionStatement", - "src": "23431:93:7" + "src": "23428:93:7" }, { "nodeType": "YulAssignment", - "src": "23533:19:7", + "src": "23530:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23544:3:7" + "src": "23541:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23549:2:7", + "src": "23546:2:7", "type": "", "value": "28" } @@ -11168,16 +11149,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23540:3:7" + "src": "23537:3:7" }, "nodeType": "YulFunctionCall", - "src": "23540:12:7" + "src": "23537:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "23533:3:7" + "src": "23530:3:7" } ] } @@ -11189,7 +11170,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "23308:3:7", + "src": "23305:3:7", "type": "" } ], @@ -11197,30 +11178,30 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "23316:3:7", + "src": "23313:3:7", "type": "" } ], - "src": "23156:402:7" + "src": "23153:402:7" }, { "body": { "nodeType": "YulBlock", - "src": "23611:32:7", + "src": "23608:32:7", "statements": [ { "nodeType": "YulAssignment", - "src": "23621:16:7", + "src": "23618:16:7", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "23632:5:7" + "src": "23629:5:7" }, "variableNames": [ { "name": "aligned", "nodeType": "YulIdentifier", - "src": "23621:7:7" + "src": "23618:7:7" } ] } @@ -11232,7 +11213,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "23593:5:7", + "src": "23590:5:7", "type": "" } ], @@ -11240,16 +11221,16 @@ { "name": "aligned", "nodeType": "YulTypedName", - "src": "23603:7:7", + "src": "23600:7:7", "type": "" } ], - "src": "23564:79:7" + "src": "23561:79:7" }, { "body": { "nodeType": "YulBlock", - "src": "23732:74:7", + "src": "23729:74:7", "statements": [ { "expression": { @@ -11257,7 +11238,7 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23749:3:7" + "src": "23746:3:7" }, { "arguments": [ @@ -11266,37 +11247,37 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "23792:5:7" + "src": "23789:5:7" } ], "functionName": { "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "23774:17:7" + "src": "23771:17:7" }, "nodeType": "YulFunctionCall", - "src": "23774:24:7" + "src": "23771:24:7" } ], "functionName": { "name": "leftAlign_t_bytes32", "nodeType": "YulIdentifier", - "src": "23754:19:7" + "src": "23751:19:7" }, "nodeType": "YulFunctionCall", - "src": "23754:45:7" + "src": "23751:45:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23742:6:7" + "src": "23739:6:7" }, "nodeType": "YulFunctionCall", - "src": "23742:58:7" + "src": "23739:58:7" }, "nodeType": "YulExpressionStatement", - "src": "23742:58:7" + "src": "23739:58:7" } ] }, @@ -11306,47 +11287,47 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "23720:5:7", + "src": "23717:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "23727:3:7", + "src": "23724:3:7", "type": "" } ], - "src": "23649:157:7" + "src": "23646:157:7" }, { "body": { "nodeType": "YulBlock", - "src": "24029:305:7", + "src": "24026:305:7", "statements": [ { "nodeType": "YulAssignment", - "src": "24040:155:7", + "src": "24037:155:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24191:3:7" + "src": "24188:3:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "24047:142:7" + "src": "24044:142:7" }, "nodeType": "YulFunctionCall", - "src": "24047:148:7" + "src": "24044:148:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24040:3:7" + "src": "24037:3:7" } ] }, @@ -11356,39 +11337,39 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "24267:6:7" + "src": "24264:6:7" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "24276:3:7" + "src": "24273:3:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "24205:61:7" + "src": "24202:61:7" }, "nodeType": "YulFunctionCall", - "src": "24205:75:7" + "src": "24202:75:7" }, "nodeType": "YulExpressionStatement", - "src": "24205:75:7" + "src": "24202:75:7" }, { "nodeType": "YulAssignment", - "src": "24289:19:7", + "src": "24286:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24300:3:7" + "src": "24297:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24305:2:7", + "src": "24302:2:7", "type": "", "value": "32" } @@ -11396,32 +11377,32 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24296:3:7" + "src": "24293:3:7" }, "nodeType": "YulFunctionCall", - "src": "24296:12:7" + "src": "24293:12:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24289:3:7" + "src": "24286:3:7" } ] }, { "nodeType": "YulAssignment", - "src": "24318:10:7", + "src": "24315:10:7", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "24325:3:7" + "src": "24322:3:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "24318:3:7" + "src": "24315:3:7" } ] } @@ -11433,13 +11414,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "24008:3:7", + "src": "24005:3:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "24014:6:7", + "src": "24011:6:7", "type": "" } ], @@ -11447,16 +11428,16 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "24025:3:7", + "src": "24022:3:7", "type": "" } ], - "src": "23812:522:7" + "src": "23809:522:7" }, { "body": { "nodeType": "YulBlock", - "src": "24368:152:7", + "src": "24365:152:7", "statements": [ { "expression": { @@ -11464,14 +11445,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24385:1:7", + "src": "24382:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24388:77:7", + "src": "24385:77:7", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -11479,13 +11460,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24378:6:7" + "src": "24375:6:7" }, "nodeType": "YulFunctionCall", - "src": "24378:88:7" + "src": "24375:88:7" }, "nodeType": "YulExpressionStatement", - "src": "24378:88:7" + "src": "24375:88:7" }, { "expression": { @@ -11493,14 +11474,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24482:1:7", + "src": "24479:1:7", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24485:4:7", + "src": "24482:4:7", "type": "", "value": "0x21" } @@ -11508,13 +11489,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24475:6:7" + "src": "24472:6:7" }, "nodeType": "YulFunctionCall", - "src": "24475:15:7" + "src": "24472:15:7" }, "nodeType": "YulExpressionStatement", - "src": "24475:15:7" + "src": "24472:15:7" }, { "expression": { @@ -11522,14 +11503,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24506:1:7", + "src": "24503:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24509:4:7", + "src": "24506:4:7", "type": "", "value": "0x24" } @@ -11537,24 +11518,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "24499:6:7" + "src": "24496:6:7" }, "nodeType": "YulFunctionCall", - "src": "24499:15:7" + "src": "24496:15:7" }, "nodeType": "YulExpressionStatement", - "src": "24499:15:7" + "src": "24496:15:7" } ] }, "name": "panic_error_0x21", "nodeType": "YulFunctionDefinition", - "src": "24340:180:7" + "src": "24337:180:7" }, { "body": { "nodeType": "YulBlock", - "src": "24632:68:7", + "src": "24629:68:7", "statements": [ { "expression": { @@ -11564,12 +11545,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "24654:6:7" + "src": "24651:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24662:1:7", + "src": "24659:1:7", "type": "", "value": "0" } @@ -11577,16 +11558,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24650:3:7" + "src": "24647:3:7" }, "nodeType": "YulFunctionCall", - "src": "24650:14:7" + "src": "24647:14:7" }, { "hexValue": "45434453413a20696e76616c6964207369676e6174757265", "kind": "string", "nodeType": "YulLiteral", - "src": "24666:26:7", + "src": "24663:26:7", "type": "", "value": "ECDSA: invalid signature" } @@ -11594,13 +11575,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24643:6:7" + "src": "24640:6:7" }, "nodeType": "YulFunctionCall", - "src": "24643:50:7" + "src": "24640:50:7" }, "nodeType": "YulExpressionStatement", - "src": "24643:50:7" + "src": "24640:50:7" } ] }, @@ -11610,31 +11591,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "24624:6:7", + "src": "24621:6:7", "type": "" } ], - "src": "24526:174:7" + "src": "24523:174:7" }, { "body": { "nodeType": "YulBlock", - "src": "24852:220:7", + "src": "24849:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "24862:74:7", + "src": "24859:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24928:3:7" + "src": "24925:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24933:2:7", + "src": "24930:2:7", "type": "", "value": "24" } @@ -11642,16 +11623,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24869:58:7" + "src": "24866:58:7" }, "nodeType": "YulFunctionCall", - "src": "24869:67:7" + "src": "24866:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24862:3:7" + "src": "24859:3:7" } ] }, @@ -11661,34 +11642,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25034:3:7" + "src": "25031:3:7" } ], "functionName": { "name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", "nodeType": "YulIdentifier", - "src": "24945:88:7" + "src": "24942:88:7" }, "nodeType": "YulFunctionCall", - "src": "24945:93:7" + "src": "24942:93:7" }, "nodeType": "YulExpressionStatement", - "src": "24945:93:7" + "src": "24942:93:7" }, { "nodeType": "YulAssignment", - "src": "25047:19:7", + "src": "25044:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25058:3:7" + "src": "25055:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25063:2:7", + "src": "25060:2:7", "type": "", "value": "32" } @@ -11696,16 +11677,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25054:3:7" + "src": "25051:3:7" }, "nodeType": "YulFunctionCall", - "src": "25054:12:7" + "src": "25051:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "25047:3:7" + "src": "25044:3:7" } ] } @@ -11717,7 +11698,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "24840:3:7", + "src": "24837:3:7", "type": "" } ], @@ -11725,31 +11706,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "24848:3:7", + "src": "24845:3:7", "type": "" } ], - "src": "24706:366:7" + "src": "24703:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "25249:248:7", + "src": "25246:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "25259:26:7", + "src": "25256:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25271:9:7" + "src": "25268:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25282:2:7", + "src": "25279:2:7", "type": "", "value": "32" } @@ -11757,16 +11738,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25267:3:7" + "src": "25264:3:7" }, "nodeType": "YulFunctionCall", - "src": "25267:18:7" + "src": "25264:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25259:4:7" + "src": "25256:4:7" } ] }, @@ -11778,12 +11759,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25306:9:7" + "src": "25303:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25317:1:7", + "src": "25314:1:7", "type": "", "value": "0" } @@ -11791,68 +11772,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25302:3:7" + "src": "25299:3:7" }, "nodeType": "YulFunctionCall", - "src": "25302:17:7" + "src": "25299:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25325:4:7" + "src": "25322:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25331:9:7" + "src": "25328:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25321:3:7" + "src": "25318:3:7" }, "nodeType": "YulFunctionCall", - "src": "25321:20:7" + "src": "25318:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25295:6:7" + "src": "25292:6:7" }, "nodeType": "YulFunctionCall", - "src": "25295:47:7" + "src": "25292:47:7" }, "nodeType": "YulExpressionStatement", - "src": "25295:47:7" + "src": "25292:47:7" }, { "nodeType": "YulAssignment", - "src": "25351:139:7", + "src": "25348:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25485:4:7" + "src": "25482:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25359:124:7" + "src": "25356:124:7" }, "nodeType": "YulFunctionCall", - "src": "25359:131:7" + "src": "25356:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25351:4:7" + "src": "25348:4:7" } ] } @@ -11864,7 +11845,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "25229:9:7", + "src": "25226:9:7", "type": "" } ], @@ -11872,16 +11853,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "25244:4:7", + "src": "25241:4:7", "type": "" } ], - "src": "25078:419:7" + "src": "25075:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "25609:75:7", + "src": "25606:75:7", "statements": [ { "expression": { @@ -11891,12 +11872,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "25631:6:7" + "src": "25628:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25639:1:7", + "src": "25636:1:7", "type": "", "value": "0" } @@ -11904,16 +11885,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25627:3:7" + "src": "25624:3:7" }, "nodeType": "YulFunctionCall", - "src": "25627:14:7" + "src": "25624:14:7" }, { "hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", "kind": "string", "nodeType": "YulLiteral", - "src": "25643:33:7", + "src": "25640:33:7", "type": "", "value": "ECDSA: invalid signature length" } @@ -11921,13 +11902,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25620:6:7" + "src": "25617:6:7" }, "nodeType": "YulFunctionCall", - "src": "25620:57:7" + "src": "25617:57:7" }, "nodeType": "YulExpressionStatement", - "src": "25620:57:7" + "src": "25617:57:7" } ] }, @@ -11937,31 +11918,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "25601:6:7", + "src": "25598:6:7", "type": "" } ], - "src": "25503:181:7" + "src": "25500:181:7" }, { "body": { "nodeType": "YulBlock", - "src": "25836:220:7", + "src": "25833:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "25846:74:7", + "src": "25843:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25912:3:7" + "src": "25909:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25917:2:7", + "src": "25914:2:7", "type": "", "value": "31" } @@ -11969,16 +11950,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25853:58:7" + "src": "25850:58:7" }, "nodeType": "YulFunctionCall", - "src": "25853:67:7" + "src": "25850:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25846:3:7" + "src": "25843:3:7" } ] }, @@ -11988,34 +11969,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26018:3:7" + "src": "26015:3:7" } ], "functionName": { "name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", "nodeType": "YulIdentifier", - "src": "25929:88:7" + "src": "25926:88:7" }, "nodeType": "YulFunctionCall", - "src": "25929:93:7" + "src": "25926:93:7" }, "nodeType": "YulExpressionStatement", - "src": "25929:93:7" + "src": "25926:93:7" }, { "nodeType": "YulAssignment", - "src": "26031:19:7", + "src": "26028:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26042:3:7" + "src": "26039:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26047:2:7", + "src": "26044:2:7", "type": "", "value": "32" } @@ -12023,16 +12004,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26038:3:7" + "src": "26035:3:7" }, "nodeType": "YulFunctionCall", - "src": "26038:12:7" + "src": "26035:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "26031:3:7" + "src": "26028:3:7" } ] } @@ -12044,7 +12025,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "25824:3:7", + "src": "25821:3:7", "type": "" } ], @@ -12052,31 +12033,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "25832:3:7", + "src": "25829:3:7", "type": "" } ], - "src": "25690:366:7" + "src": "25687:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "26233:248:7", + "src": "26230:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "26243:26:7", + "src": "26240:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26255:9:7" + "src": "26252:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26266:2:7", + "src": "26263:2:7", "type": "", "value": "32" } @@ -12084,16 +12065,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26251:3:7" + "src": "26248:3:7" }, "nodeType": "YulFunctionCall", - "src": "26251:18:7" + "src": "26248:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26243:4:7" + "src": "26240:4:7" } ] }, @@ -12105,12 +12086,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26290:9:7" + "src": "26287:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26301:1:7", + "src": "26298:1:7", "type": "", "value": "0" } @@ -12118,68 +12099,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26286:3:7" + "src": "26283:3:7" }, "nodeType": "YulFunctionCall", - "src": "26286:17:7" + "src": "26283:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26309:4:7" + "src": "26306:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26315:9:7" + "src": "26312:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "26305:3:7" + "src": "26302:3:7" }, "nodeType": "YulFunctionCall", - "src": "26305:20:7" + "src": "26302:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26279:6:7" + "src": "26276:6:7" }, "nodeType": "YulFunctionCall", - "src": "26279:47:7" + "src": "26276:47:7" }, "nodeType": "YulExpressionStatement", - "src": "26279:47:7" + "src": "26276:47:7" }, { "nodeType": "YulAssignment", - "src": "26335:139:7", + "src": "26332:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26469:4:7" + "src": "26466:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26343:124:7" + "src": "26340:124:7" }, "nodeType": "YulFunctionCall", - "src": "26343:131:7" + "src": "26340:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26335:4:7" + "src": "26332:4:7" } ] } @@ -12191,7 +12172,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "26213:9:7", + "src": "26210:9:7", "type": "" } ], @@ -12199,16 +12180,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "26228:4:7", + "src": "26225:4:7", "type": "" } ], - "src": "26062:419:7" + "src": "26059:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "26593:115:7", + "src": "26590:115:7", "statements": [ { "expression": { @@ -12218,12 +12199,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26615:6:7" + "src": "26612:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26623:1:7", + "src": "26620:1:7", "type": "", "value": "0" } @@ -12231,16 +12212,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26611:3:7" + "src": "26608:3:7" }, "nodeType": "YulFunctionCall", - "src": "26611:14:7" + "src": "26608:14:7" }, { "hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c", "kind": "string", "nodeType": "YulLiteral", - "src": "26627:34:7", + "src": "26624:34:7", "type": "", "value": "ECDSA: invalid signature 's' val" } @@ -12248,13 +12229,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26604:6:7" + "src": "26601:6:7" }, "nodeType": "YulFunctionCall", - "src": "26604:58:7" + "src": "26601:58:7" }, "nodeType": "YulExpressionStatement", - "src": "26604:58:7" + "src": "26601:58:7" }, { "expression": { @@ -12264,12 +12245,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26683:6:7" + "src": "26680:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26691:2:7", + "src": "26688:2:7", "type": "", "value": "32" } @@ -12277,16 +12258,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26679:3:7" + "src": "26676:3:7" }, "nodeType": "YulFunctionCall", - "src": "26679:15:7" + "src": "26676:15:7" }, { "hexValue": "7565", "kind": "string", "nodeType": "YulLiteral", - "src": "26696:4:7", + "src": "26693:4:7", "type": "", "value": "ue" } @@ -12294,13 +12275,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26672:6:7" + "src": "26669:6:7" }, "nodeType": "YulFunctionCall", - "src": "26672:29:7" + "src": "26669:29:7" }, "nodeType": "YulExpressionStatement", - "src": "26672:29:7" + "src": "26669:29:7" } ] }, @@ -12310,31 +12291,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "26585:6:7", + "src": "26582:6:7", "type": "" } ], - "src": "26487:221:7" + "src": "26484:221:7" }, { "body": { "nodeType": "YulBlock", - "src": "26860:220:7", + "src": "26857:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "26870:74:7", + "src": "26867:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26936:3:7" + "src": "26933:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26941:2:7", + "src": "26938:2:7", "type": "", "value": "34" } @@ -12342,16 +12323,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26877:58:7" + "src": "26874:58:7" }, "nodeType": "YulFunctionCall", - "src": "26877:67:7" + "src": "26874:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26870:3:7" + "src": "26867:3:7" } ] }, @@ -12361,34 +12342,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27042:3:7" + "src": "27039:3:7" } ], "functionName": { "name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", "nodeType": "YulIdentifier", - "src": "26953:88:7" + "src": "26950:88:7" }, "nodeType": "YulFunctionCall", - "src": "26953:93:7" + "src": "26950:93:7" }, "nodeType": "YulExpressionStatement", - "src": "26953:93:7" + "src": "26950:93:7" }, { "nodeType": "YulAssignment", - "src": "27055:19:7", + "src": "27052:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27066:3:7" + "src": "27063:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27071:2:7", + "src": "27068:2:7", "type": "", "value": "64" } @@ -12396,16 +12377,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27062:3:7" + "src": "27059:3:7" }, "nodeType": "YulFunctionCall", - "src": "27062:12:7" + "src": "27059:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "27055:3:7" + "src": "27052:3:7" } ] } @@ -12417,7 +12398,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "26848:3:7", + "src": "26845:3:7", "type": "" } ], @@ -12425,31 +12406,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "26856:3:7", + "src": "26853:3:7", "type": "" } ], - "src": "26714:366:7" + "src": "26711:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "27257:248:7", + "src": "27254:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "27267:26:7", + "src": "27264:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27279:9:7" + "src": "27276:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27290:2:7", + "src": "27287:2:7", "type": "", "value": "32" } @@ -12457,16 +12438,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27275:3:7" + "src": "27272:3:7" }, "nodeType": "YulFunctionCall", - "src": "27275:18:7" + "src": "27272:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27267:4:7" + "src": "27264:4:7" } ] }, @@ -12478,12 +12459,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27314:9:7" + "src": "27311:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27325:1:7", + "src": "27322:1:7", "type": "", "value": "0" } @@ -12491,68 +12472,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27310:3:7" + "src": "27307:3:7" }, "nodeType": "YulFunctionCall", - "src": "27310:17:7" + "src": "27307:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27333:4:7" + "src": "27330:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27339:9:7" + "src": "27336:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "27329:3:7" + "src": "27326:3:7" }, "nodeType": "YulFunctionCall", - "src": "27329:20:7" + "src": "27326:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27303:6:7" + "src": "27300:6:7" }, "nodeType": "YulFunctionCall", - "src": "27303:47:7" + "src": "27300:47:7" }, "nodeType": "YulExpressionStatement", - "src": "27303:47:7" + "src": "27300:47:7" }, { "nodeType": "YulAssignment", - "src": "27359:139:7", + "src": "27356:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27493:4:7" + "src": "27490:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27367:124:7" + "src": "27364:124:7" }, "nodeType": "YulFunctionCall", - "src": "27367:131:7" + "src": "27364:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27359:4:7" + "src": "27356:4:7" } ] } @@ -12564,7 +12545,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "27237:9:7", + "src": "27234:9:7", "type": "" } ], @@ -12572,16 +12553,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "27252:4:7", + "src": "27249:4:7", "type": "" } ], - "src": "27086:419:7" + "src": "27083:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "27617:115:7", + "src": "27614:115:7", "statements": [ { "expression": { @@ -12591,12 +12572,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "27639:6:7" + "src": "27636:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27647:1:7", + "src": "27644:1:7", "type": "", "value": "0" } @@ -12604,16 +12585,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27635:3:7" + "src": "27632:3:7" }, "nodeType": "YulFunctionCall", - "src": "27635:14:7" + "src": "27632:14:7" }, { "hexValue": "45434453413a20696e76616c6964207369676e6174757265202776272076616c", "kind": "string", "nodeType": "YulLiteral", - "src": "27651:34:7", + "src": "27648:34:7", "type": "", "value": "ECDSA: invalid signature 'v' val" } @@ -12621,13 +12602,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27628:6:7" + "src": "27625:6:7" }, "nodeType": "YulFunctionCall", - "src": "27628:58:7" + "src": "27625:58:7" }, "nodeType": "YulExpressionStatement", - "src": "27628:58:7" + "src": "27625:58:7" }, { "expression": { @@ -12637,12 +12618,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "27707:6:7" + "src": "27704:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27715:2:7", + "src": "27712:2:7", "type": "", "value": "32" } @@ -12650,16 +12631,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27703:3:7" + "src": "27700:3:7" }, "nodeType": "YulFunctionCall", - "src": "27703:15:7" + "src": "27700:15:7" }, { "hexValue": "7565", "kind": "string", "nodeType": "YulLiteral", - "src": "27720:4:7", + "src": "27717:4:7", "type": "", "value": "ue" } @@ -12667,13 +12648,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27696:6:7" + "src": "27693:6:7" }, "nodeType": "YulFunctionCall", - "src": "27696:29:7" + "src": "27693:29:7" }, "nodeType": "YulExpressionStatement", - "src": "27696:29:7" + "src": "27693:29:7" } ] }, @@ -12683,31 +12664,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "27609:6:7", + "src": "27606:6:7", "type": "" } ], - "src": "27511:221:7" + "src": "27508:221:7" }, { "body": { "nodeType": "YulBlock", - "src": "27884:220:7", + "src": "27881:220:7", "statements": [ { "nodeType": "YulAssignment", - "src": "27894:74:7", + "src": "27891:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27960:3:7" + "src": "27957:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27965:2:7", + "src": "27962:2:7", "type": "", "value": "34" } @@ -12715,16 +12696,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27901:58:7" + "src": "27898:58:7" }, "nodeType": "YulFunctionCall", - "src": "27901:67:7" + "src": "27898:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27894:3:7" + "src": "27891:3:7" } ] }, @@ -12734,34 +12715,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28066:3:7" + "src": "28063:3:7" } ], "functionName": { "name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", "nodeType": "YulIdentifier", - "src": "27977:88:7" + "src": "27974:88:7" }, "nodeType": "YulFunctionCall", - "src": "27977:93:7" + "src": "27974:93:7" }, "nodeType": "YulExpressionStatement", - "src": "27977:93:7" + "src": "27974:93:7" }, { "nodeType": "YulAssignment", - "src": "28079:19:7", + "src": "28076:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28090:3:7" + "src": "28087:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28095:2:7", + "src": "28092:2:7", "type": "", "value": "64" } @@ -12769,16 +12750,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28086:3:7" + "src": "28083:3:7" }, "nodeType": "YulFunctionCall", - "src": "28086:12:7" + "src": "28083:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "28079:3:7" + "src": "28076:3:7" } ] } @@ -12790,7 +12771,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "27872:3:7", + "src": "27869:3:7", "type": "" } ], @@ -12798,31 +12779,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "27880:3:7", + "src": "27877:3:7", "type": "" } ], - "src": "27738:366:7" + "src": "27735:366:7" }, { "body": { "nodeType": "YulBlock", - "src": "28281:248:7", + "src": "28278:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "28291:26:7", + "src": "28288:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28303:9:7" + "src": "28300:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28314:2:7", + "src": "28311:2:7", "type": "", "value": "32" } @@ -12830,16 +12811,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28299:3:7" + "src": "28296:3:7" }, "nodeType": "YulFunctionCall", - "src": "28299:18:7" + "src": "28296:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28291:4:7" + "src": "28288:4:7" } ] }, @@ -12851,12 +12832,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28338:9:7" + "src": "28335:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28349:1:7", + "src": "28346:1:7", "type": "", "value": "0" } @@ -12864,68 +12845,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28334:3:7" + "src": "28331:3:7" }, "nodeType": "YulFunctionCall", - "src": "28334:17:7" + "src": "28331:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28357:4:7" + "src": "28354:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28363:9:7" + "src": "28360:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "28353:3:7" + "src": "28350:3:7" }, "nodeType": "YulFunctionCall", - "src": "28353:20:7" + "src": "28350:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28327:6:7" + "src": "28324:6:7" }, "nodeType": "YulFunctionCall", - "src": "28327:47:7" + "src": "28324:47:7" }, "nodeType": "YulExpressionStatement", - "src": "28327:47:7" + "src": "28324:47:7" }, { "nodeType": "YulAssignment", - "src": "28383:139:7", + "src": "28380:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28517:4:7" + "src": "28514:4:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "28391:124:7" + "src": "28388:124:7" }, "nodeType": "YulFunctionCall", - "src": "28391:131:7" + "src": "28388:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28383:4:7" + "src": "28380:4:7" } ] } @@ -12937,7 +12918,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "28261:9:7", + "src": "28258:9:7", "type": "" } ], @@ -12945,16 +12926,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "28276:4:7", + "src": "28273:4:7", "type": "" } ], - "src": "28110:419:7" + "src": "28107:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "28641:108:7", + "src": "28638:108:7", "statements": [ { "expression": { @@ -12964,12 +12945,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "28663:6:7" + "src": "28660:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28671:1:7", + "src": "28668:1:7", "type": "", "value": "0" } @@ -12977,15 +12958,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28659:3:7" + "src": "28656:3:7" }, "nodeType": "YulFunctionCall", - "src": "28659:14:7" + "src": "28656:14:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28675:66:7", + "src": "28672:66:7", "type": "", "value": "0x1901000000000000000000000000000000000000000000000000000000000000" } @@ -12993,13 +12974,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28652:6:7" + "src": "28649:6:7" }, "nodeType": "YulFunctionCall", - "src": "28652:90:7" + "src": "28649:90:7" }, "nodeType": "YulExpressionStatement", - "src": "28652:90:7" + "src": "28649:90:7" } ] }, @@ -13009,31 +12990,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "28633:6:7", + "src": "28630:6:7", "type": "" } ], - "src": "28535:214:7" + "src": "28532:214:7" }, { "body": { "nodeType": "YulBlock", - "src": "28919:236:7", + "src": "28916:236:7", "statements": [ { "nodeType": "YulAssignment", - "src": "28929:91:7", + "src": "28926:91:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29013:3:7" + "src": "29010:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29018:1:7", + "src": "29015:1:7", "type": "", "value": "2" } @@ -13041,16 +13022,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "28936:76:7" + "src": "28933:76:7" }, "nodeType": "YulFunctionCall", - "src": "28936:84:7" + "src": "28933:84:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28929:3:7" + "src": "28926:3:7" } ] }, @@ -13060,34 +13041,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29118:3:7" + "src": "29115:3:7" } ], "functionName": { "name": "store_literal_in_memory_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", "nodeType": "YulIdentifier", - "src": "29029:88:7" + "src": "29026:88:7" }, "nodeType": "YulFunctionCall", - "src": "29029:93:7" + "src": "29026:93:7" }, "nodeType": "YulExpressionStatement", - "src": "29029:93:7" + "src": "29026:93:7" }, { "nodeType": "YulAssignment", - "src": "29131:18:7", + "src": "29128:18:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29142:3:7" + "src": "29139:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29147:1:7", + "src": "29144:1:7", "type": "", "value": "2" } @@ -13095,16 +13076,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29138:3:7" + "src": "29135:3:7" }, "nodeType": "YulFunctionCall", - "src": "29138:11:7" + "src": "29135:11:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "29131:3:7" + "src": "29128:3:7" } ] } @@ -13116,7 +13097,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "28907:3:7", + "src": "28904:3:7", "type": "" } ], @@ -13124,41 +13105,41 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "28915:3:7", + "src": "28912:3:7", "type": "" } ], - "src": "28755:400:7" + "src": "28752:400:7" }, { "body": { "nodeType": "YulBlock", - "src": "29406:418:7", + "src": "29403:418:7", "statements": [ { "nodeType": "YulAssignment", - "src": "29417:155:7", + "src": "29414:155:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29568:3:7" + "src": "29565:3:7" } ], "functionName": { "name": "abi_encode_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "29424:142:7" + "src": "29421:142:7" }, "nodeType": "YulFunctionCall", - "src": "29424:148:7" + "src": "29421:148:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29417:3:7" + "src": "29414:3:7" } ] }, @@ -13168,39 +13149,39 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "29644:6:7" + "src": "29641:6:7" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "29653:3:7" + "src": "29650:3:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "29582:61:7" + "src": "29579:61:7" }, "nodeType": "YulFunctionCall", - "src": "29582:75:7" + "src": "29579:75:7" }, "nodeType": "YulExpressionStatement", - "src": "29582:75:7" + "src": "29579:75:7" }, { "nodeType": "YulAssignment", - "src": "29666:19:7", + "src": "29663:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29677:3:7" + "src": "29674:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29682:2:7", + "src": "29679:2:7", "type": "", "value": "32" } @@ -13208,16 +13189,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29673:3:7" + "src": "29670:3:7" }, "nodeType": "YulFunctionCall", - "src": "29673:12:7" + "src": "29670:12:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29666:3:7" + "src": "29663:3:7" } ] }, @@ -13227,39 +13208,39 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "29757:6:7" + "src": "29754:6:7" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "29766:3:7" + "src": "29763:3:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "29695:61:7" + "src": "29692:61:7" }, "nodeType": "YulFunctionCall", - "src": "29695:75:7" + "src": "29692:75:7" }, "nodeType": "YulExpressionStatement", - "src": "29695:75:7" + "src": "29692:75:7" }, { "nodeType": "YulAssignment", - "src": "29779:19:7", + "src": "29776:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29790:3:7" + "src": "29787:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29795:2:7", + "src": "29792:2:7", "type": "", "value": "32" } @@ -13267,32 +13248,32 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29786:3:7" + "src": "29783:3:7" }, "nodeType": "YulFunctionCall", - "src": "29786:12:7" + "src": "29783:12:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29779:3:7" + "src": "29776:3:7" } ] }, { "nodeType": "YulAssignment", - "src": "29808:10:7", + "src": "29805:10:7", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "29815:3:7" + "src": "29812:3:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "29808:3:7" + "src": "29805:3:7" } ] } @@ -13304,19 +13285,19 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "29377:3:7", + "src": "29374:3:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "29383:6:7", + "src": "29380:6:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "29391:6:7", + "src": "29388:6:7", "type": "" } ], @@ -13324,31 +13305,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "29402:3:7", + "src": "29399:3:7", "type": "" } ], - "src": "29161:663:7" + "src": "29158:663:7" }, { "body": { "nodeType": "YulBlock", - "src": "29873:43:7", + "src": "29870:43:7", "statements": [ { "nodeType": "YulAssignment", - "src": "29883:27:7", + "src": "29880:27:7", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "29898:5:7" + "src": "29895:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29905:4:7", + "src": "29902:4:7", "type": "", "value": "0xff" } @@ -13356,16 +13337,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "29894:3:7" + "src": "29891:3:7" }, "nodeType": "YulFunctionCall", - "src": "29894:16:7" + "src": "29891:16:7" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "29883:7:7" + "src": "29880:7:7" } ] } @@ -13377,7 +13358,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "29855:5:7", + "src": "29852:5:7", "type": "" } ], @@ -13385,16 +13366,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "29865:7:7", + "src": "29862:7:7", "type": "" } ], - "src": "29830:86:7" + "src": "29827:86:7" }, { "body": { "nodeType": "YulBlock", - "src": "29983:51:7", + "src": "29980:51:7", "statements": [ { "expression": { @@ -13402,35 +13383,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30000:3:7" + "src": "29997:3:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "30021:5:7" + "src": "30018:5:7" } ], "functionName": { "name": "cleanup_t_uint8", "nodeType": "YulIdentifier", - "src": "30005:15:7" + "src": "30002:15:7" }, "nodeType": "YulFunctionCall", - "src": "30005:22:7" + "src": "30002:22:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29993:6:7" + "src": "29990:6:7" }, "nodeType": "YulFunctionCall", - "src": "29993:35:7" + "src": "29990:35:7" }, "nodeType": "YulExpressionStatement", - "src": "29993:35:7" + "src": "29990:35:7" } ] }, @@ -13440,37 +13421,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "29971:5:7", + "src": "29968:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "29978:3:7", + "src": "29975:3:7", "type": "" } ], - "src": "29922:112:7" + "src": "29919:112:7" }, { "body": { "nodeType": "YulBlock", - "src": "30218:367:7", + "src": "30215:367:7", "statements": [ { "nodeType": "YulAssignment", - "src": "30228:27:7", + "src": "30225:27:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30240:9:7" + "src": "30237:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30251:3:7", + "src": "30248:3:7", "type": "", "value": "128" } @@ -13478,16 +13459,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30236:3:7" + "src": "30233:3:7" }, "nodeType": "YulFunctionCall", - "src": "30236:19:7" + "src": "30233:19:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30228:4:7" + "src": "30225:4:7" } ] }, @@ -13497,19 +13478,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "30309:6:7" + "src": "30306:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30322:9:7" + "src": "30319:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30333:1:7", + "src": "30330:1:7", "type": "", "value": "0" } @@ -13517,22 +13498,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30318:3:7" + "src": "30315:3:7" }, "nodeType": "YulFunctionCall", - "src": "30318:17:7" + "src": "30315:17:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30265:43:7" + "src": "30262:43:7" }, "nodeType": "YulFunctionCall", - "src": "30265:71:7" + "src": "30262:71:7" }, "nodeType": "YulExpressionStatement", - "src": "30265:71:7" + "src": "30262:71:7" }, { "expression": { @@ -13540,19 +13521,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "30386:6:7" + "src": "30383:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30399:9:7" + "src": "30396:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30410:2:7", + "src": "30407:2:7", "type": "", "value": "32" } @@ -13560,22 +13541,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30395:3:7" + "src": "30392:3:7" }, "nodeType": "YulFunctionCall", - "src": "30395:18:7" + "src": "30392:18:7" } ], "functionName": { "name": "abi_encode_t_uint8_to_t_uint8_fromStack", "nodeType": "YulIdentifier", - "src": "30346:39:7" + "src": "30343:39:7" }, "nodeType": "YulFunctionCall", - "src": "30346:68:7" + "src": "30343:68:7" }, "nodeType": "YulExpressionStatement", - "src": "30346:68:7" + "src": "30343:68:7" }, { "expression": { @@ -13583,19 +13564,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "30468:6:7" + "src": "30465:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30481:9:7" + "src": "30478:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30492:2:7", + "src": "30489:2:7", "type": "", "value": "64" } @@ -13603,22 +13584,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30477:3:7" + "src": "30474:3:7" }, "nodeType": "YulFunctionCall", - "src": "30477:18:7" + "src": "30474:18:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30424:43:7" + "src": "30421:43:7" }, "nodeType": "YulFunctionCall", - "src": "30424:72:7" + "src": "30421:72:7" }, "nodeType": "YulExpressionStatement", - "src": "30424:72:7" + "src": "30421:72:7" }, { "expression": { @@ -13626,19 +13607,19 @@ { "name": "value3", "nodeType": "YulIdentifier", - "src": "30550:6:7" + "src": "30547:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30563:9:7" + "src": "30560:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30574:2:7", + "src": "30571:2:7", "type": "", "value": "96" } @@ -13646,22 +13627,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30559:3:7" + "src": "30556:3:7" }, "nodeType": "YulFunctionCall", - "src": "30559:18:7" + "src": "30556:18:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30506:43:7" + "src": "30503:43:7" }, "nodeType": "YulFunctionCall", - "src": "30506:72:7" + "src": "30503:72:7" }, "nodeType": "YulExpressionStatement", - "src": "30506:72:7" + "src": "30503:72:7" } ] }, @@ -13671,31 +13652,31 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "30166:9:7", + "src": "30163:9:7", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "30178:6:7", + "src": "30175:6:7", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "30186:6:7", + "src": "30183:6:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "30194:6:7", + "src": "30191:6:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "30202:6:7", + "src": "30199:6:7", "type": "" } ], @@ -13703,31 +13684,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "30213:4:7", + "src": "30210:4:7", "type": "" } ], - "src": "30040:545:7" + "src": "30037:545:7" }, { "body": { "nodeType": "YulBlock", - "src": "30801:454:7", + "src": "30798:454:7", "statements": [ { "nodeType": "YulAssignment", - "src": "30811:27:7", + "src": "30808:27:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30823:9:7" + "src": "30820:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30834:3:7", + "src": "30831:3:7", "type": "", "value": "160" } @@ -13735,16 +13716,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30819:3:7" + "src": "30816:3:7" }, "nodeType": "YulFunctionCall", - "src": "30819:19:7" + "src": "30816:19:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30811:4:7" + "src": "30808:4:7" } ] }, @@ -13754,19 +13735,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "30892:6:7" + "src": "30889:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30905:9:7" + "src": "30902:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30916:1:7", + "src": "30913:1:7", "type": "", "value": "0" } @@ -13774,22 +13755,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30901:3:7" + "src": "30898:3:7" }, "nodeType": "YulFunctionCall", - "src": "30901:17:7" + "src": "30898:17:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30848:43:7" + "src": "30845:43:7" }, "nodeType": "YulFunctionCall", - "src": "30848:71:7" + "src": "30845:71:7" }, "nodeType": "YulExpressionStatement", - "src": "30848:71:7" + "src": "30845:71:7" }, { "expression": { @@ -13797,19 +13778,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "30973:6:7" + "src": "30970:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30986:9:7" + "src": "30983:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30997:2:7", + "src": "30994:2:7", "type": "", "value": "32" } @@ -13817,22 +13798,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30982:3:7" + "src": "30979:3:7" }, "nodeType": "YulFunctionCall", - "src": "30982:18:7" + "src": "30979:18:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "30929:43:7" + "src": "30926:43:7" }, "nodeType": "YulFunctionCall", - "src": "30929:72:7" + "src": "30926:72:7" }, "nodeType": "YulExpressionStatement", - "src": "30929:72:7" + "src": "30926:72:7" }, { "expression": { @@ -13840,19 +13821,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "31055:6:7" + "src": "31052:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31068:9:7" + "src": "31065:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31079:2:7", + "src": "31076:2:7", "type": "", "value": "64" } @@ -13860,22 +13841,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31064:3:7" + "src": "31061:3:7" }, "nodeType": "YulFunctionCall", - "src": "31064:18:7" + "src": "31061:18:7" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "31011:43:7" + "src": "31008:43:7" }, "nodeType": "YulFunctionCall", - "src": "31011:72:7" + "src": "31008:72:7" }, "nodeType": "YulExpressionStatement", - "src": "31011:72:7" + "src": "31008:72:7" }, { "expression": { @@ -13883,19 +13864,19 @@ { "name": "value3", "nodeType": "YulIdentifier", - "src": "31137:6:7" + "src": "31134:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31150:9:7" + "src": "31147:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31161:2:7", + "src": "31158:2:7", "type": "", "value": "96" } @@ -13903,22 +13884,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31146:3:7" + "src": "31143:3:7" }, "nodeType": "YulFunctionCall", - "src": "31146:18:7" + "src": "31143:18:7" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "31093:43:7" + "src": "31090:43:7" }, "nodeType": "YulFunctionCall", - "src": "31093:72:7" + "src": "31090:72:7" }, "nodeType": "YulExpressionStatement", - "src": "31093:72:7" + "src": "31090:72:7" }, { "expression": { @@ -13926,19 +13907,19 @@ { "name": "value4", "nodeType": "YulIdentifier", - "src": "31219:6:7" + "src": "31216:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31232:9:7" + "src": "31229:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31243:3:7", + "src": "31240:3:7", "type": "", "value": "128" } @@ -13946,22 +13927,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31228:3:7" + "src": "31225:3:7" }, "nodeType": "YulFunctionCall", - "src": "31228:19:7" + "src": "31225:19:7" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "31175:43:7" + "src": "31172:43:7" }, "nodeType": "YulFunctionCall", - "src": "31175:73:7" + "src": "31172:73:7" }, "nodeType": "YulExpressionStatement", - "src": "31175:73:7" + "src": "31172:73:7" } ] }, @@ -13971,37 +13952,37 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "30741:9:7", + "src": "30738:9:7", "type": "" }, { "name": "value4", "nodeType": "YulTypedName", - "src": "30753:6:7", + "src": "30750:6:7", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "30761:6:7", + "src": "30758:6:7", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "30769:6:7", + "src": "30766:6:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "30777:6:7", + "src": "30774:6:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "30785:6:7", + "src": "30782:6:7", "type": "" } ], @@ -14009,23 +13990,23 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "30796:4:7", + "src": "30793:4:7", "type": "" } ], - "src": "30591:664:7" + "src": "30588: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 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_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9(memPtr) {\n\n mstore(add(memPtr, 0), \"ClaimBoxFactory: you have claime\")\n\n mstore(add(memPtr, 32), \"d this NFT\")\n\n }\n\n function abi_encode_t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9__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_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9_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_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 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", "id": 7, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "209:1843:4:-:0;;;525: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;;;;209:1843: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;209:1843:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "209:1843:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;294:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1755:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1013:738;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;690:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;344:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2904:440:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1668:101:0;;;:::i;:::-;;582:104:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;840:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;667:87:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1036:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;528:91:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2556:344:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;267:23:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;294:46:4;;;;;;;;;;;;;;;;;;;;;;:::o;1755:295::-;1891:7;1906:20;1953:3;1964:8;1980:10;1998;1929:85;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1906:108;;2037:7;2027:18;;;;;;2020:25;;;1755:295;;;;;;:::o;1013:738::-;1156:9;;3420:15:5;3436:9;;3420:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3419:27;3404:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;1177:9:4::1;347:15:6;334:9;;327:4;:16;;;;:::i;:::-;:35;;312:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;1202:14:4::2;:26;1217:10;1202:26;;;;;;;;;;;;;;;;;;;;;;;;;1194:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1271:10;1284:12;:10;:12::i;:::-;1271:25;;1337:1;1317:12;:16;1330:2;1317:16;;;;;;;;;;;;;;;;:21;1302:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;1402:27;1432:82;1454:2;1464:10;1482:9;1499;1432:14;:82::i;:::-;1402:112;;1520:53;1532:8;;;;;;;;;;;1542:19;1563:9;;1520:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;:53::i;:::-;1579:15;1607:10;1597:26;;;1624:2;1597:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1579:48;;1633:24;1647:9;;1633:13;:24::i;:::-;1682:7;1663:12;:16;1676:2;1663:16;;;;;;;;;;;;;;;:26;;;;1727:9;1723:2;1700:46;;1711:10;1700:46;;;1738:7;1700:46;;;;;;:::i;:::-;;;;;;;;1188:563;;;3539:1:5::1;1013:738:4::0;;;;;;;:::o;690:108::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;788:5:4::1;761:14;:24;776:8;761:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;690:108:::0;:::o;344: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;582:104:4:-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;677:4:4::1;650:14;:24;665:8;650:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;582:104:::0;:::o;840:169::-;1259:12:0;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;933:1:4::1;914:21;;:7;:21;;;;906:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;997:7;986:8;;:18;;;;;;;;;;;;;;;;;;840: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;267: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:229::-;15412:34;15408:1;15400:6;15396:14;15389:58;15481:12;15476:2;15468:6;15464:15;15457:37;15272:229;:::o;15507:366::-;15649:3;15670:67;15734:2;15729:3;15670:67;:::i;:::-;15663:74;;15746:93;15835:3;15746:93;:::i;:::-;15864:2;15859:3;15855:12;15848:19;;15507:366;;;:::o;15879:419::-;16045:4;16083:2;16072:9;16068:18;16060:26;;16132:9;16126:4;16122:20;16118:1;16107:9;16103:17;16096:47;16160:131;16286:4;16160:131;:::i;:::-;16152:139;;15879:419;;;:::o;16304:143::-;16361:5;16392:6;16386:13;16377:22;;16408:33;16435:5;16408:33;:::i;:::-;16304:143;;;;:::o;16453:351::-;16523:6;16572:2;16560:9;16551:7;16547:23;16543:32;16540:119;;;16578:79;;:::i;:::-;16540:119;16698:1;16723:64;16779:7;16770:6;16759:9;16755:22;16723:64;:::i;:::-;16713:74;;16669:128;16453:351;;;;:::o;16810:182::-;16950:34;16946:1;16938:6;16934:14;16927:58;16810:182;:::o;16998:366::-;17140:3;17161:67;17225:2;17220:3;17161:67;:::i;:::-;17154:74;;17237:93;17326:3;17237:93;:::i;:::-;17355:2;17350:3;17346:12;17339:19;;16998:366;;;:::o;17370:419::-;17536:4;17574:2;17563:9;17559:18;17551:26;;17623:9;17617:4;17613:20;17609:1;17598:9;17594:17;17587:47;17651:131;17777:4;17651:131;:::i;:::-;17643:139;;17370:419;;;:::o;17795:169::-;17935:21;17931:1;17923:6;17919:14;17912:45;17795:169;:::o;17970:366::-;18112:3;18133:67;18197:2;18192:3;18133:67;:::i;:::-;18126:74;;18209:93;18298:3;18209:93;:::i;:::-;18327:2;18322:3;18318:12;18311:19;;17970:366;;;:::o;18342:419::-;18508:4;18546:2;18535:9;18531:18;18523:26;;18595:9;18589:4;18585:20;18581:1;18570:9;18566:17;18559:47;18623:131;18749:4;18623:131;:::i;:::-;18615:139;;18342:419;;;:::o;18767:179::-;18907:31;18903:1;18895:6;18891:14;18884:55;18767:179;:::o;18952:366::-;19094:3;19115:67;19179:2;19174:3;19115:67;:::i;:::-;19108:74;;19191:93;19280:3;19191:93;:::i;:::-;19309:2;19304:3;19300:12;19293:19;;18952:366;;;:::o;19324:419::-;19490:4;19528:2;19517:9;19513:18;19505:26;;19577:9;19571:4;19567:20;19563:1;19552:9;19548:17;19541:47;19605:131;19731:4;19605:131;:::i;:::-;19597:139;;19324:419;;;:::o;19749:172::-;19889:24;19885:1;19877:6;19873:14;19866:48;19749:172;:::o;19927:366::-;20069:3;20090:67;20154:2;20149:3;20090:67;:::i;:::-;20083:74;;20166:93;20255:3;20166:93;:::i;:::-;20284:2;20279:3;20275:12;20268:19;;19927:366;;;:::o;20299:419::-;20465:4;20503:2;20492:9;20488:18;20480:26;;20552:9;20546:4;20542:20;20538:1;20527:9;20523:17;20516:47;20580:131;20706:4;20580:131;:::i;:::-;20572:139;;20299:419;;;:::o;20724:227::-;20864:34;20860:1;20852:6;20848:14;20841:58;20933:10;20928:2;20920:6;20916:15;20909:35;20724:227;:::o;20957:366::-;21099:3;21120:67;21184:2;21179:3;21120:67;:::i;:::-;21113:74;;21196:93;21285:3;21196:93;:::i;:::-;21314:2;21309:3;21305:12;21298:19;;20957:366;;;:::o;21329:419::-;21495:4;21533:2;21522:9;21518:18;21510:26;;21582:9;21576:4;21572:20;21568:1;21557:9;21553:17;21546:47;21610:131;21736:4;21610:131;:::i;:::-;21602:139;;21329:419;;;:::o;21754:225::-;21894:34;21890:1;21882:6;21878:14;21871:58;21963:8;21958:2;21950:6;21946:15;21939:33;21754:225;:::o;21985:366::-;22127:3;22148:67;22212:2;22207:3;22148:67;:::i;:::-;22141:74;;22224:93;22313:3;22224:93;:::i;:::-;22342:2;22337:3;22333:12;22326:19;;21985:366;;;:::o;22357:419::-;22523:4;22561:2;22550:9;22546:18;22538:26;;22610:9;22604:4;22600:20;22596:1;22585:9;22581:17;22574:47;22638:131;22764:4;22638:131;:::i;:::-;22630:139;;22357:419;;;:::o;22782:148::-;22884:11;22921:3;22906:18;;22782:148;;;;:::o;22936:214::-;23076:66;23072:1;23064:6;23060:14;23053:90;22936:214;:::o;23156:402::-;23316:3;23337:85;23419:2;23414:3;23337:85;:::i;:::-;23330:92;;23431:93;23520:3;23431:93;:::i;:::-;23549:2;23544:3;23540:12;23533:19;;23156:402;;;:::o;23564:79::-;23603:7;23632:5;23621:16;;23564:79;;;:::o;23649:157::-;23754:45;23774:24;23792:5;23774:24;:::i;:::-;23754:45;:::i;:::-;23749:3;23742:58;23649:157;;:::o;23812:522::-;24025:3;24047:148;24191:3;24047:148;:::i;:::-;24040:155;;24205:75;24276:3;24267:6;24205:75;:::i;:::-;24305:2;24300:3;24296:12;24289:19;;24325:3;24318:10;;23812:522;;;;:::o;24340:180::-;24388:77;24385:1;24378:88;24485:4;24482:1;24475:15;24509:4;24506:1;24499:15;24526:174;24666:26;24662:1;24654:6;24650:14;24643:50;24526:174;:::o;24706:366::-;24848:3;24869:67;24933:2;24928:3;24869:67;:::i;:::-;24862:74;;24945:93;25034:3;24945:93;:::i;:::-;25063:2;25058:3;25054:12;25047:19;;24706:366;;;:::o;25078:419::-;25244:4;25282:2;25271:9;25267:18;25259:26;;25331:9;25325:4;25321:20;25317:1;25306:9;25302:17;25295:47;25359:131;25485:4;25359:131;:::i;:::-;25351:139;;25078:419;;;:::o;25503:181::-;25643:33;25639:1;25631:6;25627:14;25620:57;25503:181;:::o;25690:366::-;25832:3;25853:67;25917:2;25912:3;25853:67;:::i;:::-;25846:74;;25929:93;26018:3;25929:93;:::i;:::-;26047:2;26042:3;26038:12;26031:19;;25690:366;;;:::o;26062:419::-;26228:4;26266:2;26255:9;26251:18;26243:26;;26315:9;26309:4;26305:20;26301:1;26290:9;26286:17;26279:47;26343:131;26469:4;26343:131;:::i;:::-;26335:139;;26062:419;;;:::o;26487:221::-;26627:34;26623:1;26615:6;26611:14;26604:58;26696:4;26691:2;26683:6;26679:15;26672:29;26487:221;:::o;26714:366::-;26856:3;26877:67;26941:2;26936:3;26877:67;:::i;:::-;26870:74;;26953:93;27042:3;26953:93;:::i;:::-;27071:2;27066:3;27062:12;27055:19;;26714:366;;;:::o;27086:419::-;27252:4;27290:2;27279:9;27275:18;27267:26;;27339:9;27333:4;27329:20;27325:1;27314:9;27310:17;27303:47;27367:131;27493:4;27367:131;:::i;:::-;27359:139;;27086:419;;;:::o;27511:221::-;27651:34;27647:1;27639:6;27635:14;27628:58;27720:4;27715:2;27707:6;27703:15;27696:29;27511:221;:::o;27738:366::-;27880:3;27901:67;27965:2;27960:3;27901:67;:::i;:::-;27894:74;;27977:93;28066:3;27977:93;:::i;:::-;28095:2;28090:3;28086:12;28079:19;;27738:366;;;:::o;28110:419::-;28276:4;28314:2;28303:9;28299:18;28291:26;;28363:9;28357:4;28353:20;28349:1;28338:9;28334:17;28327:47;28391:131;28517:4;28391:131;:::i;:::-;28383:139;;28110:419;;;:::o;28535:214::-;28675:66;28671:1;28663:6;28659:14;28652:90;28535:214;:::o;28755:400::-;28915:3;28936:84;29018:1;29013:3;28936:84;:::i;:::-;28929:91;;29029:93;29118:3;29029:93;:::i;:::-;29147:1;29142:3;29138:11;29131:18;;28755:400;;;:::o;29161:663::-;29402:3;29424:148;29568:3;29424:148;:::i;:::-;29417:155;;29582:75;29653:3;29644:6;29582:75;:::i;:::-;29682:2;29677:3;29673:12;29666:19;;29695:75;29766:3;29757:6;29695:75;:::i;:::-;29795:2;29790:3;29786:12;29779:19;;29815:3;29808:10;;29161:663;;;;;:::o;29830:86::-;29865:7;29905:4;29898:5;29894:16;29883:27;;29830:86;;;:::o;29922:112::-;30005:22;30021:5;30005:22;:::i;:::-;30000:3;29993:35;29922:112;;:::o;30040:545::-;30213:4;30251:3;30240:9;30236:19;30228:27;;30265:71;30333:1;30322:9;30318:17;30309:6;30265:71;:::i;:::-;30346:68;30410:2;30399:9;30395:18;30386:6;30346:68;:::i;:::-;30424:72;30492:2;30481:9;30477:18;30468:6;30424:72;:::i;:::-;30506;30574:2;30563:9;30559:18;30550:6;30506:72;:::i;:::-;30040:545;;;;;;;:::o;30591:664::-;30796:4;30834:3;30823:9;30819:19;30811:27;;30848:71;30916:1;30905:9;30901:17;30892:6;30848:71;:::i;:::-;30929:72;30997:2;30986:9;30982:18;30973:6;30929:72;:::i;:::-;31011;31079:2;31068:9;31064:18;31055:6;31011:72;:::i;:::-;31093;31161:2;31150:9;31146:18;31137:6;31093:72;:::i;:::-;31175:73;31243:3;31232:9;31228:19;31219:6;31175:73;:::i;:::-;30591: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\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(\n claimHistory[to] == 0,\n \"ClaimBoxFactory: you have claimed this NFT\"\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 claimHistory[to] = tokenId;\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": "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", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/activity/ClaimBoxFactory.sol", "ast": { "absolutePath": "project:/contracts/activity/ClaimBoxFactory.sol", @@ -14043,7 +14024,7 @@ 1222 ], "IClaimBox": [ - 748 + 755 ], "Ownable": [ 104 @@ -14100,9 +14081,9 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 748, + "id": 755, "linearizedBaseContracts": [ - 748 + 755 ], "name": "IClaimBox", "nameLocation": "138:9:4", @@ -14186,15 +14167,99 @@ ], "src": "195:9:4" }, - "scope": 748, + "scope": 755, "src": "152:53: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:79:4", + "src": "128:149:4", "usedErrors": [] }, { @@ -14202,27 +14267,27 @@ "baseContracts": [ { "baseName": { - "id": 749, + "id": 756, "name": "HasSignature", "nodeType": "IdentifierPath", "referencedDeclaration": 1222, - "src": "237:12:4" + "src": "307:12:4" }, - "id": 750, + "id": 757, "nodeType": "InheritanceSpecifier", - "src": "237:12:4" + "src": "307:12:4" }, { "baseName": { - "id": 751, + "id": 758, "name": "TimeChecker", "nodeType": "IdentifierPath", "referencedDeclaration": 1280, - "src": "251:11:4" + "src": "321:11:4" }, - "id": 752, + "id": 759, "nodeType": "InheritanceSpecifier", - "src": "251:11:4" + "src": "321:11:4" } ], "canonicalName": "ClaimBoxFactory", @@ -14238,19 +14303,19 @@ 126 ], "name": "ClaimBoxFactory", - "nameLocation": "218:15:4", + "nameLocation": "288:15:4", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "c34c08e5", - "id": 754, + "id": 761, "mutability": "mutable", "name": "executor", - "nameLocation": "282:8:4", + "nameLocation": "352:8:4", "nodeType": "VariableDeclaration", "scope": 940, - "src": "267:23:4", + "src": "337:23:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -14258,10 +14323,10 @@ "typeString": "address" }, "typeName": { - "id": 753, + "id": 760, "name": "address", "nodeType": "ElementaryTypeName", - "src": "267:7:4", + "src": "337:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14273,13 +14338,13 @@ { "constant": false, "functionSelector": "062143f0", - "id": 758, + "id": 765, "mutability": "mutable", "name": "tokenSupported", - "nameLocation": "326:14:4", + "nameLocation": "396:14:4", "nodeType": "VariableDeclaration", "scope": 940, - "src": "294:46:4", + "src": "364:46:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -14287,28 +14352,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 757, + "id": 764, "keyType": { - "id": 755, + "id": 762, "name": "address", "nodeType": "ElementaryTypeName", - "src": "302:7:4", + "src": "372:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "294:24:4", + "src": "364:24:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 756, + "id": 763, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "313:4:4", + "src": "383:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14317,73 +14382,26 @@ }, "visibility": "public" }, - { - "constant": false, - "functionSelector": "425a69cc", - "id": 762, - "mutability": "mutable", - "name": "claimHistory", - "nameLocation": "379:12:4", - "nodeType": "VariableDeclaration", - "scope": 940, - "src": "344:47:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 761, - "keyType": { - "id": 759, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "352:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "344:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, { "anonymous": false, - "id": 772, + "id": 775, "name": "BoxClaimed", - "nameLocation": "402:10:4", + "nameLocation": "421:10:4", "nodeType": "EventDefinition", "parameters": { - "id": 771, + "id": 774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 764, + "id": 767, "indexed": true, "mutability": "mutable", "name": "nftAddress", - "nameLocation": "434:10:4", + "nameLocation": "453:10:4", "nodeType": "VariableDeclaration", - "scope": 772, - "src": "418:26:4", + "scope": 775, + "src": "437:26:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14391,10 +14409,10 @@ "typeString": "address" }, "typeName": { - "id": 763, + "id": 766, "name": "address", "nodeType": "ElementaryTypeName", - "src": "418:7:4", + "src": "437:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14405,14 +14423,14 @@ }, { "constant": false, - "id": 766, + "id": 769, "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "466:2:4", + "nameLocation": "485:2:4", "nodeType": "VariableDeclaration", - "scope": 772, - "src": "450:18:4", + "scope": 775, + "src": "469:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14420,10 +14438,10 @@ "typeString": "address" }, "typeName": { - "id": 765, + "id": 768, "name": "address", "nodeType": "ElementaryTypeName", - "src": "450:7:4", + "src": "469:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14434,14 +14452,14 @@ }, { "constant": false, - "id": 768, + "id": 771, "indexed": true, "mutability": "mutable", "name": "nonce", - "nameLocation": "490:5:4", + "nameLocation": "509:5:4", "nodeType": "VariableDeclaration", - "scope": 772, - "src": "474:21:4", + "scope": 775, + "src": "493:21:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14449,10 +14467,10 @@ "typeString": "uint256" }, "typeName": { - "id": 767, + "id": 770, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "474:7:4", + "src": "493:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14462,14 +14480,14 @@ }, { "constant": false, - "id": 770, + "id": 773, "indexed": false, "mutability": "mutable", "name": "tokenId", - "nameLocation": "509:7:4", + "nameLocation": "528:7:4", "nodeType": "VariableDeclaration", - "scope": 772, - "src": "501:15:4", + "scope": 775, + "src": "520:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14477,10 +14495,10 @@ "typeString": "uint256" }, "typeName": { - "id": 769, + "id": 772, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "501:7:4", + "src": "520:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14489,18 +14507,18 @@ "visibility": "internal" } ], - "src": "412:108:4" + "src": "431:108:4" }, - "src": "396:125:4" + "src": "415:125:4" }, { "body": { - "id": 779, + "id": 782, "nodeType": "Block", - "src": "576:2:4", + "src": "595:2:4", "statements": [] }, - "id": 780, + "id": 783, "implemented": true, "kind": "constructor", "modifiers": [ @@ -14508,14 +14526,14 @@ "arguments": [ { "hexValue": "436c61696d426f78466163746f7279", - "id": 775, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "552:17:4", + "src": "571:17:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e8bbb1263203a9a335b4f07433b16b4ed04783db5abc514adb7ea5ded05058f7", "typeString": "literal_string \"ClaimBoxFactory\"" @@ -14524,14 +14542,14 @@ }, { "hexValue": "31", - "id": 776, + "id": 779, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "571:3:4", + "src": "590:3:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", "typeString": "literal_string \"1\"" @@ -14539,74 +14557,74 @@ "value": "1" } ], - "id": 777, + "id": 780, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 774, + "id": 777, "name": "HasSignature", "nodeType": "IdentifierPath", "referencedDeclaration": 1222, - "src": "539:12:4" + "src": "558:12:4" }, "nodeType": "ModifierInvocation", - "src": "539:36:4" + "src": "558:36:4" } ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 773, + "id": 776, "nodeType": "ParameterList", "parameters": [], - "src": "536:2:4" + "src": "555:2:4" }, "returnParameters": { - "id": 778, + "id": 781, "nodeType": "ParameterList", "parameters": [], - "src": "576:0:4" + "src": "595:0:4" }, "scope": 940, - "src": "525:53:4", + "src": "544:53:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 793, + "id": 796, "nodeType": "Block", - "src": "644:42:4", + "src": "663:42:4", "statements": [ { "expression": { - "id": 791, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 787, + "id": 790, "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "650:14:4", + "referencedDeclaration": 765, + "src": "669:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 789, + "id": 792, "indexExpression": { - "id": 788, + "id": 791, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 782, - "src": "665:8:4", + "referencedDeclaration": 785, + "src": "684:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14617,7 +14635,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "650:24:4", + "src": "669:24:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14627,67 +14645,67 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 790, + "id": 793, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "677:4:4", + "src": "696:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "650:31:4", + "src": "669:31:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 792, + "id": 795, "nodeType": "ExpressionStatement", - "src": "650:31:4" + "src": "669:31:4" } ] }, "functionSelector": "733c237d", - "id": 794, + "id": 797, "implemented": true, "kind": "function", "modifiers": [ { - "id": 785, + "id": 788, "kind": "modifierInvocation", "modifierName": { - "id": 784, + "id": 787, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "634:9:4" + "src": "653:9:4" }, "nodeType": "ModifierInvocation", - "src": "634:9:4" + "src": "653:9:4" } ], "name": "addTokenSupport", - "nameLocation": "591:15:4", + "nameLocation": "610:15:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 783, + "id": 786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 782, + "id": 785, "mutability": "mutable", "name": "nftToken", - "nameLocation": "615:8:4", + "nameLocation": "634:8:4", "nodeType": "VariableDeclaration", - "scope": 794, - "src": "607:16:4", + "scope": 797, + "src": "626:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14695,10 +14713,10 @@ "typeString": "address" }, "typeName": { - "id": 781, + "id": 784, "name": "address", "nodeType": "ElementaryTypeName", - "src": "607:7:4", + "src": "626:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14708,54 +14726,54 @@ "visibility": "internal" } ], - "src": "606:18:4" + "src": "625:18:4" }, "returnParameters": { - "id": 786, + "id": 789, "nodeType": "ParameterList", "parameters": [], - "src": "644:0:4" + "src": "663:0:4" }, "scope": 940, - "src": "582:104:4", + "src": "601:104:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 807, + "id": 810, "nodeType": "Block", - "src": "755:43:4", + "src": "774:43:4", "statements": [ { "expression": { - "id": 805, + "id": 808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 801, + "id": 804, "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "761:14:4", + "referencedDeclaration": 765, + "src": "780:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 803, + "id": 806, "indexExpression": { - "id": 802, + "id": 805, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "776:8:4", + "referencedDeclaration": 799, + "src": "795:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14766,7 +14784,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "761:24:4", + "src": "780:24:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14776,67 +14794,67 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 804, + "id": 807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "788:5:4", + "src": "807:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "761:32:4", + "src": "780:32:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 806, + "id": 809, "nodeType": "ExpressionStatement", - "src": "761:32:4" + "src": "780:32:4" } ] }, "functionSelector": "2ba8d939", - "id": 808, + "id": 811, "implemented": true, "kind": "function", "modifiers": [ { - "id": 799, + "id": 802, "kind": "modifierInvocation", "modifierName": { - "id": 798, + "id": 801, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "745:9:4" + "src": "764:9:4" }, "nodeType": "ModifierInvocation", - "src": "745:9:4" + "src": "764:9:4" } ], "name": "removeTokenSupport", - "nameLocation": "699:18:4", + "nameLocation": "718:18:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 797, + "id": 800, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 796, + "id": 799, "mutability": "mutable", "name": "nftToken", - "nameLocation": "726:8:4", + "nameLocation": "745:8:4", "nodeType": "VariableDeclaration", - "scope": 808, - "src": "718:16:4", + "scope": 811, + "src": "737:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14844,10 +14862,10 @@ "typeString": "address" }, "typeName": { - "id": 795, + "id": 798, "name": "address", "nodeType": "ElementaryTypeName", - "src": "718:7:4", + "src": "737:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14857,25 +14875,25 @@ "visibility": "internal" } ], - "src": "717:18:4" + "src": "736:18:4" }, "returnParameters": { - "id": 800, + "id": 803, "nodeType": "ParameterList", "parameters": [], - "src": "755:0:4" + "src": "774:0:4" }, "scope": 940, - "src": "690:108:4", + "src": "709:108:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 830, + "id": 833, "nodeType": "Block", - "src": "900:109:4", + "src": "919:109:4", "statements": [ { "expression": { @@ -14885,18 +14903,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 822, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 817, + "id": 820, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "914:7:4", + "referencedDeclaration": 814, + "src": "933:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14908,14 +14926,14 @@ "arguments": [ { "hexValue": "30", - "id": 820, + "id": 823, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "933:1:4", + "src": "952:1:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14930,26 +14948,26 @@ "typeString": "int_const 0" } ], - "id": 819, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "925:7:4", + "src": "944:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 818, + "id": 821, "name": "address", "nodeType": "ElementaryTypeName", - "src": "925:7:4", + "src": "944:7:4", "typeDescriptions": {} } }, - "id": 821, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, @@ -14957,14 +14975,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "925:10:4", + "src": "944:10:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "914:21:4", + "src": "933:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14972,14 +14990,14 @@ }, { "hexValue": "436c61696d426f78466163746f72793a20616464726573732063616e206e6f74206265207a65726f", - "id": 823, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "937:42:4", + "src": "956:42:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1", "typeString": "literal_string \"ClaimBoxFactory: address can not be zero\"" @@ -14998,7 +15016,7 @@ "typeString": "literal_string \"ClaimBoxFactory: address can not be zero\"" } ], - "id": 816, + "id": 819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -15006,13 +15024,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "906:7:4", + "src": "925:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 824, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, @@ -15020,31 +15038,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "906:74:4", + "src": "925:74:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 825, + "id": 828, "nodeType": "ExpressionStatement", - "src": "906:74:4" + "src": "925:74:4" }, { "expression": { - "id": 828, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 826, + "id": 829, "name": "executor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "986:8:4", + "referencedDeclaration": 761, + "src": "1005:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15053,70 +15071,70 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 827, + "id": 830, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "997:7:4", + "referencedDeclaration": 814, + "src": "1016:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "986:18:4", + "src": "1005:18:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 829, + "id": 832, "nodeType": "ExpressionStatement", - "src": "986:18:4" + "src": "1005:18:4" } ] }, "documentation": { - "id": 809, + "id": 812, "nodeType": "StructuredDocumentation", - "src": "802:35:4", + "src": "821:35:4", "text": " @dev update executor" }, "functionSelector": "74936c16", - "id": 831, + "id": 834, "implemented": true, "kind": "function", "modifiers": [ { - "id": 814, + "id": 817, "kind": "modifierInvocation", "modifierName": { - "id": 813, + "id": 816, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "890:9:4" + "src": "909:9:4" }, "nodeType": "ModifierInvocation", - "src": "890:9:4" + "src": "909:9:4" } ], "name": "updateExecutor", - "nameLocation": "849:14:4", + "nameLocation": "868:14:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 812, + "id": 815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 811, + "id": 814, "mutability": "mutable", "name": "account", - "nameLocation": "872:7:4", + "nameLocation": "891:7:4", "nodeType": "VariableDeclaration", - "scope": 831, - "src": "864:15:4", + "scope": 834, + "src": "883:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15124,10 +15142,10 @@ "typeString": "address" }, "typeName": { - "id": 810, + "id": 813, "name": "address", "nodeType": "ElementaryTypeName", - "src": "864:7:4", + "src": "883:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15137,16 +15155,16 @@ "visibility": "internal" } ], - "src": "863:17:4" + "src": "882:17:4" }, "returnParameters": { - "id": 815, + "id": 818, "nodeType": "ParameterList", "parameters": [], - "src": "900:0:4" + "src": "919:0:4" }, "scope": 940, - "src": "840:169:4", + "src": "859:169:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -15155,32 +15173,32 @@ "body": { "id": 910, "nodeType": "Block", - "src": "1188:563:4", + "src": "1207:547:4", "statements": [ { "expression": { "arguments": [ { "baseExpression": { - "id": 849, + "id": 852, "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "1202:14:4", + "referencedDeclaration": 765, + "src": "1221:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 851, + "id": 854, "indexExpression": { - "id": 850, + "id": 853, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "1217:10:4", + "referencedDeclaration": 836, + "src": "1236:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15191,7 +15209,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1202:26:4", + "src": "1221:26:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15199,14 +15217,14 @@ }, { "hexValue": "436c61696d426f78466163746f72793a20756e737570706f72746564204e4654", - "id": 852, + "id": 855, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1230:34:4", + "src": "1249:34:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9", "typeString": "literal_string \"ClaimBoxFactory: unsupported NFT\"" @@ -15225,7 +15243,7 @@ "typeString": "literal_string \"ClaimBoxFactory: unsupported NFT\"" } ], - "id": 848, + "id": 851, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -15233,13 +15251,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1194:7:4", + "src": "1213:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 853, + "id": 856, "isConstant": false, "isLValue": false, "isPure": false, @@ -15247,31 +15265,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1194:71:4", + "src": "1213:71:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 854, + "id": 857, "nodeType": "ExpressionStatement", - "src": "1194:71:4" + "src": "1213:71:4" }, { "assignments": [ - 856 + 859 ], "declarations": [ { "constant": false, - "id": 856, + "id": 859, "mutability": "mutable", "name": "to", - "nameLocation": "1279:2:4", + "nameLocation": "1298:2:4", "nodeType": "VariableDeclaration", "scope": 910, - "src": "1271:10:4", + "src": "1290:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15279,10 +15297,10 @@ "typeString": "address" }, "typeName": { - "id": 855, + "id": 858, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1271:7:4", + "src": "1290:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15292,23 +15310,23 @@ "visibility": "internal" } ], - "id": 859, + "id": 862, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 857, + "id": 860, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 116, - "src": "1284:10:4", + "src": "1303:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 858, + "id": 861, "isConstant": false, "isLValue": false, "isPure": false, @@ -15316,7 +15334,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1284:12:4", + "src": "1303:12:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -15324,7 +15342,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1271:25:4" + "src": "1290:25:4" }, { "expression": { @@ -15334,43 +15352,105 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 865, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "baseExpression": { - "id": 861, - "name": "claimHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 762, - "src": "1317:12:4", + "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", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 863, - "indexExpression": { - "id": 862, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1330:2:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" } }, + "id": 869, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1317:16:4", + "names": [], + "nodeType": "FunctionCall", + "src": "1336:35:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15380,41 +15460,41 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 864, + "id": 870, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1337:1:4", + "src": "1375:1:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1317:21:4", + "src": "1336:40:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "436c61696d426f78466163746f72793a20796f75206861766520636c61696d65642074686973204e4654", - "id": 866, + "hexValue": "436c61696d426f78466163746f72793a20796f7520616c72656164792068617665206120626f78", + "id": 872, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1346:44:4", + "src": "1384:41:4", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9", - "typeString": "literal_string \"ClaimBoxFactory: you have claimed this NFT\"" + "typeIdentifier": "t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", + "typeString": "literal_string \"ClaimBoxFactory: you already have a box\"" }, - "value": "ClaimBoxFactory: you have claimed this NFT" + "value": "ClaimBoxFactory: you already have a box" } ], "expression": { @@ -15424,11 +15504,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9", - "typeString": "literal_string \"ClaimBoxFactory: you have claimed this NFT\"" + "typeIdentifier": "t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", + "typeString": "literal_string \"ClaimBoxFactory: you already have a box\"" } ], - "id": 860, + "id": 863, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -15436,13 +15516,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1302:7:4", + "src": "1321:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 867, + "id": 873, "isConstant": false, "isLValue": false, "isPure": false, @@ -15450,31 +15530,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1302:94:4", + "src": "1321:110:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 868, + "id": 874, "nodeType": "ExpressionStatement", - "src": "1302:94:4" + "src": "1321:110:4" }, { "assignments": [ - 870 + 876 ], "declarations": [ { "constant": false, - "id": 870, + "id": 876, "mutability": "mutable", "name": "criteriaMessageHash", - "nameLocation": "1410:19:4", + "nameLocation": "1445:19:4", "nodeType": "VariableDeclaration", "scope": 910, - "src": "1402:27:4", + "src": "1437:27:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15482,10 +15562,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 869, + "id": 875, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1402:7:4", + "src": "1437:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15494,116 +15574,28 @@ "visibility": "internal" } ], - "id": 877, + "id": 883, "initialValue": { "arguments": [ { - "id": 872, + "id": 878, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1454:2:4", + "referencedDeclaration": 859, + "src": "1489:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 873, + "id": 879, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "1464:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 874, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 835, - "src": "1482:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 875, - "name": "saltNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "1499:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 871, - "name": "getMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "1432: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": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:82:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1402:112:4" - }, - { - "expression": { - "arguments": [ - { - "id": 879, - "name": "executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "1532:8:4", + "referencedDeclaration": 836, + "src": "1499:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15611,26 +15603,26 @@ }, { "id": 880, - "name": "criteriaMessageHash", + "name": "startTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 870, - "src": "1542:19:4", + "referencedDeclaration": 838, + "src": "1517:9:4", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, { "id": 881, - "name": "signature", + "name": "saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "1563:9:4", + "referencedDeclaration": 840, + "src": "1534:9:4", "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], @@ -15641,23 +15633,27 @@ "typeString": "address" }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 878, - "name": "checkSigner", + "id": 877, + "name": "getMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1520:11:4", + "referencedDeclaration": 939, + "src": "1467:14:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,bytes32,bytes memory) pure" + "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, @@ -15668,31 +15664,115 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1520:53:4", + "src": "1467:82:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1437:112:4" + }, + { + "expression": { + "arguments": [ + { + "id": 885, + "name": "executor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 761, + "src": "1567:8:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 886, + "name": "criteriaMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 876, + "src": "1577:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 887, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 842, + "src": "1598:9:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 884, + "name": "checkSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1189, + "src": "1555: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, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1555:53:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 883, + "id": 889, "nodeType": "ExpressionStatement", - "src": "1520:53:4" + "src": "1555:53:4" }, { "assignments": [ - 885 + 891 ], "declarations": [ { "constant": false, - "id": 885, + "id": 891, "mutability": "mutable", "name": "tokenId", - "nameLocation": "1587:7:4", + "nameLocation": "1622:7:4", "nodeType": "VariableDeclaration", "scope": 910, - "src": "1579:15:4", + "src": "1614:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15700,10 +15780,10 @@ "typeString": "uint256" }, "typeName": { - "id": 884, + "id": 890, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1579:7:4", + "src": "1614:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15712,16 +15792,16 @@ "visibility": "internal" } ], - "id": 892, + "id": 898, "initialValue": { "arguments": [ { - "id": 890, + "id": 896, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1624:2:4", + "referencedDeclaration": 859, + "src": "1659:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15738,12 +15818,12 @@ "expression": { "arguments": [ { - "id": 887, + "id": 893, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "1607:10:4", + "referencedDeclaration": 836, + "src": "1642:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15757,18 +15837,18 @@ "typeString": "address" } ], - "id": 886, + "id": 892, "name": "IClaimBox", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 748, - "src": "1597:9:4", + "referencedDeclaration": 755, + "src": "1632:9:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IClaimBox_$748_$", + "typeIdentifier": "t_type$_t_contract$_IClaimBox_$755_$", "typeString": "type(contract IClaimBox)" } }, - "id": 888, + "id": 894, "isConstant": false, "isLValue": false, "isPure": false, @@ -15776,14 +15856,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1597:21:4", + "src": "1632:21:4", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IClaimBox_$748", + "typeIdentifier": "t_contract$_IClaimBox_$755", "typeString": "contract IClaimBox" } }, - "id": 889, + "id": 895, "isConstant": false, "isLValue": false, "isPure": false, @@ -15791,13 +15871,13 @@ "memberName": "mint", "nodeType": "MemberAccess", "referencedDeclaration": 747, - "src": "1597:26:4", + "src": "1632:26:4", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 891, + "id": 897, "isConstant": false, "isLValue": false, "isPure": false, @@ -15805,7 +15885,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1597:30:4", + "src": "1632:30:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15813,18 +15893,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1579:48:4" + "src": "1614:48:4" }, { "expression": { "arguments": [ { - "id": 894, + "id": 900, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "1647:9:4", + "referencedDeclaration": 842, + "src": "1682:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -15838,18 +15918,18 @@ "typeString": "bytes calldata" } ], - "id": 893, + "id": 899, "name": "_useSignature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1221, - "src": "1633:13:4", + "src": "1668:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (bytes calldata)" } }, - "id": 895, + "id": 901, "isConstant": false, "isLValue": false, "isPure": false, @@ -15857,84 +15937,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1633:24:4", + "src": "1668:24:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 896, - "nodeType": "ExpressionStatement", - "src": "1633:24:4" - }, - { - "expression": { - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 897, - "name": "claimHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 762, - "src": "1663:12:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 899, - "indexExpression": { - "id": 898, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1676:2:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1663:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 900, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 885, - "src": "1682:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1663:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, "id": 902, "nodeType": "ExpressionStatement", - "src": "1663:26:4" + "src": "1668:24:4" }, { "eventCall": { @@ -15944,8 +15956,8 @@ "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "1711:10:4", + "referencedDeclaration": 836, + "src": "1714:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15956,8 +15968,8 @@ "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1723:2:4", + "referencedDeclaration": 859, + "src": "1726:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15968,8 +15980,8 @@ "name": "saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "1727:9:4", + "referencedDeclaration": 840, + "src": "1730:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15980,8 +15992,8 @@ "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 885, - "src": "1738:7:4", + "referencedDeclaration": 891, + "src": "1741:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16011,8 +16023,8 @@ "name": "BoxClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "1700:10:4", + "referencedDeclaration": 775, + "src": "1703:10:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" @@ -16026,7 +16038,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1700:46:4", + "src": "1703:46:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -16035,7 +16047,7 @@ }, "id": 909, "nodeType": "EmitStatement", - "src": "1695:51:4" + "src": "1698:51:4" } ] }, @@ -16047,74 +16059,74 @@ { "arguments": [ { - "id": 842, + "id": 845, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "1156:9:4", + "referencedDeclaration": 842, + "src": "1175:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } } ], - "id": 843, - "kind": "modifierInvocation", - "modifierName": { - "id": 841, - "name": "signatureValid", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1203, - "src": "1141:14:4" - }, - "nodeType": "ModifierInvocation", - "src": "1141:25:4" - }, - { - "arguments": [ - { - "id": 845, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 835, - "src": "1177:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], "id": 846, "kind": "modifierInvocation", "modifierName": { "id": 844, + "name": "signatureValid", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1203, + "src": "1160:14:4" + }, + "nodeType": "ModifierInvocation", + "src": "1160:25:4" + }, + { + "arguments": [ + { + "id": 848, + "name": "startTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "1196:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 849, + "kind": "modifierInvocation", + "modifierName": { + "id": 847, "name": "timeValid", "nodeType": "IdentifierPath", "referencedDeclaration": 1257, - "src": "1167:9:4" + "src": "1186:9:4" }, "nodeType": "ModifierInvocation", - "src": "1167:20:4" + "src": "1186:20:4" } ], "name": "claim", - "nameLocation": "1022:5:4", + "nameLocation": "1041:5:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 840, + "id": 843, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 833, + "id": 836, "mutability": "mutable", "name": "nftAddress", - "nameLocation": "1041:10:4", + "nameLocation": "1060:10:4", "nodeType": "VariableDeclaration", "scope": 911, - "src": "1033:18:4", + "src": "1052:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16122,10 +16134,10 @@ "typeString": "address" }, "typeName": { - "id": 832, + "id": 835, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1033:7:4", + "src": "1052:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16136,13 +16148,13 @@ }, { "constant": false, - "id": 835, + "id": 838, "mutability": "mutable", "name": "startTime", - "nameLocation": "1065:9:4", + "nameLocation": "1084:9:4", "nodeType": "VariableDeclaration", "scope": 911, - "src": "1057:17:4", + "src": "1076:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16150,10 +16162,10 @@ "typeString": "uint256" }, "typeName": { - "id": 834, + "id": 837, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1057:7:4", + "src": "1076:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16163,13 +16175,13 @@ }, { "constant": false, - "id": 837, + "id": 840, "mutability": "mutable", "name": "saltNonce", - "nameLocation": "1088:9:4", + "nameLocation": "1107:9:4", "nodeType": "VariableDeclaration", "scope": 911, - "src": "1080:17:4", + "src": "1099:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16177,10 +16189,10 @@ "typeString": "uint256" }, "typeName": { - "id": 836, + "id": 839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1080:7:4", + "src": "1099:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16190,13 +16202,13 @@ }, { "constant": false, - "id": 839, + "id": 842, "mutability": "mutable", "name": "signature", - "nameLocation": "1118:9:4", + "nameLocation": "1137:9:4", "nodeType": "VariableDeclaration", "scope": 911, - "src": "1103:24:4", + "src": "1122:24:4", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -16204,10 +16216,10 @@ "typeString": "bytes" }, "typeName": { - "id": 838, + "id": 841, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1103:5:4", + "src": "1122:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16216,16 +16228,16 @@ "visibility": "internal" } ], - "src": "1027:104:4" + "src": "1046:104:4" }, "returnParameters": { - "id": 847, + "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "1188:0:4" + "src": "1207:0:4" }, "scope": 940, - "src": "1013:738:4", + "src": "1032:722:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -16234,7 +16246,7 @@ "body": { "id": 938, "nodeType": "Block", - "src": "1900:150:4", + "src": "1903:150:4", "statements": [ { "assignments": [ @@ -16246,10 +16258,10 @@ "id": 925, "mutability": "mutable", "name": "encoded", - "nameLocation": "1919:7:4", + "nameLocation": "1922:7:4", "nodeType": "VariableDeclaration", "scope": 938, - "src": "1906:20:4", + "src": "1909:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16260,7 +16272,7 @@ "id": 924, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1906:5:4", + "src": "1909:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -16278,7 +16290,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "1953:3:4", + "src": "1956:3:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16290,7 +16302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "1964:8:4", + "src": "1967:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16302,7 +16314,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 917, - "src": "1980:10:4", + "src": "1983:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16314,7 +16326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 919, - "src": "1998:10:4", + "src": "2001:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16346,7 +16358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "1929:3:4", + "src": "1932:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -16359,7 +16371,7 @@ "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1929:16:4", + "src": "1932:16:4", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -16373,7 +16385,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1929:85:4", + "src": "1932:85:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -16381,7 +16393,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1906:108:4" + "src": "1909:108:4" }, { "expression": { @@ -16392,7 +16404,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 925, - "src": "2037:7:4", + "src": "2040:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -16411,7 +16423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "2027:9:4", + "src": "2030:9:4", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" @@ -16425,7 +16437,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2027:18:4", + "src": "2030:18:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -16435,7 +16447,7 @@ "functionReturnParameters": 923, "id": 937, "nodeType": "Return", - "src": "2020:25:4" + "src": "2023:25:4" } ] }, @@ -16445,7 +16457,7 @@ "kind": "function", "modifiers": [], "name": "getMessageHash", - "nameLocation": "1764:14:4", + "nameLocation": "1767:14:4", "nodeType": "FunctionDefinition", "parameters": { "id": 920, @@ -16456,10 +16468,10 @@ "id": 913, "mutability": "mutable", "name": "_to", - "nameLocation": "1792:3:4", + "nameLocation": "1795:3:4", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1784:11:4", + "src": "1787:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16470,7 +16482,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1784:7:4", + "src": "1787:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16484,10 +16496,10 @@ "id": 915, "mutability": "mutable", "name": "_address", - "nameLocation": "1809:8:4", + "nameLocation": "1812:8:4", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1801:16:4", + "src": "1804:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16498,7 +16510,7 @@ "id": 914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1801:7:4", + "src": "1804:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16512,10 +16524,10 @@ "id": 917, "mutability": "mutable", "name": "_startTime", - "nameLocation": "1831:10:4", + "nameLocation": "1834:10:4", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1823:18:4", + "src": "1826:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16526,7 +16538,7 @@ "id": 916, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1823:7:4", + "src": "1826:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16539,10 +16551,10 @@ "id": 919, "mutability": "mutable", "name": "_saltNonce", - "nameLocation": "1855:10:4", + "nameLocation": "1858:10:4", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1847:18:4", + "src": "1850:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16553,7 +16565,7 @@ "id": 918, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1847:7:4", + "src": "1850:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16562,7 +16574,7 @@ "visibility": "internal" } ], - "src": "1778:91:4" + "src": "1781:91:4" }, "returnParameters": { "id": 923, @@ -16576,7 +16588,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1891:7:4", + "src": "1894:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16587,7 +16599,7 @@ "id": 921, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1891:7:4", + "src": "1894:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16596,21 +16608,21 @@ "visibility": "internal" } ], - "src": "1890:9:4" + "src": "1893:9:4" }, "scope": 940, - "src": "1755:295:4", + "src": "1758:295:4", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], "scope": 941, - "src": "209:1843:4", + "src": "279:1776:4", "usedErrors": [] } ], - "src": "32:2021:4" + "src": "32:2024:4" }, "compiler": { "name": "solc", @@ -16618,7 +16630,7 @@ }, "networks": {}, "schemaVersion": "3.4.11", - "updatedAt": "2023-06-14T05:33:20.432Z", + "updatedAt": "2023-06-14T05:44:50.407Z", "devdoc": { "kind": "dev", "methods": { diff --git a/build/contracts/IClaimBox.json b/build/contracts/IClaimBox.json index 3a347d0..0a966c5 100644 --- a/build/contracts/IClaimBox.json +++ b/build/contracts/IClaimBox.json @@ -19,9 +19,28 @@ ], "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\":\"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\":\"0x9a09ba694779c162dc0fa4c009093d56e8defc98f2ac031daab30e360aab3ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b9819898ced1c97ce0d46620f48dbee897407bd90df73df6c91fc067a1c43fb\",\"dweb:/ipfs/QmVvpqwG8J6kN6anvwX3BRUrWY8Vc6frnex6wWXuxCbD5D\"]},\"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\":\"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}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, @@ -29,7 +48,7 @@ "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\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(\n claimHistory[to] == 0,\n \"ClaimBoxFactory: you have claimed this NFT\"\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 claimHistory[to] = tokenId;\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 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", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/activity/ClaimBoxFactory.sol", "ast": { "absolutePath": "project:/contracts/activity/ClaimBoxFactory.sol", @@ -47,7 +66,7 @@ 1222 ], "IClaimBox": [ - 748 + 755 ], "Ownable": [ 104 @@ -104,9 +123,9 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 748, + "id": 755, "linearizedBaseContracts": [ - 748 + 755 ], "name": "IClaimBox", "nameLocation": "138:9:4", @@ -190,15 +209,99 @@ ], "src": "195:9:4" }, - "scope": 748, + "scope": 755, "src": "152:53: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:79:4", + "src": "128:149:4", "usedErrors": [] }, { @@ -206,27 +309,27 @@ "baseContracts": [ { "baseName": { - "id": 749, + "id": 756, "name": "HasSignature", "nodeType": "IdentifierPath", "referencedDeclaration": 1222, - "src": "237:12:4" + "src": "307:12:4" }, - "id": 750, + "id": 757, "nodeType": "InheritanceSpecifier", - "src": "237:12:4" + "src": "307:12:4" }, { "baseName": { - "id": 751, + "id": 758, "name": "TimeChecker", "nodeType": "IdentifierPath", "referencedDeclaration": 1280, - "src": "251:11:4" + "src": "321:11:4" }, - "id": 752, + "id": 759, "nodeType": "InheritanceSpecifier", - "src": "251:11:4" + "src": "321:11:4" } ], "canonicalName": "ClaimBoxFactory", @@ -242,19 +345,19 @@ 126 ], "name": "ClaimBoxFactory", - "nameLocation": "218:15:4", + "nameLocation": "288:15:4", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "c34c08e5", - "id": 754, + "id": 761, "mutability": "mutable", "name": "executor", - "nameLocation": "282:8:4", + "nameLocation": "352:8:4", "nodeType": "VariableDeclaration", "scope": 940, - "src": "267:23:4", + "src": "337:23:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -262,10 +365,10 @@ "typeString": "address" }, "typeName": { - "id": 753, + "id": 760, "name": "address", "nodeType": "ElementaryTypeName", - "src": "267:7:4", + "src": "337:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -277,13 +380,13 @@ { "constant": false, "functionSelector": "062143f0", - "id": 758, + "id": 765, "mutability": "mutable", "name": "tokenSupported", - "nameLocation": "326:14:4", + "nameLocation": "396:14:4", "nodeType": "VariableDeclaration", "scope": 940, - "src": "294:46:4", + "src": "364:46:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -291,28 +394,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 757, + "id": 764, "keyType": { - "id": 755, + "id": 762, "name": "address", "nodeType": "ElementaryTypeName", - "src": "302:7:4", + "src": "372:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "294:24:4", + "src": "364:24:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 756, + "id": 763, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "313:4:4", + "src": "383:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -321,73 +424,26 @@ }, "visibility": "public" }, - { - "constant": false, - "functionSelector": "425a69cc", - "id": 762, - "mutability": "mutable", - "name": "claimHistory", - "nameLocation": "379:12:4", - "nodeType": "VariableDeclaration", - "scope": 940, - "src": "344:47:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 761, - "keyType": { - "id": 759, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "352:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "344:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, { "anonymous": false, - "id": 772, + "id": 775, "name": "BoxClaimed", - "nameLocation": "402:10:4", + "nameLocation": "421:10:4", "nodeType": "EventDefinition", "parameters": { - "id": 771, + "id": 774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 764, + "id": 767, "indexed": true, "mutability": "mutable", "name": "nftAddress", - "nameLocation": "434:10:4", + "nameLocation": "453:10:4", "nodeType": "VariableDeclaration", - "scope": 772, - "src": "418:26:4", + "scope": 775, + "src": "437:26:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -395,10 +451,10 @@ "typeString": "address" }, "typeName": { - "id": 763, + "id": 766, "name": "address", "nodeType": "ElementaryTypeName", - "src": "418:7:4", + "src": "437:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -409,14 +465,14 @@ }, { "constant": false, - "id": 766, + "id": 769, "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "466:2:4", + "nameLocation": "485:2:4", "nodeType": "VariableDeclaration", - "scope": 772, - "src": "450:18:4", + "scope": 775, + "src": "469:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -424,10 +480,10 @@ "typeString": "address" }, "typeName": { - "id": 765, + "id": 768, "name": "address", "nodeType": "ElementaryTypeName", - "src": "450:7:4", + "src": "469:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -438,14 +494,14 @@ }, { "constant": false, - "id": 768, + "id": 771, "indexed": true, "mutability": "mutable", "name": "nonce", - "nameLocation": "490:5:4", + "nameLocation": "509:5:4", "nodeType": "VariableDeclaration", - "scope": 772, - "src": "474:21:4", + "scope": 775, + "src": "493:21:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -453,10 +509,10 @@ "typeString": "uint256" }, "typeName": { - "id": 767, + "id": 770, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "474:7:4", + "src": "493:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -466,14 +522,14 @@ }, { "constant": false, - "id": 770, + "id": 773, "indexed": false, "mutability": "mutable", "name": "tokenId", - "nameLocation": "509:7:4", + "nameLocation": "528:7:4", "nodeType": "VariableDeclaration", - "scope": 772, - "src": "501:15:4", + "scope": 775, + "src": "520:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -481,10 +537,10 @@ "typeString": "uint256" }, "typeName": { - "id": 769, + "id": 772, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "501:7:4", + "src": "520:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -493,18 +549,18 @@ "visibility": "internal" } ], - "src": "412:108:4" + "src": "431:108:4" }, - "src": "396:125:4" + "src": "415:125:4" }, { "body": { - "id": 779, + "id": 782, "nodeType": "Block", - "src": "576:2:4", + "src": "595:2:4", "statements": [] }, - "id": 780, + "id": 783, "implemented": true, "kind": "constructor", "modifiers": [ @@ -512,14 +568,14 @@ "arguments": [ { "hexValue": "436c61696d426f78466163746f7279", - "id": 775, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "552:17:4", + "src": "571:17:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e8bbb1263203a9a335b4f07433b16b4ed04783db5abc514adb7ea5ded05058f7", "typeString": "literal_string \"ClaimBoxFactory\"" @@ -528,14 +584,14 @@ }, { "hexValue": "31", - "id": 776, + "id": 779, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "571:3:4", + "src": "590:3:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", "typeString": "literal_string \"1\"" @@ -543,74 +599,74 @@ "value": "1" } ], - "id": 777, + "id": 780, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 774, + "id": 777, "name": "HasSignature", "nodeType": "IdentifierPath", "referencedDeclaration": 1222, - "src": "539:12:4" + "src": "558:12:4" }, "nodeType": "ModifierInvocation", - "src": "539:36:4" + "src": "558:36:4" } ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 773, + "id": 776, "nodeType": "ParameterList", "parameters": [], - "src": "536:2:4" + "src": "555:2:4" }, "returnParameters": { - "id": 778, + "id": 781, "nodeType": "ParameterList", "parameters": [], - "src": "576:0:4" + "src": "595:0:4" }, "scope": 940, - "src": "525:53:4", + "src": "544:53:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 793, + "id": 796, "nodeType": "Block", - "src": "644:42:4", + "src": "663:42:4", "statements": [ { "expression": { - "id": 791, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 787, + "id": 790, "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "650:14:4", + "referencedDeclaration": 765, + "src": "669:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 789, + "id": 792, "indexExpression": { - "id": 788, + "id": 791, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 782, - "src": "665:8:4", + "referencedDeclaration": 785, + "src": "684:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -621,7 +677,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "650:24:4", + "src": "669:24:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -631,67 +687,67 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 790, + "id": 793, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "677:4:4", + "src": "696:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "650:31:4", + "src": "669:31:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 792, + "id": 795, "nodeType": "ExpressionStatement", - "src": "650:31:4" + "src": "669:31:4" } ] }, "functionSelector": "733c237d", - "id": 794, + "id": 797, "implemented": true, "kind": "function", "modifiers": [ { - "id": 785, + "id": 788, "kind": "modifierInvocation", "modifierName": { - "id": 784, + "id": 787, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "634:9:4" + "src": "653:9:4" }, "nodeType": "ModifierInvocation", - "src": "634:9:4" + "src": "653:9:4" } ], "name": "addTokenSupport", - "nameLocation": "591:15:4", + "nameLocation": "610:15:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 783, + "id": 786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 782, + "id": 785, "mutability": "mutable", "name": "nftToken", - "nameLocation": "615:8:4", + "nameLocation": "634:8:4", "nodeType": "VariableDeclaration", - "scope": 794, - "src": "607:16:4", + "scope": 797, + "src": "626:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -699,10 +755,10 @@ "typeString": "address" }, "typeName": { - "id": 781, + "id": 784, "name": "address", "nodeType": "ElementaryTypeName", - "src": "607:7:4", + "src": "626:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -712,54 +768,54 @@ "visibility": "internal" } ], - "src": "606:18:4" + "src": "625:18:4" }, "returnParameters": { - "id": 786, + "id": 789, "nodeType": "ParameterList", "parameters": [], - "src": "644:0:4" + "src": "663:0:4" }, "scope": 940, - "src": "582:104:4", + "src": "601:104:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 807, + "id": 810, "nodeType": "Block", - "src": "755:43:4", + "src": "774:43:4", "statements": [ { "expression": { - "id": 805, + "id": 808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 801, + "id": 804, "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "761:14:4", + "referencedDeclaration": 765, + "src": "780:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 803, + "id": 806, "indexExpression": { - "id": 802, + "id": 805, "name": "nftToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "776:8:4", + "referencedDeclaration": 799, + "src": "795:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -770,7 +826,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "761:24:4", + "src": "780:24:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -780,67 +836,67 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 804, + "id": 807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "788:5:4", + "src": "807:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "761:32:4", + "src": "780:32:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 806, + "id": 809, "nodeType": "ExpressionStatement", - "src": "761:32:4" + "src": "780:32:4" } ] }, "functionSelector": "2ba8d939", - "id": 808, + "id": 811, "implemented": true, "kind": "function", "modifiers": [ { - "id": 799, + "id": 802, "kind": "modifierInvocation", "modifierName": { - "id": 798, + "id": 801, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "745:9:4" + "src": "764:9:4" }, "nodeType": "ModifierInvocation", - "src": "745:9:4" + "src": "764:9:4" } ], "name": "removeTokenSupport", - "nameLocation": "699:18:4", + "nameLocation": "718:18:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 797, + "id": 800, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 796, + "id": 799, "mutability": "mutable", "name": "nftToken", - "nameLocation": "726:8:4", + "nameLocation": "745:8:4", "nodeType": "VariableDeclaration", - "scope": 808, - "src": "718:16:4", + "scope": 811, + "src": "737:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -848,10 +904,10 @@ "typeString": "address" }, "typeName": { - "id": 795, + "id": 798, "name": "address", "nodeType": "ElementaryTypeName", - "src": "718:7:4", + "src": "737:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -861,25 +917,25 @@ "visibility": "internal" } ], - "src": "717:18:4" + "src": "736:18:4" }, "returnParameters": { - "id": 800, + "id": 803, "nodeType": "ParameterList", "parameters": [], - "src": "755:0:4" + "src": "774:0:4" }, "scope": 940, - "src": "690:108:4", + "src": "709:108:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 830, + "id": 833, "nodeType": "Block", - "src": "900:109:4", + "src": "919:109:4", "statements": [ { "expression": { @@ -889,18 +945,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 822, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 817, + "id": 820, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "914:7:4", + "referencedDeclaration": 814, + "src": "933:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -912,14 +968,14 @@ "arguments": [ { "hexValue": "30", - "id": 820, + "id": 823, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "933:1:4", + "src": "952:1:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -934,26 +990,26 @@ "typeString": "int_const 0" } ], - "id": 819, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "925:7:4", + "src": "944:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 818, + "id": 821, "name": "address", "nodeType": "ElementaryTypeName", - "src": "925:7:4", + "src": "944:7:4", "typeDescriptions": {} } }, - "id": 821, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, @@ -961,14 +1017,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "925:10:4", + "src": "944:10:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "914:21:4", + "src": "933:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -976,14 +1032,14 @@ }, { "hexValue": "436c61696d426f78466163746f72793a20616464726573732063616e206e6f74206265207a65726f", - "id": 823, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "937:42:4", + "src": "956:42:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4d88742e5a12fd57722961361fdcf60f53b939dba377bbaddbe2cbf9d65e02e1", "typeString": "literal_string \"ClaimBoxFactory: address can not be zero\"" @@ -1002,7 +1058,7 @@ "typeString": "literal_string \"ClaimBoxFactory: address can not be zero\"" } ], - "id": 816, + "id": 819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1010,13 +1066,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "906:7:4", + "src": "925:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 824, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, @@ -1024,31 +1080,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "906:74:4", + "src": "925:74:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 825, + "id": 828, "nodeType": "ExpressionStatement", - "src": "906:74:4" + "src": "925:74:4" }, { "expression": { - "id": 828, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 826, + "id": 829, "name": "executor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "986:8:4", + "referencedDeclaration": 761, + "src": "1005:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1057,70 +1113,70 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 827, + "id": 830, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "997:7:4", + "referencedDeclaration": 814, + "src": "1016:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "986:18:4", + "src": "1005:18:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 829, + "id": 832, "nodeType": "ExpressionStatement", - "src": "986:18:4" + "src": "1005:18:4" } ] }, "documentation": { - "id": 809, + "id": 812, "nodeType": "StructuredDocumentation", - "src": "802:35:4", + "src": "821:35:4", "text": " @dev update executor" }, "functionSelector": "74936c16", - "id": 831, + "id": 834, "implemented": true, "kind": "function", "modifiers": [ { - "id": 814, + "id": 817, "kind": "modifierInvocation", "modifierName": { - "id": 813, + "id": 816, "name": "onlyOwner", "nodeType": "IdentifierPath", "referencedDeclaration": 46, - "src": "890:9:4" + "src": "909:9:4" }, "nodeType": "ModifierInvocation", - "src": "890:9:4" + "src": "909:9:4" } ], "name": "updateExecutor", - "nameLocation": "849:14:4", + "nameLocation": "868:14:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 812, + "id": 815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 811, + "id": 814, "mutability": "mutable", "name": "account", - "nameLocation": "872:7:4", + "nameLocation": "891:7:4", "nodeType": "VariableDeclaration", - "scope": 831, - "src": "864:15:4", + "scope": 834, + "src": "883:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1128,10 +1184,10 @@ "typeString": "address" }, "typeName": { - "id": 810, + "id": 813, "name": "address", "nodeType": "ElementaryTypeName", - "src": "864:7:4", + "src": "883:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1141,16 +1197,16 @@ "visibility": "internal" } ], - "src": "863:17:4" + "src": "882:17:4" }, "returnParameters": { - "id": 815, + "id": 818, "nodeType": "ParameterList", "parameters": [], - "src": "900:0:4" + "src": "919:0:4" }, "scope": 940, - "src": "840:169:4", + "src": "859:169:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1159,32 +1215,32 @@ "body": { "id": 910, "nodeType": "Block", - "src": "1188:563:4", + "src": "1207:547:4", "statements": [ { "expression": { "arguments": [ { "baseExpression": { - "id": 849, + "id": 852, "name": "tokenSupported", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "1202:14:4", + "referencedDeclaration": 765, + "src": "1221:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 851, + "id": 854, "indexExpression": { - "id": 850, + "id": 853, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "1217:10:4", + "referencedDeclaration": 836, + "src": "1236:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1195,7 +1251,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1202:26:4", + "src": "1221:26:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1203,14 +1259,14 @@ }, { "hexValue": "436c61696d426f78466163746f72793a20756e737570706f72746564204e4654", - "id": 852, + "id": 855, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1230:34:4", + "src": "1249:34:4", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6d3c497f663979e72379b63b29c98fcd4840cb01d82e546ab68484a4de799bc9", "typeString": "literal_string \"ClaimBoxFactory: unsupported NFT\"" @@ -1229,7 +1285,7 @@ "typeString": "literal_string \"ClaimBoxFactory: unsupported NFT\"" } ], - "id": 848, + "id": 851, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1237,13 +1293,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1194:7:4", + "src": "1213:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 853, + "id": 856, "isConstant": false, "isLValue": false, "isPure": false, @@ -1251,31 +1307,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1194:71:4", + "src": "1213:71:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 854, + "id": 857, "nodeType": "ExpressionStatement", - "src": "1194:71:4" + "src": "1213:71:4" }, { "assignments": [ - 856 + 859 ], "declarations": [ { "constant": false, - "id": 856, + "id": 859, "mutability": "mutable", "name": "to", - "nameLocation": "1279:2:4", + "nameLocation": "1298:2:4", "nodeType": "VariableDeclaration", "scope": 910, - "src": "1271:10:4", + "src": "1290:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1283,10 +1339,10 @@ "typeString": "address" }, "typeName": { - "id": 855, + "id": 858, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1271:7:4", + "src": "1290:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1296,23 +1352,23 @@ "visibility": "internal" } ], - "id": 859, + "id": 862, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 857, + "id": 860, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 116, - "src": "1284:10:4", + "src": "1303:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 858, + "id": 861, "isConstant": false, "isLValue": false, "isPure": false, @@ -1320,7 +1376,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1284:12:4", + "src": "1303:12:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -1328,7 +1384,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1271:25:4" + "src": "1290:25:4" }, { "expression": { @@ -1338,43 +1394,105 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 865, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "baseExpression": { - "id": 861, - "name": "claimHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 762, - "src": "1317:12:4", + "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", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 863, - "indexExpression": { - "id": 862, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1330:2:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" } }, + "id": 869, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1317:16:4", + "names": [], + "nodeType": "FunctionCall", + "src": "1336:35:4", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1384,41 +1502,41 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 864, + "id": 870, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1337:1:4", + "src": "1375:1:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1317:21:4", + "src": "1336:40:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "436c61696d426f78466163746f72793a20796f75206861766520636c61696d65642074686973204e4654", - "id": 866, + "hexValue": "436c61696d426f78466163746f72793a20796f7520616c72656164792068617665206120626f78", + "id": 872, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1346:44:4", + "src": "1384:41:4", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9", - "typeString": "literal_string \"ClaimBoxFactory: you have claimed this NFT\"" + "typeIdentifier": "t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", + "typeString": "literal_string \"ClaimBoxFactory: you already have a box\"" }, - "value": "ClaimBoxFactory: you have claimed this NFT" + "value": "ClaimBoxFactory: you already have a box" } ], "expression": { @@ -1428,11 +1546,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_becbb6142851def66007069f383b78735e268bc81f1450a26e738b853b242ab9", - "typeString": "literal_string \"ClaimBoxFactory: you have claimed this NFT\"" + "typeIdentifier": "t_stringliteral_2723b7606b933e1cc9c3ba0f78c3dcb83afb4dcf7913b54185f8104c5f66a2c5", + "typeString": "literal_string \"ClaimBoxFactory: you already have a box\"" } ], - "id": 860, + "id": 863, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1440,13 +1558,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1302:7:4", + "src": "1321:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 867, + "id": 873, "isConstant": false, "isLValue": false, "isPure": false, @@ -1454,31 +1572,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1302:94:4", + "src": "1321:110:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 868, + "id": 874, "nodeType": "ExpressionStatement", - "src": "1302:94:4" + "src": "1321:110:4" }, { "assignments": [ - 870 + 876 ], "declarations": [ { "constant": false, - "id": 870, + "id": 876, "mutability": "mutable", "name": "criteriaMessageHash", - "nameLocation": "1410:19:4", + "nameLocation": "1445:19:4", "nodeType": "VariableDeclaration", "scope": 910, - "src": "1402:27:4", + "src": "1437:27:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1486,10 +1604,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 869, + "id": 875, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1402:7:4", + "src": "1437:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1498,116 +1616,28 @@ "visibility": "internal" } ], - "id": 877, + "id": 883, "initialValue": { "arguments": [ { - "id": 872, + "id": 878, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1454:2:4", + "referencedDeclaration": 859, + "src": "1489:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 873, + "id": 879, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "1464:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 874, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 835, - "src": "1482:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 875, - "name": "saltNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "1499:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 871, - "name": "getMessageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "1432: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": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:82:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1402:112:4" - }, - { - "expression": { - "arguments": [ - { - "id": 879, - "name": "executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "1532:8:4", + "referencedDeclaration": 836, + "src": "1499:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1615,26 +1645,26 @@ }, { "id": 880, - "name": "criteriaMessageHash", + "name": "startTime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 870, - "src": "1542:19:4", + "referencedDeclaration": 838, + "src": "1517:9:4", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, { "id": 881, - "name": "signature", + "name": "saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "1563:9:4", + "referencedDeclaration": 840, + "src": "1534:9:4", "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], @@ -1645,23 +1675,27 @@ "typeString": "address" }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 878, - "name": "checkSigner", + "id": 877, + "name": "getMessageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "1520:11:4", + "referencedDeclaration": 939, + "src": "1467:14:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,bytes32,bytes memory) pure" + "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, @@ -1672,31 +1706,115 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1520:53:4", + "src": "1467:82:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1437:112:4" + }, + { + "expression": { + "arguments": [ + { + "id": 885, + "name": "executor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 761, + "src": "1567:8:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 886, + "name": "criteriaMessageHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 876, + "src": "1577:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 887, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 842, + "src": "1598:9:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 884, + "name": "checkSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1189, + "src": "1555: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, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1555:53:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 883, + "id": 889, "nodeType": "ExpressionStatement", - "src": "1520:53:4" + "src": "1555:53:4" }, { "assignments": [ - 885 + 891 ], "declarations": [ { "constant": false, - "id": 885, + "id": 891, "mutability": "mutable", "name": "tokenId", - "nameLocation": "1587:7:4", + "nameLocation": "1622:7:4", "nodeType": "VariableDeclaration", "scope": 910, - "src": "1579:15:4", + "src": "1614:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1704,10 +1822,10 @@ "typeString": "uint256" }, "typeName": { - "id": 884, + "id": 890, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1579:7:4", + "src": "1614:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1716,16 +1834,16 @@ "visibility": "internal" } ], - "id": 892, + "id": 898, "initialValue": { "arguments": [ { - "id": 890, + "id": 896, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1624:2:4", + "referencedDeclaration": 859, + "src": "1659:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1742,12 +1860,12 @@ "expression": { "arguments": [ { - "id": 887, + "id": 893, "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "1607:10:4", + "referencedDeclaration": 836, + "src": "1642:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1761,18 +1879,18 @@ "typeString": "address" } ], - "id": 886, + "id": 892, "name": "IClaimBox", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 748, - "src": "1597:9:4", + "referencedDeclaration": 755, + "src": "1632:9:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IClaimBox_$748_$", + "typeIdentifier": "t_type$_t_contract$_IClaimBox_$755_$", "typeString": "type(contract IClaimBox)" } }, - "id": 888, + "id": 894, "isConstant": false, "isLValue": false, "isPure": false, @@ -1780,14 +1898,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1597:21:4", + "src": "1632:21:4", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IClaimBox_$748", + "typeIdentifier": "t_contract$_IClaimBox_$755", "typeString": "contract IClaimBox" } }, - "id": 889, + "id": 895, "isConstant": false, "isLValue": false, "isPure": false, @@ -1795,13 +1913,13 @@ "memberName": "mint", "nodeType": "MemberAccess", "referencedDeclaration": 747, - "src": "1597:26:4", + "src": "1632:26:4", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 891, + "id": 897, "isConstant": false, "isLValue": false, "isPure": false, @@ -1809,7 +1927,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1597:30:4", + "src": "1632:30:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1817,18 +1935,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1579:48:4" + "src": "1614:48:4" }, { "expression": { "arguments": [ { - "id": 894, + "id": 900, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "1647:9:4", + "referencedDeclaration": 842, + "src": "1682:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -1842,18 +1960,18 @@ "typeString": "bytes calldata" } ], - "id": 893, + "id": 899, "name": "_useSignature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1221, - "src": "1633:13:4", + "src": "1668:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (bytes calldata)" } }, - "id": 895, + "id": 901, "isConstant": false, "isLValue": false, "isPure": false, @@ -1861,84 +1979,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1633:24:4", + "src": "1668:24:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 896, - "nodeType": "ExpressionStatement", - "src": "1633:24:4" - }, - { - "expression": { - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 897, - "name": "claimHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 762, - "src": "1663:12:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 899, - "indexExpression": { - "id": 898, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1676:2:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1663:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 900, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 885, - "src": "1682:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1663:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, "id": 902, "nodeType": "ExpressionStatement", - "src": "1663:26:4" + "src": "1668:24:4" }, { "eventCall": { @@ -1948,8 +1998,8 @@ "name": "nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "1711:10:4", + "referencedDeclaration": 836, + "src": "1714:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1960,8 +2010,8 @@ "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "1723:2:4", + "referencedDeclaration": 859, + "src": "1726:2:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1972,8 +2022,8 @@ "name": "saltNonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "1727:9:4", + "referencedDeclaration": 840, + "src": "1730:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1984,8 +2034,8 @@ "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 885, - "src": "1738:7:4", + "referencedDeclaration": 891, + "src": "1741:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2015,8 +2065,8 @@ "name": "BoxClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "1700:10:4", + "referencedDeclaration": 775, + "src": "1703:10:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" @@ -2030,7 +2080,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1700:46:4", + "src": "1703:46:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -2039,7 +2089,7 @@ }, "id": 909, "nodeType": "EmitStatement", - "src": "1695:51:4" + "src": "1698:51:4" } ] }, @@ -2051,74 +2101,74 @@ { "arguments": [ { - "id": 842, + "id": 845, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "1156:9:4", + "referencedDeclaration": 842, + "src": "1175:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } } ], - "id": 843, - "kind": "modifierInvocation", - "modifierName": { - "id": 841, - "name": "signatureValid", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1203, - "src": "1141:14:4" - }, - "nodeType": "ModifierInvocation", - "src": "1141:25:4" - }, - { - "arguments": [ - { - "id": 845, - "name": "startTime", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 835, - "src": "1177:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], "id": 846, "kind": "modifierInvocation", "modifierName": { "id": 844, + "name": "signatureValid", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1203, + "src": "1160:14:4" + }, + "nodeType": "ModifierInvocation", + "src": "1160:25:4" + }, + { + "arguments": [ + { + "id": 848, + "name": "startTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "1196:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 849, + "kind": "modifierInvocation", + "modifierName": { + "id": 847, "name": "timeValid", "nodeType": "IdentifierPath", "referencedDeclaration": 1257, - "src": "1167:9:4" + "src": "1186:9:4" }, "nodeType": "ModifierInvocation", - "src": "1167:20:4" + "src": "1186:20:4" } ], "name": "claim", - "nameLocation": "1022:5:4", + "nameLocation": "1041:5:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 840, + "id": 843, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 833, + "id": 836, "mutability": "mutable", "name": "nftAddress", - "nameLocation": "1041:10:4", + "nameLocation": "1060:10:4", "nodeType": "VariableDeclaration", "scope": 911, - "src": "1033:18:4", + "src": "1052:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2126,10 +2176,10 @@ "typeString": "address" }, "typeName": { - "id": 832, + "id": 835, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1033:7:4", + "src": "1052:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2140,13 +2190,13 @@ }, { "constant": false, - "id": 835, + "id": 838, "mutability": "mutable", "name": "startTime", - "nameLocation": "1065:9:4", + "nameLocation": "1084:9:4", "nodeType": "VariableDeclaration", "scope": 911, - "src": "1057:17:4", + "src": "1076:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2154,10 +2204,10 @@ "typeString": "uint256" }, "typeName": { - "id": 834, + "id": 837, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1057:7:4", + "src": "1076:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2167,13 +2217,13 @@ }, { "constant": false, - "id": 837, + "id": 840, "mutability": "mutable", "name": "saltNonce", - "nameLocation": "1088:9:4", + "nameLocation": "1107:9:4", "nodeType": "VariableDeclaration", "scope": 911, - "src": "1080:17:4", + "src": "1099:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2181,10 +2231,10 @@ "typeString": "uint256" }, "typeName": { - "id": 836, + "id": 839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1080:7:4", + "src": "1099:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2194,13 +2244,13 @@ }, { "constant": false, - "id": 839, + "id": 842, "mutability": "mutable", "name": "signature", - "nameLocation": "1118:9:4", + "nameLocation": "1137:9:4", "nodeType": "VariableDeclaration", "scope": 911, - "src": "1103:24:4", + "src": "1122:24:4", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2208,10 +2258,10 @@ "typeString": "bytes" }, "typeName": { - "id": 838, + "id": 841, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1103:5:4", + "src": "1122:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2220,16 +2270,16 @@ "visibility": "internal" } ], - "src": "1027:104:4" + "src": "1046:104:4" }, "returnParameters": { - "id": 847, + "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "1188:0:4" + "src": "1207:0:4" }, "scope": 940, - "src": "1013:738:4", + "src": "1032:722:4", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -2238,7 +2288,7 @@ "body": { "id": 938, "nodeType": "Block", - "src": "1900:150:4", + "src": "1903:150:4", "statements": [ { "assignments": [ @@ -2250,10 +2300,10 @@ "id": 925, "mutability": "mutable", "name": "encoded", - "nameLocation": "1919:7:4", + "nameLocation": "1922:7:4", "nodeType": "VariableDeclaration", "scope": 938, - "src": "1906:20:4", + "src": "1909:20:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2264,7 +2314,7 @@ "id": 924, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1906:5:4", + "src": "1909:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2282,7 +2332,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "1953:3:4", + "src": "1956:3:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2294,7 +2344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "1964:8:4", + "src": "1967:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2306,7 +2356,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 917, - "src": "1980:10:4", + "src": "1983:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2318,7 +2368,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 919, - "src": "1998:10:4", + "src": "2001:10:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2350,7 +2400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, - "src": "1929:3:4", + "src": "1932:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -2363,7 +2413,7 @@ "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1929:16:4", + "src": "1932:16:4", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -2377,7 +2427,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1929:85:4", + "src": "1932:85:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2385,7 +2435,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1906:108:4" + "src": "1909:108:4" }, { "expression": { @@ -2396,7 +2446,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 925, - "src": "2037:7:4", + "src": "2040:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -2415,7 +2465,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "2027:9:4", + "src": "2030:9:4", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" @@ -2429,7 +2479,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2027:18:4", + "src": "2030:18:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2439,7 +2489,7 @@ "functionReturnParameters": 923, "id": 937, "nodeType": "Return", - "src": "2020:25:4" + "src": "2023:25:4" } ] }, @@ -2449,7 +2499,7 @@ "kind": "function", "modifiers": [], "name": "getMessageHash", - "nameLocation": "1764:14:4", + "nameLocation": "1767:14:4", "nodeType": "FunctionDefinition", "parameters": { "id": 920, @@ -2460,10 +2510,10 @@ "id": 913, "mutability": "mutable", "name": "_to", - "nameLocation": "1792:3:4", + "nameLocation": "1795:3:4", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1784:11:4", + "src": "1787:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2474,7 +2524,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1784:7:4", + "src": "1787:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2488,10 +2538,10 @@ "id": 915, "mutability": "mutable", "name": "_address", - "nameLocation": "1809:8:4", + "nameLocation": "1812:8:4", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1801:16:4", + "src": "1804:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2502,7 +2552,7 @@ "id": 914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1801:7:4", + "src": "1804:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2516,10 +2566,10 @@ "id": 917, "mutability": "mutable", "name": "_startTime", - "nameLocation": "1831:10:4", + "nameLocation": "1834:10:4", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1823:18:4", + "src": "1826:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2530,7 +2580,7 @@ "id": 916, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1823:7:4", + "src": "1826:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2543,10 +2593,10 @@ "id": 919, "mutability": "mutable", "name": "_saltNonce", - "nameLocation": "1855:10:4", + "nameLocation": "1858:10:4", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1847:18:4", + "src": "1850:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2557,7 +2607,7 @@ "id": 918, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1847:7:4", + "src": "1850:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2566,7 +2616,7 @@ "visibility": "internal" } ], - "src": "1778:91:4" + "src": "1781:91:4" }, "returnParameters": { "id": 923, @@ -2580,7 +2630,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 939, - "src": "1891:7:4", + "src": "1894:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2591,7 +2641,7 @@ "id": 921, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1891:7:4", + "src": "1894:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2600,21 +2650,21 @@ "visibility": "internal" } ], - "src": "1890:9:4" + "src": "1893:9:4" }, "scope": 940, - "src": "1755:295:4", + "src": "1758:295:4", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], "scope": 941, - "src": "209:1843:4", + "src": "279:1776:4", "usedErrors": [] } ], - "src": "32:2021:4" + "src": "32:2024:4" }, "compiler": { "name": "solc", @@ -2622,7 +2672,7 @@ }, "networks": {}, "schemaVersion": "3.4.11", - "updatedAt": "2023-06-14T05:33:20.438Z", + "updatedAt": "2023-06-14T05:44:50.410Z", "devdoc": { "kind": "dev", "methods": {}, diff --git a/contracts/activity/ClaimBoxFactory.sol b/contracts/activity/ClaimBoxFactory.sol index f0be548..458ca22 100644 --- a/contracts/activity/ClaimBoxFactory.sol +++ b/contracts/activity/ClaimBoxFactory.sol @@ -6,12 +6,13 @@ import "../utils/TimeChecker.sol"; interface IClaimBox { function mint(address to) external returns (uint256); + + function balanceOf(address owner) external view returns (uint256); } contract ClaimBoxFactory is HasSignature, TimeChecker { address public executor; mapping(address => bool) public tokenSupported; - mapping(address => uint256) public claimHistory; event BoxClaimed( address indexed nftAddress, @@ -47,8 +48,8 @@ contract ClaimBoxFactory is HasSignature, TimeChecker { require(tokenSupported[nftAddress], "ClaimBoxFactory: unsupported NFT"); address to = _msgSender(); require( - claimHistory[to] == 0, - "ClaimBoxFactory: you have claimed this NFT" + IClaimBox(nftAddress).balanceOf(to) == 0, + "ClaimBoxFactory: you already have a box" ); bytes32 criteriaMessageHash = getMessageHash( to, @@ -59,7 +60,6 @@ contract ClaimBoxFactory is HasSignature, TimeChecker { checkSigner(executor, criteriaMessageHash, signature); uint256 tokenId = IClaimBox(nftAddress).mint(to); _useSignature(signature); - claimHistory[to] = tokenId; emit BoxClaimed(nftAddress, to, saltNonce, tokenId); }