diff --git a/build/contracts/IDO.json b/build/contracts/IDO.json index 808212e..d4f884a 100644 --- a/build/contracts/IDO.json +++ b/build/contracts/IDO.json @@ -385,47 +385,78 @@ "outputs": [], "stateMutability": "payable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "recoverEth", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nativeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_idoTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_idoAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"buyNow\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"iStaker\",\"outputs\":[{\"internalType\":\"contract IStaker\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"idoAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"idoPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"idoToken\",\"outputs\":[{\"internalType\":\"contract IERC20Metadata\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeToken\",\"outputs\":[{\"internalType\":\"contract IERC20Metadata\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pools\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"minNativeToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"participants\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"regDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"regStarts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolNo\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleStarts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleStartsAfter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolNo\",\"type\":\"uint256\"}],\"name\":\"tokensAndPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userlog\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"registeredPool\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"purchased\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/C/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol\":\"IDO\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol\":{\"keccak256\":\"0x94c09b0524d47bbc7625b5f3db0d95ba3e5f3c496f8d61d3adbcad5b549e4494\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3788d39124446cfdfb40a8a96a12315acb761259be6cb4222c927375599480ba\",\"dweb:/ipfs/QmNgKxF3rYG49BTZHaRDPeBkNmuGiy8kpYvCGJpb1Lg4vj\"]},\"/C/Users/sudip/Desktop/Matic Project/Staking/contracts/interfaces/IStaker.sol\":{\"keccak256\":\"0x5effe9cca34bcb12fd6c14651379d2033a7f7b912bcb357c4f3c7ec8d6179d96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9027231f06ce7b65e6cf65c404dce2a0f1db27cc27fa2c6f4c9eb3217245670e\",\"dweb:/ipfs/QmWN97d7HEdmw63mQjNgcBwwZizBn4bbFiCt94dAcVz1Zg\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x1cae4f85f114ff17b90414f5da67365b1d00337abb5bce9bf944eb78a2c0673c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5ff16b336ce8f906478d5f2eecc6435e00833bdc0b92f6b209cf9e92cb5b2b7\",\"dweb:/ipfs/QmRD1rAZEqQ73C33cdA3QoUyBDMEWnNKNMc6PNkAZWHeQQ\"]},\"openzeppelin-solidity/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0x1278c76b840063ff5e14a2d7c5707812c1eabc2342ed040bf862c2d7552102fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9989233808b8f475395f71ea757e277fa167cdac8a24d10f9784783defd313c\",\"dweb:/ipfs/Qmdg6rbPsShpnzvqKmPVuFk7eYU53oXTPxqUJXd9WLD4vg\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xf8e8d118a7a8b2e134181f7da655f6266aa3a0f9134b2605747139fcb0c5d835\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ec48567e7ad06acb670980d5cdf3fd7f3949bf12894f02d68c3bb43e75aa84f\",\"dweb:/ipfs/QmaG3R2J9cz92YT77vFjYrjMNU2wHp4ypwYD62HqDUqS5U\"]},\"openzeppelin-solidity/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]},\"openzeppelin-solidity/contracts/utils/Context.sol\":{\"keccak256\":\"0xf930d2df426bfcfc1f7415be724f04081c96f4fb9ec8d0e3a521c07692dface0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc2bfdea0d2562c76fb3c4cf70a86c6ba25c5a30e8f8515c95aafdf8383f8395\",\"dweb:/ipfs/QmTbFya18786ckJfLYUoWau9jBTKfmWnWm5XSViWvB7PXN\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162002f8938038062002f89833981810160405281019062000037919062000898565b6000620000496200079b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506001808190555084600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600581905550806006819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022a57600080fd5b505afa1580156200023f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026591906200091a565b60ff169050600b60405180608001604052806040518060400160405280600481526020017f4e756c6c00000000000000000000000000000000000000000000000000000000815250815260200160008152602001600081526020016000815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000190805190602001906200030c929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600681526020017f4b6e696768740000000000000000000000000000000000000000000000000000815250815260200183600a620003849190620009a1565b606462000392919062000ade565b815260200160028152602001600081525090806001815401808255809150506001900390600052602060002090600402016000909190919091506000820151816000019080519060200190620003ea929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600681526020017f426973686f700000000000000000000000000000000000000000000000000000815250815260200183600a620004629190620009a1565b6101f462000471919062000ade565b815260200160038152602001600081525090806001815401808255809150506001900390600052602060002090600402016000909190919091506000820151816000019080519060200190620004c9929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600481526020017f526f6f6b00000000000000000000000000000000000000000000000000000000815250815260200183600a620005419190620009a1565b6103e862000550919062000ade565b815260200160048152602001600081525090806001815401808255809150506001900390600052602060002090600402016000909190919091506000820151816000019080519060200190620005a8929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600481526020017f4b696e6700000000000000000000000000000000000000000000000000000000815250815260200183600a620006209190620009a1565b6107d06200062f919062000ade565b81526020016005815260200160008152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001908051906020019062000687929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600581526020017f517565656e000000000000000000000000000000000000000000000000000000815250815260200183600a620006ff9190620009a1565b610fa06200070e919062000ade565b81526020016006815260200160008152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001908051906020019062000766929190620007a3565b5060208201518160010155604082015181600201556060820151816003015550506014600c8190555050505050505062000c79565b600033905090565b828054620007b19062000b8a565b90600052602060002090601f016020900481019282620007d5576000855562000821565b82601f10620007f057805160ff191683800117855562000821565b8280016001018555821562000821579182015b828111156200082057825182559160200191906001019062000803565b5b50905062000830919062000834565b5090565b5b808211156200084f57600081600090555060010162000835565b5090565b600081519050620008648162000c2b565b92915050565b6000815190506200087b8162000c45565b92915050565b600081519050620008928162000c5f565b92915050565b600080600080600060a08688031215620008b157600080fd5b6000620008c18882890162000853565b9550506020620008d48882890162000853565b9450506040620008e78882890162000853565b9350506060620008fa888289016200086a565b92505060806200090d888289016200086a565b9150509295509295909350565b6000602082840312156200092d57600080fd5b60006200093d8482850162000881565b91505092915050565b6000808291508390505b6001851115620009985780860481111562000970576200096f62000bc0565b5b6001851615620009805780820291505b8081029050620009908562000c1e565b945062000950565b94509492505050565b6000620009ae8262000b73565b9150620009bb8362000b73565b9250620009ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009f2565b905092915050565b60008262000a04576001905062000ad7565b8162000a14576000905062000ad7565b816001811462000a2d576002811462000a385762000a6e565b600191505062000ad7565b60ff84111562000a4d5762000a4c62000bc0565b5b8360020a91508482111562000a675762000a6662000bc0565b5b5062000ad7565b5060208310610133831016604e8410600b841016171562000aa85782820a90508381111562000aa25762000aa162000bc0565b5b62000ad7565b62000ab7848484600162000946565b9250905081840481111562000ad15762000ad062000bc0565b5b81810290505b9392505050565b600062000aeb8262000b73565b915062000af88362000b73565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b345762000b3362000bc0565b5b828202905092915050565b600062000b4c8262000b53565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000ba357607f821691505b6020821081141562000bba5762000bb962000bef565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b62000c368162000b3f565b811462000c4257600080fd5b50565b62000c508162000b73565b811462000c5c57600080fd5b50565b62000c6a8162000b7d565b811462000c7657600080fd5b50565b6123008062000c896000396000f3fe6080604052600436106101405760003560e01c8063a25dd130116100b6578063e1758bd81161006f578063e1758bd814610427578063e76eda8614610452578063f207564e1461047d578063f2fde38b146104a6578063f3f40af2146104cf578063fe4b84df146104fa57610140565b8063a25dd13014610310578063ac4afa381461033b578063bf3834501461037b578063c4f34fab146103a6578063cd80fe0d146103d1578063d6cd82bc146103fc57610140565b8063715018a611610108578063715018a6146102435780638da5cb5b1461025a578063907af6c01461028557806396c82e57146102b05780639c3962f0146102db578063a158226d146102e557610140565b80630455444314610145578063236bcd58146101705780633711d9fb146101ae578063392e53cd146101d957806345a28e0614610204575b600080fd5b34801561015157600080fd5b5061015a610523565b6040516101679190611e0f565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611692565b610535565b6040516101a5929190611e2a565b60405180910390f35b3480156101ba57600080fd5b506101c36106bb565b6040516101d09190611e0f565b60405180910390f35b3480156101e557600080fd5b506101ee6106cd565b6040516101fb9190611b7b565b60405180910390f35b34801561021057600080fd5b5061022b60048036038101906102269190611640565b6106e0565b60405161023a93929190611b96565b60405180910390f35b34801561024f57600080fd5b50610258610724565b005b34801561026657600080fd5b5061026f61085e565b60405161027c9190611b37565b60405180910390f35b34801561029157600080fd5b5061029a610887565b6040516102a79190611e0f565b60405180910390f35b3480156102bc57600080fd5b506102c561088d565b6040516102d29190611e0f565b60405180910390f35b6102e3610893565b005b3480156102f157600080fd5b506102fa610c84565b6040516103079190611e0f565b60405180910390f35b34801561031c57600080fd5b50610325610c8a565b6040516103329190611e0f565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190611692565b610c9c565b6040516103729493929190611c03565b60405180910390f35b34801561038757600080fd5b50610390610d64565b60405161039d9190611e0f565b60405180910390f35b3480156103b257600080fd5b506103bb610d6a565b6040516103c89190611be8565b60405180910390f35b3480156103dd57600080fd5b506103e6610d90565b6040516103f39190611e0f565b60405180910390f35b34801561040857600080fd5b50610411610d96565b60405161041e9190611bcd565b60405180910390f35b34801561043357600080fd5b5061043c610dbc565b6040516104499190611bcd565b60405180910390f35b34801561045e57600080fd5b50610467610de2565b6040516104749190611e0f565b60405180910390f35b34801561048957600080fd5b506104a4600480360381019061049f9190611692565b610e0d565b005b3480156104b257600080fd5b506104cd60048036038101906104c89190611640565b6112f4565b005b3480156104db57600080fd5b506104e461149d565b6040516104f19190611e0f565b60405180910390f35b34801561050657600080fd5b50610521600480360381019061051c9190611692565b6114a3565b005b610e1060a86105329190612067565b81565b6000806000600b8481548110610574577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906004020190506000841480610597575060008160030154145b156105a95760008092509250506106b6565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561061357600080fd5b505afa158015610627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064b91906116e4565b60ff16905060008260030154600c546106649190612067565b83600201546005546106769190612067565b6106809190611ec5565b9050600082600a6106919190611f49565b6006548361069f9190612067565b6106a99190611ec5565b9050818195509550505050505b915091565b610e10600c6106ca9190612067565b81565b600a60009054906101000a900460ff1681565b60096020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020160009054906101000a900460ff16905083565b61072c6115cf565b73ffffffffffffffffffffffffffffffffffffffff1661074a61085e565b73ffffffffffffffffffffffffffffffffffffffff16146107a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079790611d4f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e1081565b600c5481565b6000429050600a60009054906101000a900460ff166108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de90611def565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16610976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096d90611c6f565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff1615610a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd90611d0f565b60405180910390fd5b8060085411158015610a335750610e10600c610a229190612067565b600854610a2f9190611e6f565b8111155b610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6990611daf565b60405180910390fd5b60026001541415610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90611dcf565b60405180910390fd5b60026001819055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080610b138360010154610535565b9150915060008114158015610b29575060008214155b610b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5f90611d6f565b60405180910390fd5b348114610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190611c4f565b60405180910390fd5b60018360020160006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610c24929190611b52565b602060405180830381600087803b158015610c3e57600080fd5b505af1158015610c52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c769190611669565b505050506001808190555050565b60075481565b610e106030610c999190612067565b81565b600b8181548110610cac57600080fd5b9060005260206000209060040201600091509050806000018054610ccf90612191565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfb90612191565b8015610d485780601f10610d1d57610100808354040283529160200191610d48565b820191906000526020600020905b815481529060010190602001808311610d2b57829003601f168201915b5050505050908060010154908060020154908060030154905084565b60055481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e106018610df19190612067565b610e106030610e009190612067565b610e0a9190611e6f565b81565b6000429050600a60009054906101000a900460ff16610e61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5890611def565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890611caf565b60405180910390fd5b8060075411158015610f1e5750610e106030610f0d9190612067565b600754610f1a9190611e6f565b8111155b610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5490611d8f565b60405180910390fd5b8180600111158015610f70575060058111155b610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa690611ccf565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166360217267336040518263ffffffff1660e01b815260040161100c9190611b37565b60206040518083038186803b15801561102457600080fd5b505afa158015611038573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105c91906116bb565b905080600b8381548110611099577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600402016001015411156110ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e390611d2f565b60405180910390fd5b60026001541415611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990611dcf565b60405180910390fd5b60026001819055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555083600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600b8581548110611218577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906004020160030160008282546112389190611e6f565b92505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663282d3fdf33610e1060a861128d9190612067565b426112989190611e6f565b6040518363ffffffff1660e01b81526004016112b5929190611b52565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b505050506001808190555050505050565b6112fc6115cf565b73ffffffffffffffffffffffffffffffffffffffff1661131a61085e565b73ffffffffffffffffffffffffffffffffffffffff1614611370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136790611d4f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d790611c8f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b6114ab6115cf565b73ffffffffffffffffffffffffffffffffffffffff166114c961085e565b73ffffffffffffffffffffffffffffffffffffffff161461151f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151690611d4f565b60405180910390fd5b600a60009054906101000a900460ff161561156f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156690611cef565b60405180910390fd5b80600781905550610e1060186115859190612067565b610e1060306115949190612067565b61159e9190611e6f565b6007546115ab9190611e6f565b6008819055506001600a60006101000a81548160ff02191690831515021790555050565b600033905090565b6000813590506115e68161226e565b92915050565b6000815190506115fb81612285565b92915050565b6000813590506116108161229c565b92915050565b6000815190506116258161229c565b92915050565b60008151905061163a816122b3565b92915050565b60006020828403121561165257600080fd5b6000611660848285016115d7565b91505092915050565b60006020828403121561167b57600080fd5b6000611689848285016115ec565b91505092915050565b6000602082840312156116a457600080fd5b60006116b284828501611601565b91505092915050565b6000602082840312156116cd57600080fd5b60006116db84828501611616565b91505092915050565b6000602082840312156116f657600080fd5b60006117048482850161162b565b91505092915050565b611716816120c1565b82525050565b611725816120d3565b82525050565b61173481612116565b82525050565b6117438161213a565b82525050565b600061175482611e53565b61175e8185611e5e565b935061176e81856020860161215e565b61177781612250565b840191505092915050565b600061178f601483611e5e565b91507f4e6f742056616c69642045746820416d6f756e740000000000000000000000006000830152602082019050919050565b60006117cf600e83611e5e565b91507f4e6f7420726567697374657265640000000000000000000000000000000000006000830152602082019050919050565b600061180f602683611e5e565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611875601283611e5e565b91507f416c7265616479207265676973746572656400000000000000000000000000006000830152602082019050919050565b60006118b5600f83611e5e565b91507f696e76616c696420506f6f6c206e6f00000000000000000000000000000000006000830152602082019050919050565b60006118f5601383611e5e565b91507f416c726561647920496e697469616c697a6564000000000000000000000000006000830152602082019050919050565b6000611935601183611e5e565b91507f416c7265616479205075726368617365640000000000000000000000000000006000830152602082019050919050565b6000611975601d83611e5e565b91507f43616e277420506172746963697061746520696e2074686520506f6f6c0000006000830152602082019050919050565b60006119b5602083611e5e565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006119f5601483611e5e565b91507f56616c7565732043616e2774204265205a65726f0000000000000000000000006000830152602082019050919050565b6000611a35601a83611e5e565b91507f4e6f7420696e20526567697374726174696f6e20506572696f640000000000006000830152602082019050919050565b6000611a75601283611e5e565b91507f4e6f7420696e2053616c6520506572696f6400000000000000000000000000006000830152602082019050919050565b6000611ab5601f83611e5e565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6000611af5601383611e5e565b91507f4e6f7420496e697469616c697a656420596574000000000000000000000000006000830152602082019050919050565b611b31816120ff565b82525050565b6000602082019050611b4c600083018461170d565b92915050565b6000604082019050611b67600083018561170d565b611b746020830184611b28565b9392505050565b6000602082019050611b90600083018461171c565b92915050565b6000606082019050611bab600083018661171c565b611bb86020830185611b28565b611bc5604083018461171c565b949350505050565b6000602082019050611be2600083018461172b565b92915050565b6000602082019050611bfd600083018461173a565b92915050565b60006080820190508181036000830152611c1d8187611749565b9050611c2c6020830186611b28565b611c396040830185611b28565b611c466060830184611b28565b95945050505050565b60006020820190508181036000830152611c6881611782565b9050919050565b60006020820190508181036000830152611c88816117c2565b9050919050565b60006020820190508181036000830152611ca881611802565b9050919050565b60006020820190508181036000830152611cc881611868565b9050919050565b60006020820190508181036000830152611ce8816118a8565b9050919050565b60006020820190508181036000830152611d08816118e8565b9050919050565b60006020820190508181036000830152611d2881611928565b9050919050565b60006020820190508181036000830152611d4881611968565b9050919050565b60006020820190508181036000830152611d68816119a8565b9050919050565b60006020820190508181036000830152611d88816119e8565b9050919050565b60006020820190508181036000830152611da881611a28565b9050919050565b60006020820190508181036000830152611dc881611a68565b9050919050565b60006020820190508181036000830152611de881611aa8565b9050919050565b60006020820190508181036000830152611e0881611ae8565b9050919050565b6000602082019050611e246000830184611b28565b92915050565b6000604082019050611e3f6000830185611b28565b611e4c6020830184611b28565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000611e7a826120ff565b9150611e85836120ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611eba57611eb96121c3565b5b828201905092915050565b6000611ed0826120ff565b9150611edb836120ff565b925082611eeb57611eea6121f2565b5b828204905092915050565b6000808291508390505b6001851115611f4057808604811115611f1c57611f1b6121c3565b5b6001851615611f2b5780820291505b8081029050611f3985612261565b9450611f00565b94509492505050565b6000611f54826120ff565b9150611f5f836120ff565b9250611f8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f94565b905092915050565b600082611fa45760019050612060565b81611fb25760009050612060565b8160018114611fc85760028114611fd257612001565b6001915050612060565b60ff841115611fe457611fe36121c3565b5b8360020a915084821115611ffb57611ffa6121c3565b5b50612060565b5060208310610133831016604e8410600b84101617156120365782820a905083811115612031576120306121c3565b5b612060565b6120438484846001611ef6565b9250905081840481111561205a576120596121c3565b5b81810290505b9392505050565b6000612072826120ff565b915061207d836120ff565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120b6576120b56121c3565b5b828202905092915050565b60006120cc826120df565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061212182612128565b9050919050565b6000612133826120df565b9050919050565b60006121458261214c565b9050919050565b6000612157826120df565b9050919050565b60005b8381101561217c578082015181840152602081019050612161565b8381111561218b576000848401525b50505050565b600060028204905060018216806121a957607f821691505b602082108114156121bd576121bc612221565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612277816120c1565b811461228257600080fd5b50565b61228e816120d3565b811461229957600080fd5b50565b6122a5816120ff565b81146122b057600080fd5b50565b6122bc81612109565b81146122c757600080fd5b5056fea264697066735822122070076e724a3fb495ba54f6c489bf0e384e32034eb86f65358a1a9cf72f62e8e664736f6c63430008000033", - "deployedBytecode": "0x6080604052600436106101405760003560e01c8063a25dd130116100b6578063e1758bd81161006f578063e1758bd814610427578063e76eda8614610452578063f207564e1461047d578063f2fde38b146104a6578063f3f40af2146104cf578063fe4b84df146104fa57610140565b8063a25dd13014610310578063ac4afa381461033b578063bf3834501461037b578063c4f34fab146103a6578063cd80fe0d146103d1578063d6cd82bc146103fc57610140565b8063715018a611610108578063715018a6146102435780638da5cb5b1461025a578063907af6c01461028557806396c82e57146102b05780639c3962f0146102db578063a158226d146102e557610140565b80630455444314610145578063236bcd58146101705780633711d9fb146101ae578063392e53cd146101d957806345a28e0614610204575b600080fd5b34801561015157600080fd5b5061015a610523565b6040516101679190611e0f565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611692565b610535565b6040516101a5929190611e2a565b60405180910390f35b3480156101ba57600080fd5b506101c36106bb565b6040516101d09190611e0f565b60405180910390f35b3480156101e557600080fd5b506101ee6106cd565b6040516101fb9190611b7b565b60405180910390f35b34801561021057600080fd5b5061022b60048036038101906102269190611640565b6106e0565b60405161023a93929190611b96565b60405180910390f35b34801561024f57600080fd5b50610258610724565b005b34801561026657600080fd5b5061026f61085e565b60405161027c9190611b37565b60405180910390f35b34801561029157600080fd5b5061029a610887565b6040516102a79190611e0f565b60405180910390f35b3480156102bc57600080fd5b506102c561088d565b6040516102d29190611e0f565b60405180910390f35b6102e3610893565b005b3480156102f157600080fd5b506102fa610c84565b6040516103079190611e0f565b60405180910390f35b34801561031c57600080fd5b50610325610c8a565b6040516103329190611e0f565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190611692565b610c9c565b6040516103729493929190611c03565b60405180910390f35b34801561038757600080fd5b50610390610d64565b60405161039d9190611e0f565b60405180910390f35b3480156103b257600080fd5b506103bb610d6a565b6040516103c89190611be8565b60405180910390f35b3480156103dd57600080fd5b506103e6610d90565b6040516103f39190611e0f565b60405180910390f35b34801561040857600080fd5b50610411610d96565b60405161041e9190611bcd565b60405180910390f35b34801561043357600080fd5b5061043c610dbc565b6040516104499190611bcd565b60405180910390f35b34801561045e57600080fd5b50610467610de2565b6040516104749190611e0f565b60405180910390f35b34801561048957600080fd5b506104a4600480360381019061049f9190611692565b610e0d565b005b3480156104b257600080fd5b506104cd60048036038101906104c89190611640565b6112f4565b005b3480156104db57600080fd5b506104e461149d565b6040516104f19190611e0f565b60405180910390f35b34801561050657600080fd5b50610521600480360381019061051c9190611692565b6114a3565b005b610e1060a86105329190612067565b81565b6000806000600b8481548110610574577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906004020190506000841480610597575060008160030154145b156105a95760008092509250506106b6565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561061357600080fd5b505afa158015610627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064b91906116e4565b60ff16905060008260030154600c546106649190612067565b83600201546005546106769190612067565b6106809190611ec5565b9050600082600a6106919190611f49565b6006548361069f9190612067565b6106a99190611ec5565b9050818195509550505050505b915091565b610e10600c6106ca9190612067565b81565b600a60009054906101000a900460ff1681565b60096020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020160009054906101000a900460ff16905083565b61072c6115cf565b73ffffffffffffffffffffffffffffffffffffffff1661074a61085e565b73ffffffffffffffffffffffffffffffffffffffff16146107a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079790611d4f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e1081565b600c5481565b6000429050600a60009054906101000a900460ff166108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de90611def565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16610976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096d90611c6f565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff1615610a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd90611d0f565b60405180910390fd5b8060085411158015610a335750610e10600c610a229190612067565b600854610a2f9190611e6f565b8111155b610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6990611daf565b60405180910390fd5b60026001541415610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90611dcf565b60405180910390fd5b60026001819055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080610b138360010154610535565b9150915060008114158015610b29575060008214155b610b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5f90611d6f565b60405180910390fd5b348114610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190611c4f565b60405180910390fd5b60018360020160006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610c24929190611b52565b602060405180830381600087803b158015610c3e57600080fd5b505af1158015610c52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c769190611669565b505050506001808190555050565b60075481565b610e106030610c999190612067565b81565b600b8181548110610cac57600080fd5b9060005260206000209060040201600091509050806000018054610ccf90612191565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfb90612191565b8015610d485780601f10610d1d57610100808354040283529160200191610d48565b820191906000526020600020905b815481529060010190602001808311610d2b57829003601f168201915b5050505050908060010154908060020154908060030154905084565b60055481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e106018610df19190612067565b610e106030610e009190612067565b610e0a9190611e6f565b81565b6000429050600a60009054906101000a900460ff16610e61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5890611def565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890611caf565b60405180910390fd5b8060075411158015610f1e5750610e106030610f0d9190612067565b600754610f1a9190611e6f565b8111155b610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5490611d8f565b60405180910390fd5b8180600111158015610f70575060058111155b610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa690611ccf565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166360217267336040518263ffffffff1660e01b815260040161100c9190611b37565b60206040518083038186803b15801561102457600080fd5b505afa158015611038573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105c91906116bb565b905080600b8381548110611099577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600402016001015411156110ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e390611d2f565b60405180910390fd5b60026001541415611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990611dcf565b60405180910390fd5b60026001819055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555083600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600b8581548110611218577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906004020160030160008282546112389190611e6f565b92505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663282d3fdf33610e1060a861128d9190612067565b426112989190611e6f565b6040518363ffffffff1660e01b81526004016112b5929190611b52565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b505050506001808190555050505050565b6112fc6115cf565b73ffffffffffffffffffffffffffffffffffffffff1661131a61085e565b73ffffffffffffffffffffffffffffffffffffffff1614611370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136790611d4f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d790611c8f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b6114ab6115cf565b73ffffffffffffffffffffffffffffffffffffffff166114c961085e565b73ffffffffffffffffffffffffffffffffffffffff161461151f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151690611d4f565b60405180910390fd5b600a60009054906101000a900460ff161561156f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156690611cef565b60405180910390fd5b80600781905550610e1060186115859190612067565b610e1060306115949190612067565b61159e9190611e6f565b6007546115ab9190611e6f565b6008819055506001600a60006101000a81548160ff02191690831515021790555050565b600033905090565b6000813590506115e68161226e565b92915050565b6000815190506115fb81612285565b92915050565b6000813590506116108161229c565b92915050565b6000815190506116258161229c565b92915050565b60008151905061163a816122b3565b92915050565b60006020828403121561165257600080fd5b6000611660848285016115d7565b91505092915050565b60006020828403121561167b57600080fd5b6000611689848285016115ec565b91505092915050565b6000602082840312156116a457600080fd5b60006116b284828501611601565b91505092915050565b6000602082840312156116cd57600080fd5b60006116db84828501611616565b91505092915050565b6000602082840312156116f657600080fd5b60006117048482850161162b565b91505092915050565b611716816120c1565b82525050565b611725816120d3565b82525050565b61173481612116565b82525050565b6117438161213a565b82525050565b600061175482611e53565b61175e8185611e5e565b935061176e81856020860161215e565b61177781612250565b840191505092915050565b600061178f601483611e5e565b91507f4e6f742056616c69642045746820416d6f756e740000000000000000000000006000830152602082019050919050565b60006117cf600e83611e5e565b91507f4e6f7420726567697374657265640000000000000000000000000000000000006000830152602082019050919050565b600061180f602683611e5e565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611875601283611e5e565b91507f416c7265616479207265676973746572656400000000000000000000000000006000830152602082019050919050565b60006118b5600f83611e5e565b91507f696e76616c696420506f6f6c206e6f00000000000000000000000000000000006000830152602082019050919050565b60006118f5601383611e5e565b91507f416c726561647920496e697469616c697a6564000000000000000000000000006000830152602082019050919050565b6000611935601183611e5e565b91507f416c7265616479205075726368617365640000000000000000000000000000006000830152602082019050919050565b6000611975601d83611e5e565b91507f43616e277420506172746963697061746520696e2074686520506f6f6c0000006000830152602082019050919050565b60006119b5602083611e5e565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006119f5601483611e5e565b91507f56616c7565732043616e2774204265205a65726f0000000000000000000000006000830152602082019050919050565b6000611a35601a83611e5e565b91507f4e6f7420696e20526567697374726174696f6e20506572696f640000000000006000830152602082019050919050565b6000611a75601283611e5e565b91507f4e6f7420696e2053616c6520506572696f6400000000000000000000000000006000830152602082019050919050565b6000611ab5601f83611e5e565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6000611af5601383611e5e565b91507f4e6f7420496e697469616c697a656420596574000000000000000000000000006000830152602082019050919050565b611b31816120ff565b82525050565b6000602082019050611b4c600083018461170d565b92915050565b6000604082019050611b67600083018561170d565b611b746020830184611b28565b9392505050565b6000602082019050611b90600083018461171c565b92915050565b6000606082019050611bab600083018661171c565b611bb86020830185611b28565b611bc5604083018461171c565b949350505050565b6000602082019050611be2600083018461172b565b92915050565b6000602082019050611bfd600083018461173a565b92915050565b60006080820190508181036000830152611c1d8187611749565b9050611c2c6020830186611b28565b611c396040830185611b28565b611c466060830184611b28565b95945050505050565b60006020820190508181036000830152611c6881611782565b9050919050565b60006020820190508181036000830152611c88816117c2565b9050919050565b60006020820190508181036000830152611ca881611802565b9050919050565b60006020820190508181036000830152611cc881611868565b9050919050565b60006020820190508181036000830152611ce8816118a8565b9050919050565b60006020820190508181036000830152611d08816118e8565b9050919050565b60006020820190508181036000830152611d2881611928565b9050919050565b60006020820190508181036000830152611d4881611968565b9050919050565b60006020820190508181036000830152611d68816119a8565b9050919050565b60006020820190508181036000830152611d88816119e8565b9050919050565b60006020820190508181036000830152611da881611a28565b9050919050565b60006020820190508181036000830152611dc881611a68565b9050919050565b60006020820190508181036000830152611de881611aa8565b9050919050565b60006020820190508181036000830152611e0881611ae8565b9050919050565b6000602082019050611e246000830184611b28565b92915050565b6000604082019050611e3f6000830185611b28565b611e4c6020830184611b28565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000611e7a826120ff565b9150611e85836120ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611eba57611eb96121c3565b5b828201905092915050565b6000611ed0826120ff565b9150611edb836120ff565b925082611eeb57611eea6121f2565b5b828204905092915050565b6000808291508390505b6001851115611f4057808604811115611f1c57611f1b6121c3565b5b6001851615611f2b5780820291505b8081029050611f3985612261565b9450611f00565b94509492505050565b6000611f54826120ff565b9150611f5f836120ff565b9250611f8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f94565b905092915050565b600082611fa45760019050612060565b81611fb25760009050612060565b8160018114611fc85760028114611fd257612001565b6001915050612060565b60ff841115611fe457611fe36121c3565b5b8360020a915084821115611ffb57611ffa6121c3565b5b50612060565b5060208310610133831016604e8410600b84101617156120365782820a905083811115612031576120306121c3565b5b612060565b6120438484846001611ef6565b9250905081840481111561205a576120596121c3565b5b81810290505b9392505050565b6000612072826120ff565b915061207d836120ff565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120b6576120b56121c3565b5b828202905092915050565b60006120cc826120df565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061212182612128565b9050919050565b6000612133826120df565b9050919050565b60006121458261214c565b9050919050565b6000612157826120df565b9050919050565b60005b8381101561217c578082015181840152602081019050612161565b8381111561218b576000848401525b50505050565b600060028204905060018216806121a957607f821691505b602082108114156121bd576121bc612221565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612277816120c1565b811461228257600080fd5b50565b61228e816120d3565b811461229957600080fd5b50565b6122a5816120ff565b81146122b057600080fd5b50565b6122bc81612109565b81146122c757600080fd5b5056fea264697066735822122070076e724a3fb495ba54f6c489bf0e384e32034eb86f65358a1a9cf72f62e8e664736f6c63430008000033", + "metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nativeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_idoTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_idoAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"buyNow\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"iStaker\",\"outputs\":[{\"internalType\":\"contract IStaker\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"idoAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"idoPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"idoToken\",\"outputs\":[{\"internalType\":\"contract IERC20Metadata\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeToken\",\"outputs\":[{\"internalType\":\"contract IERC20Metadata\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pools\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"minNativeToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"participants\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"recoverERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"recoverEth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"regDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"regStarts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolNo\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleStarts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleStartsAfter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolNo\",\"type\":\"uint256\"}],\"name\":\"tokensAndPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userlog\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"registeredPool\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"purchased\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/C/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol\":\"IDO\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol\":{\"keccak256\":\"0x5b3990e9f03ea5f85d1b60f052e9b9def322232103e176ff9450d69a055c53d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b10bd78b87ead2799eb80ae511d359a95fef84731cff463f848c3e275c871d\",\"dweb:/ipfs/QmSLTAxx1jvMTLdjV2oWpvPiukyngNeKy2CENmW24rEMp3\"]},\"/C/Users/sudip/Desktop/Matic Project/Staking/contracts/interfaces/IStaker.sol\":{\"keccak256\":\"0x5effe9cca34bcb12fd6c14651379d2033a7f7b912bcb357c4f3c7ec8d6179d96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9027231f06ce7b65e6cf65c404dce2a0f1db27cc27fa2c6f4c9eb3217245670e\",\"dweb:/ipfs/QmWN97d7HEdmw63mQjNgcBwwZizBn4bbFiCt94dAcVz1Zg\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x1cae4f85f114ff17b90414f5da67365b1d00337abb5bce9bf944eb78a2c0673c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5ff16b336ce8f906478d5f2eecc6435e00833bdc0b92f6b209cf9e92cb5b2b7\",\"dweb:/ipfs/QmRD1rAZEqQ73C33cdA3QoUyBDMEWnNKNMc6PNkAZWHeQQ\"]},\"openzeppelin-solidity/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0x1278c76b840063ff5e14a2d7c5707812c1eabc2342ed040bf862c2d7552102fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9989233808b8f475395f71ea757e277fa167cdac8a24d10f9784783defd313c\",\"dweb:/ipfs/Qmdg6rbPsShpnzvqKmPVuFk7eYU53oXTPxqUJXd9WLD4vg\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xf8e8d118a7a8b2e134181f7da655f6266aa3a0f9134b2605747139fcb0c5d835\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ec48567e7ad06acb670980d5cdf3fd7f3949bf12894f02d68c3bb43e75aa84f\",\"dweb:/ipfs/QmaG3R2J9cz92YT77vFjYrjMNU2wHp4ypwYD62HqDUqS5U\"]},\"openzeppelin-solidity/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]},\"openzeppelin-solidity/contracts/utils/Context.sol\":{\"keccak256\":\"0xf930d2df426bfcfc1f7415be724f04081c96f4fb9ec8d0e3a521c07692dface0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc2bfdea0d2562c76fb3c4cf70a86c6ba25c5a30e8f8515c95aafdf8383f8395\",\"dweb:/ipfs/QmTbFya18786ckJfLYUoWau9jBTKfmWnWm5XSViWvB7PXN\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620034ee380380620034ee833981810160405281019062000037919062000898565b6000620000496200079b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506001808190555084600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600581905550806006819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022a57600080fd5b505afa1580156200023f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026591906200091a565b60ff169050600b60405180608001604052806040518060400160405280600481526020017f4e756c6c00000000000000000000000000000000000000000000000000000000815250815260200160008152602001600081526020016000815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000190805190602001906200030c929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600681526020017f4b6e696768740000000000000000000000000000000000000000000000000000815250815260200183600a620003849190620009a1565b606462000392919062000ade565b815260200160028152602001600081525090806001815401808255809150506001900390600052602060002090600402016000909190919091506000820151816000019080519060200190620003ea929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600681526020017f426973686f700000000000000000000000000000000000000000000000000000815250815260200183600a620004629190620009a1565b6101f462000471919062000ade565b815260200160038152602001600081525090806001815401808255809150506001900390600052602060002090600402016000909190919091506000820151816000019080519060200190620004c9929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600481526020017f526f6f6b00000000000000000000000000000000000000000000000000000000815250815260200183600a620005419190620009a1565b6103e862000550919062000ade565b815260200160048152602001600081525090806001815401808255809150506001900390600052602060002090600402016000909190919091506000820151816000019080519060200190620005a8929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600481526020017f4b696e6700000000000000000000000000000000000000000000000000000000815250815260200183600a620006209190620009a1565b6107d06200062f919062000ade565b81526020016005815260200160008152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001908051906020019062000687929190620007a3565b506020820151816001015560408201518160020155606082015181600301555050600b60405180608001604052806040518060400160405280600581526020017f517565656e000000000000000000000000000000000000000000000000000000815250815260200183600a620006ff9190620009a1565b610fa06200070e919062000ade565b81526020016006815260200160008152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001908051906020019062000766929190620007a3565b5060208201518160010155604082015181600201556060820151816003015550506014600c8190555050505050505062000c79565b600033905090565b828054620007b19062000b8a565b90600052602060002090601f016020900481019282620007d5576000855562000821565b82601f10620007f057805160ff191683800117855562000821565b8280016001018555821562000821579182015b828111156200082057825182559160200191906001019062000803565b5b50905062000830919062000834565b5090565b5b808211156200084f57600081600090555060010162000835565b5090565b600081519050620008648162000c2b565b92915050565b6000815190506200087b8162000c45565b92915050565b600081519050620008928162000c5f565b92915050565b600080600080600060a08688031215620008b157600080fd5b6000620008c18882890162000853565b9550506020620008d48882890162000853565b9450506040620008e78882890162000853565b9350506060620008fa888289016200086a565b92505060806200090d888289016200086a565b9150509295509295909350565b6000602082840312156200092d57600080fd5b60006200093d8482850162000881565b91505092915050565b6000808291508390505b6001851115620009985780860481111562000970576200096f62000bc0565b5b6001851615620009805780820291505b8081029050620009908562000c1e565b945062000950565b94509492505050565b6000620009ae8262000b73565b9150620009bb8362000b73565b9250620009ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009f2565b905092915050565b60008262000a04576001905062000ad7565b8162000a14576000905062000ad7565b816001811462000a2d576002811462000a385762000a6e565b600191505062000ad7565b60ff84111562000a4d5762000a4c62000bc0565b5b8360020a91508482111562000a675762000a6662000bc0565b5b5062000ad7565b5060208310610133831016604e8410600b841016171562000aa85782820a90508381111562000aa25762000aa162000bc0565b5b62000ad7565b62000ab7848484600162000946565b9250905081840481111562000ad15762000ad062000bc0565b5b81810290505b9392505050565b600062000aeb8262000b73565b915062000af88362000b73565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b345762000b3362000bc0565b5b828202905092915050565b600062000b4c8262000b53565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000ba357607f821691505b6020821081141562000bba5762000bb962000bef565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b62000c368162000b3f565b811462000c4257600080fd5b50565b62000c508162000b73565b811462000c5c57600080fd5b50565b62000c6a8162000b7d565b811462000c7657600080fd5b50565b6128658062000c896000396000f3fe6080604052600436106101665760003560e01c8063a158226d116100d1578063d6cd82bc1161008a578063f207564e11610064578063f207564e146104f5578063f2fde38b1461051e578063f3f40af214610547578063fe4b84df1461057257610166565b8063d6cd82bc14610474578063e1758bd81461049f578063e76eda86146104ca57610166565b8063a158226d1461035d578063a25dd13014610388578063ac4afa38146103b3578063bf383450146103f3578063c4f34fab1461041e578063cd80fe0d1461044957610166565b80637504db3e116101235780637504db3e14610280578063886f039a146102a95780638da5cb5b146102d2578063907af6c0146102fd57806396c82e57146103285780639c3962f01461035357610166565b8063045544431461016b578063236bcd58146101965780633711d9fb146101d4578063392e53cd146101ff57806345a28e061461022a578063715018a614610269575b600080fd5b34801561017757600080fd5b5061018061059b565b60405161018d9190612369565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611afd565b6105ad565b6040516101cb929190612384565b60405180910390f35b3480156101e057600080fd5b506101e9610733565b6040516101f69190612369565b60405180910390f35b34801561020b57600080fd5b50610214610745565b6040516102219190612095565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611a6f565b610758565b604051610260939291906120b0565b60405180910390f35b34801561027557600080fd5b5061027e61079c565b005b34801561028c57600080fd5b506102a760048036038101906102a29190611a6f565b6108d6565b005b3480156102b557600080fd5b506102d060048036038101906102cb9190611a98565b610a02565b005b3480156102de57600080fd5b506102e7610b9e565b6040516102f49190612051565b60405180910390f35b34801561030957600080fd5b50610312610bc7565b60405161031f9190612369565b60405180910390f35b34801561033457600080fd5b5061033d610bcd565b60405161034a9190612369565b60405180910390f35b61035b610bd3565b005b34801561036957600080fd5b50610372610fc4565b60405161037f9190612369565b60405180910390f35b34801561039457600080fd5b5061039d610fca565b6040516103aa9190612369565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190611afd565b610fdc565b6040516103ea949392919061211d565b60405180910390f35b3480156103ff57600080fd5b506104086110a4565b6040516104159190612369565b60405180910390f35b34801561042a57600080fd5b506104336110aa565b6040516104409190612102565b60405180910390f35b34801561045557600080fd5b5061045e6110d0565b60405161046b9190612369565b60405180910390f35b34801561048057600080fd5b506104896110d6565b60405161049691906120e7565b60405180910390f35b3480156104ab57600080fd5b506104b46110fc565b6040516104c191906120e7565b60405180910390f35b3480156104d657600080fd5b506104df611122565b6040516104ec9190612369565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611afd565b61114d565b005b34801561052a57600080fd5b5061054560048036038101906105409190611a6f565b611634565b005b34801561055357600080fd5b5061055c6117dd565b6040516105699190612369565b60405180910390f35b34801561057e57600080fd5b5061059960048036038101906105949190611afd565b6117e3565b005b610e1060a86105aa91906125cc565b81565b6000806000600b84815481106105ec577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600402019050600084148061060f575060008160030154145b1561062157600080925092505061072e565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561068b57600080fd5b505afa15801561069f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c39190611b4f565b60ff16905060008260030154600c546106dc91906125cc565b83600201546005546106ee91906125cc565b6106f8919061242a565b9050600082600a61070991906124ae565b6006548361071791906125cc565b610721919061242a565b9050818195509550505050505b915091565b610e10600c61074291906125cc565b81565b600a60009054906101000a900460ff1681565b60096020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020160009054906101000a900460ff16905083565b6107a46119fe565b73ffffffffffffffffffffffffffffffffffffffff166107c2610b9e565b73ffffffffffffffffffffffffffffffffffffffff1614610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f906122a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108de6119fe565b73ffffffffffffffffffffffffffffffffffffffff166108fc610b9e565b73ffffffffffffffffffffffffffffffffffffffff1614610952576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610949906122a9565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16476040516109789061203c565b60006040518083038185875af1925050503d80600081146109b5576040519150601f19603f3d011682016040523d82523d6000602084013e6109ba565b606091505b50509050806109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612269565b60405180910390fd5b5050565b610a0a6119fe565b73ffffffffffffffffffffffffffffffffffffffff16610a28610b9e565b73ffffffffffffffffffffffffffffffffffffffff1614610a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a75906122a9565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb838373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ad99190612051565b60206040518083038186803b158015610af157600080fd5b505afa158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b299190611b26565b6040518363ffffffff1660e01b8152600401610b4692919061206c565b602060405180830381600087803b158015610b6057600080fd5b505af1158015610b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b989190611ad4565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e1081565b600c5481565b6000429050600a60009054906101000a900460ff16610c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1e90612349565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad90612189565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff1615610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90612229565b60405180910390fd5b8060085411158015610d735750610e10600c610d6291906125cc565b600854610d6f91906123d4565b8111155b610db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da990612309565b60405180910390fd5b60026001541415610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def90612329565b60405180910390fd5b60026001819055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080610e5383600101546105ad565b9150915060008114158015610e69575060008214155b610ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9f906122c9565b60405180910390fd5b348114610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190612169565b60405180910390fd5b60018360020160006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610f6492919061206c565b602060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb69190611ad4565b505050506001808190555050565b60075481565b610e106030610fd991906125cc565b81565b600b8181548110610fec57600080fd5b906000526020600020906004020160009150905080600001805461100f906126f6565b80601f016020809104026020016040519081016040528092919081815260200182805461103b906126f6565b80156110885780601f1061105d57610100808354040283529160200191611088565b820191906000526020600020905b81548152906001019060200180831161106b57829003601f168201915b5050505050908060010154908060020154908060030154905084565b60055481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e10601861113191906125cc565b610e10603061114091906125cc565b61114a91906123d4565b81565b6000429050600a60009054906101000a900460ff166111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890612349565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615611231576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611228906121c9565b60405180910390fd5b806007541115801561125e5750610e10603061124d91906125cc565b60075461125a91906123d4565b8111155b61129d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611294906122e9565b60405180910390fd5b81806001111580156112b0575060058111155b6112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e6906121e9565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166360217267336040518263ffffffff1660e01b815260040161134c9190612051565b60206040518083038186803b15801561136457600080fd5b505afa158015611378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139c9190611b26565b905080600b83815481106113d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906004020160010154111561142c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142390612249565b60405180910390fd5b60026001541415611472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146990612329565b60405180910390fd5b60026001819055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555083600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600b8581548110611558577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060040201600301600082825461157891906123d4565b92505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663282d3fdf33610e1060a86115cd91906125cc565b426115d891906123d4565b6040518363ffffffff1660e01b81526004016115f592919061206c565b600060405180830381600087803b15801561160f57600080fd5b505af1158015611623573d6000803e3d6000fd5b505050506001808190555050505050565b61163c6119fe565b73ffffffffffffffffffffffffffffffffffffffff1661165a610b9e565b73ffffffffffffffffffffffffffffffffffffffff16146116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a7906122a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611720576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611717906121a9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b6117eb6119fe565b73ffffffffffffffffffffffffffffffffffffffff16611809610b9e565b73ffffffffffffffffffffffffffffffffffffffff161461185f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611856906122a9565b60405180910390fd5b600a60009054906101000a900460ff16156118af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a690612209565b60405180910390fd5b80600781905550610e1060186118c591906125cc565b610e1060306118d491906125cc565b6118de91906123d4565b6007546118eb91906123d4565b600881905550600554600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161194f9190612051565b60206040518083038186803b15801561196757600080fd5b505afa15801561197b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199f9190611b26565b10156119e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d790612289565b60405180910390fd5b6001600a60006101000a81548160ff02191690831515021790555050565b600033905090565b600081359050611a15816127d3565b92915050565b600081519050611a2a816127ea565b92915050565b600081359050611a3f81612801565b92915050565b600081519050611a5481612801565b92915050565b600081519050611a6981612818565b92915050565b600060208284031215611a8157600080fd5b6000611a8f84828501611a06565b91505092915050565b60008060408385031215611aab57600080fd5b6000611ab985828601611a06565b9250506020611aca85828601611a06565b9150509250929050565b600060208284031215611ae657600080fd5b6000611af484828501611a1b565b91505092915050565b600060208284031215611b0f57600080fd5b6000611b1d84828501611a30565b91505092915050565b600060208284031215611b3857600080fd5b6000611b4684828501611a45565b91505092915050565b600060208284031215611b6157600080fd5b6000611b6f84828501611a5a565b91505092915050565b611b8181612626565b82525050565b611b9081612638565b82525050565b611b9f8161267b565b82525050565b611bae8161269f565b82525050565b6000611bbf826123ad565b611bc981856123c3565b9350611bd98185602086016126c3565b611be2816127b5565b840191505092915050565b6000611bfa6014836123c3565b91507f4e6f742056616c69642045746820416d6f756e740000000000000000000000006000830152602082019050919050565b6000611c3a600e836123c3565b91507f4e6f7420726567697374657265640000000000000000000000000000000000006000830152602082019050919050565b6000611c7a6026836123c3565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ce06012836123c3565b91507f416c7265616479207265676973746572656400000000000000000000000000006000830152602082019050919050565b6000611d20600f836123c3565b91507f696e76616c696420506f6f6c206e6f00000000000000000000000000000000006000830152602082019050919050565b6000611d606013836123c3565b91507f416c726561647920496e697469616c697a6564000000000000000000000000006000830152602082019050919050565b6000611da06011836123c3565b91507f416c7265616479205075726368617365640000000000000000000000000000006000830152602082019050919050565b6000611de0601d836123c3565b91507f43616e277420506172746963697061746520696e2074686520506f6f6c0000006000830152602082019050919050565b6000611e206015836123c3565b91507f556e61626c6520546f205265636f7665722045746800000000000000000000006000830152602082019050919050565b6000611e60601d836123c3565b91507f4e6f7420456e6f75676820546f6b656e7320496e20436f6e74726163740000006000830152602082019050919050565b6000611ea06020836123c3565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611ee06014836123c3565b91507f56616c7565732043616e2774204265205a65726f0000000000000000000000006000830152602082019050919050565b6000611f20601a836123c3565b91507f4e6f7420696e20526567697374726174696f6e20506572696f640000000000006000830152602082019050919050565b6000611f606000836123b8565b9150600082019050919050565b6000611f7a6012836123c3565b91507f4e6f7420696e2053616c6520506572696f6400000000000000000000000000006000830152602082019050919050565b6000611fba601f836123c3565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6000611ffa6013836123c3565b91507f4e6f7420496e697469616c697a656420596574000000000000000000000000006000830152602082019050919050565b61203681612664565b82525050565b600061204782611f53565b9150819050919050565b60006020820190506120666000830184611b78565b92915050565b60006040820190506120816000830185611b78565b61208e602083018461202d565b9392505050565b60006020820190506120aa6000830184611b87565b92915050565b60006060820190506120c56000830186611b87565b6120d2602083018561202d565b6120df6040830184611b87565b949350505050565b60006020820190506120fc6000830184611b96565b92915050565b60006020820190506121176000830184611ba5565b92915050565b600060808201905081810360008301526121378187611bb4565b9050612146602083018661202d565b612153604083018561202d565b612160606083018461202d565b95945050505050565b6000602082019050818103600083015261218281611bed565b9050919050565b600060208201905081810360008301526121a281611c2d565b9050919050565b600060208201905081810360008301526121c281611c6d565b9050919050565b600060208201905081810360008301526121e281611cd3565b9050919050565b6000602082019050818103600083015261220281611d13565b9050919050565b6000602082019050818103600083015261222281611d53565b9050919050565b6000602082019050818103600083015261224281611d93565b9050919050565b6000602082019050818103600083015261226281611dd3565b9050919050565b6000602082019050818103600083015261228281611e13565b9050919050565b600060208201905081810360008301526122a281611e53565b9050919050565b600060208201905081810360008301526122c281611e93565b9050919050565b600060208201905081810360008301526122e281611ed3565b9050919050565b6000602082019050818103600083015261230281611f13565b9050919050565b6000602082019050818103600083015261232281611f6d565b9050919050565b6000602082019050818103600083015261234281611fad565b9050919050565b6000602082019050818103600083015261236281611fed565b9050919050565b600060208201905061237e600083018461202d565b92915050565b6000604082019050612399600083018561202d565b6123a6602083018461202d565b9392505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006123df82612664565b91506123ea83612664565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561241f5761241e612728565b5b828201905092915050565b600061243582612664565b915061244083612664565b9250826124505761244f612757565b5b828204905092915050565b6000808291508390505b60018511156124a55780860481111561248157612480612728565b5b60018516156124905780820291505b808102905061249e856127c6565b9450612465565b94509492505050565b60006124b982612664565b91506124c483612664565b92506124f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124f9565b905092915050565b60008261250957600190506125c5565b8161251757600090506125c5565b816001811461252d576002811461253757612566565b60019150506125c5565b60ff84111561254957612548612728565b5b8360020a9150848211156125605761255f612728565b5b506125c5565b5060208310610133831016604e8410600b841016171561259b5782820a90508381111561259657612595612728565b5b6125c5565b6125a8848484600161245b565b925090508184048111156125bf576125be612728565b5b81810290505b9392505050565b60006125d782612664565b91506125e283612664565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561261b5761261a612728565b5b828202905092915050565b600061263182612644565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126868261268d565b9050919050565b600061269882612644565b9050919050565b60006126aa826126b1565b9050919050565b60006126bc82612644565b9050919050565b60005b838110156126e15780820151818401526020810190506126c6565b838111156126f0576000848401525b50505050565b6000600282049050600182168061270e57607f821691505b6020821081141561272257612721612786565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b6127dc81612626565b81146127e757600080fd5b50565b6127f381612638565b81146127fe57600080fd5b50565b61280a81612664565b811461281557600080fd5b50565b6128218161266e565b811461282c57600080fd5b5056fea2646970667358221220ff8c37d656d6125aba9caa894d204894adbffd8a6e3c87b07ad29cbe366c93a664736f6c63430008000033", + "deployedBytecode": "0x6080604052600436106101665760003560e01c8063a158226d116100d1578063d6cd82bc1161008a578063f207564e11610064578063f207564e146104f5578063f2fde38b1461051e578063f3f40af214610547578063fe4b84df1461057257610166565b8063d6cd82bc14610474578063e1758bd81461049f578063e76eda86146104ca57610166565b8063a158226d1461035d578063a25dd13014610388578063ac4afa38146103b3578063bf383450146103f3578063c4f34fab1461041e578063cd80fe0d1461044957610166565b80637504db3e116101235780637504db3e14610280578063886f039a146102a95780638da5cb5b146102d2578063907af6c0146102fd57806396c82e57146103285780639c3962f01461035357610166565b8063045544431461016b578063236bcd58146101965780633711d9fb146101d4578063392e53cd146101ff57806345a28e061461022a578063715018a614610269575b600080fd5b34801561017757600080fd5b5061018061059b565b60405161018d9190612369565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611afd565b6105ad565b6040516101cb929190612384565b60405180910390f35b3480156101e057600080fd5b506101e9610733565b6040516101f69190612369565b60405180910390f35b34801561020b57600080fd5b50610214610745565b6040516102219190612095565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611a6f565b610758565b604051610260939291906120b0565b60405180910390f35b34801561027557600080fd5b5061027e61079c565b005b34801561028c57600080fd5b506102a760048036038101906102a29190611a6f565b6108d6565b005b3480156102b557600080fd5b506102d060048036038101906102cb9190611a98565b610a02565b005b3480156102de57600080fd5b506102e7610b9e565b6040516102f49190612051565b60405180910390f35b34801561030957600080fd5b50610312610bc7565b60405161031f9190612369565b60405180910390f35b34801561033457600080fd5b5061033d610bcd565b60405161034a9190612369565b60405180910390f35b61035b610bd3565b005b34801561036957600080fd5b50610372610fc4565b60405161037f9190612369565b60405180910390f35b34801561039457600080fd5b5061039d610fca565b6040516103aa9190612369565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190611afd565b610fdc565b6040516103ea949392919061211d565b60405180910390f35b3480156103ff57600080fd5b506104086110a4565b6040516104159190612369565b60405180910390f35b34801561042a57600080fd5b506104336110aa565b6040516104409190612102565b60405180910390f35b34801561045557600080fd5b5061045e6110d0565b60405161046b9190612369565b60405180910390f35b34801561048057600080fd5b506104896110d6565b60405161049691906120e7565b60405180910390f35b3480156104ab57600080fd5b506104b46110fc565b6040516104c191906120e7565b60405180910390f35b3480156104d657600080fd5b506104df611122565b6040516104ec9190612369565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611afd565b61114d565b005b34801561052a57600080fd5b5061054560048036038101906105409190611a6f565b611634565b005b34801561055357600080fd5b5061055c6117dd565b6040516105699190612369565b60405180910390f35b34801561057e57600080fd5b5061059960048036038101906105949190611afd565b6117e3565b005b610e1060a86105aa91906125cc565b81565b6000806000600b84815481106105ec577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600402019050600084148061060f575060008160030154145b1561062157600080925092505061072e565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561068b57600080fd5b505afa15801561069f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c39190611b4f565b60ff16905060008260030154600c546106dc91906125cc565b83600201546005546106ee91906125cc565b6106f8919061242a565b9050600082600a61070991906124ae565b6006548361071791906125cc565b610721919061242a565b9050818195509550505050505b915091565b610e10600c61074291906125cc565b81565b600a60009054906101000a900460ff1681565b60096020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020160009054906101000a900460ff16905083565b6107a46119fe565b73ffffffffffffffffffffffffffffffffffffffff166107c2610b9e565b73ffffffffffffffffffffffffffffffffffffffff1614610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f906122a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108de6119fe565b73ffffffffffffffffffffffffffffffffffffffff166108fc610b9e565b73ffffffffffffffffffffffffffffffffffffffff1614610952576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610949906122a9565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16476040516109789061203c565b60006040518083038185875af1925050503d80600081146109b5576040519150601f19603f3d011682016040523d82523d6000602084013e6109ba565b606091505b50509050806109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612269565b60405180910390fd5b5050565b610a0a6119fe565b73ffffffffffffffffffffffffffffffffffffffff16610a28610b9e565b73ffffffffffffffffffffffffffffffffffffffff1614610a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a75906122a9565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb838373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ad99190612051565b60206040518083038186803b158015610af157600080fd5b505afa158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b299190611b26565b6040518363ffffffff1660e01b8152600401610b4692919061206c565b602060405180830381600087803b158015610b6057600080fd5b505af1158015610b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b989190611ad4565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e1081565b600c5481565b6000429050600a60009054906101000a900460ff16610c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1e90612349565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad90612189565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff1615610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90612229565b60405180910390fd5b8060085411158015610d735750610e10600c610d6291906125cc565b600854610d6f91906123d4565b8111155b610db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da990612309565b60405180910390fd5b60026001541415610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def90612329565b60405180910390fd5b60026001819055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080610e5383600101546105ad565b9150915060008114158015610e69575060008214155b610ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9f906122c9565b60405180910390fd5b348114610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190612169565b60405180910390fd5b60018360020160006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610f6492919061206c565b602060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb69190611ad4565b505050506001808190555050565b60075481565b610e106030610fd991906125cc565b81565b600b8181548110610fec57600080fd5b906000526020600020906004020160009150905080600001805461100f906126f6565b80601f016020809104026020016040519081016040528092919081815260200182805461103b906126f6565b80156110885780601f1061105d57610100808354040283529160200191611088565b820191906000526020600020905b81548152906001019060200180831161106b57829003601f168201915b5050505050908060010154908060020154908060030154905084565b60055481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e10601861113191906125cc565b610e10603061114091906125cc565b61114a91906123d4565b81565b6000429050600a60009054906101000a900460ff166111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890612349565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615611231576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611228906121c9565b60405180910390fd5b806007541115801561125e5750610e10603061124d91906125cc565b60075461125a91906123d4565b8111155b61129d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611294906122e9565b60405180910390fd5b81806001111580156112b0575060058111155b6112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e6906121e9565b60405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166360217267336040518263ffffffff1660e01b815260040161134c9190612051565b60206040518083038186803b15801561136457600080fd5b505afa158015611378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139c9190611b26565b905080600b83815481106113d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906004020160010154111561142c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142390612249565b60405180910390fd5b60026001541415611472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146990612329565b60405180910390fd5b60026001819055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555083600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600b8581548110611558577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060040201600301600082825461157891906123d4565b92505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663282d3fdf33610e1060a86115cd91906125cc565b426115d891906123d4565b6040518363ffffffff1660e01b81526004016115f592919061206c565b600060405180830381600087803b15801561160f57600080fd5b505af1158015611623573d6000803e3d6000fd5b505050506001808190555050505050565b61163c6119fe565b73ffffffffffffffffffffffffffffffffffffffff1661165a610b9e565b73ffffffffffffffffffffffffffffffffffffffff16146116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a7906122a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611720576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611717906121a9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b6117eb6119fe565b73ffffffffffffffffffffffffffffffffffffffff16611809610b9e565b73ffffffffffffffffffffffffffffffffffffffff161461185f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611856906122a9565b60405180910390fd5b600a60009054906101000a900460ff16156118af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a690612209565b60405180910390fd5b80600781905550610e1060186118c591906125cc565b610e1060306118d491906125cc565b6118de91906123d4565b6007546118eb91906123d4565b600881905550600554600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161194f9190612051565b60206040518083038186803b15801561196757600080fd5b505afa15801561197b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199f9190611b26565b10156119e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d790612289565b60405180910390fd5b6001600a60006101000a81548160ff02191690831515021790555050565b600033905090565b600081359050611a15816127d3565b92915050565b600081519050611a2a816127ea565b92915050565b600081359050611a3f81612801565b92915050565b600081519050611a5481612801565b92915050565b600081519050611a6981612818565b92915050565b600060208284031215611a8157600080fd5b6000611a8f84828501611a06565b91505092915050565b60008060408385031215611aab57600080fd5b6000611ab985828601611a06565b9250506020611aca85828601611a06565b9150509250929050565b600060208284031215611ae657600080fd5b6000611af484828501611a1b565b91505092915050565b600060208284031215611b0f57600080fd5b6000611b1d84828501611a30565b91505092915050565b600060208284031215611b3857600080fd5b6000611b4684828501611a45565b91505092915050565b600060208284031215611b6157600080fd5b6000611b6f84828501611a5a565b91505092915050565b611b8181612626565b82525050565b611b9081612638565b82525050565b611b9f8161267b565b82525050565b611bae8161269f565b82525050565b6000611bbf826123ad565b611bc981856123c3565b9350611bd98185602086016126c3565b611be2816127b5565b840191505092915050565b6000611bfa6014836123c3565b91507f4e6f742056616c69642045746820416d6f756e740000000000000000000000006000830152602082019050919050565b6000611c3a600e836123c3565b91507f4e6f7420726567697374657265640000000000000000000000000000000000006000830152602082019050919050565b6000611c7a6026836123c3565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ce06012836123c3565b91507f416c7265616479207265676973746572656400000000000000000000000000006000830152602082019050919050565b6000611d20600f836123c3565b91507f696e76616c696420506f6f6c206e6f00000000000000000000000000000000006000830152602082019050919050565b6000611d606013836123c3565b91507f416c726561647920496e697469616c697a6564000000000000000000000000006000830152602082019050919050565b6000611da06011836123c3565b91507f416c7265616479205075726368617365640000000000000000000000000000006000830152602082019050919050565b6000611de0601d836123c3565b91507f43616e277420506172746963697061746520696e2074686520506f6f6c0000006000830152602082019050919050565b6000611e206015836123c3565b91507f556e61626c6520546f205265636f7665722045746800000000000000000000006000830152602082019050919050565b6000611e60601d836123c3565b91507f4e6f7420456e6f75676820546f6b656e7320496e20436f6e74726163740000006000830152602082019050919050565b6000611ea06020836123c3565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611ee06014836123c3565b91507f56616c7565732043616e2774204265205a65726f0000000000000000000000006000830152602082019050919050565b6000611f20601a836123c3565b91507f4e6f7420696e20526567697374726174696f6e20506572696f640000000000006000830152602082019050919050565b6000611f606000836123b8565b9150600082019050919050565b6000611f7a6012836123c3565b91507f4e6f7420696e2053616c6520506572696f6400000000000000000000000000006000830152602082019050919050565b6000611fba601f836123c3565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6000611ffa6013836123c3565b91507f4e6f7420496e697469616c697a656420596574000000000000000000000000006000830152602082019050919050565b61203681612664565b82525050565b600061204782611f53565b9150819050919050565b60006020820190506120666000830184611b78565b92915050565b60006040820190506120816000830185611b78565b61208e602083018461202d565b9392505050565b60006020820190506120aa6000830184611b87565b92915050565b60006060820190506120c56000830186611b87565b6120d2602083018561202d565b6120df6040830184611b87565b949350505050565b60006020820190506120fc6000830184611b96565b92915050565b60006020820190506121176000830184611ba5565b92915050565b600060808201905081810360008301526121378187611bb4565b9050612146602083018661202d565b612153604083018561202d565b612160606083018461202d565b95945050505050565b6000602082019050818103600083015261218281611bed565b9050919050565b600060208201905081810360008301526121a281611c2d565b9050919050565b600060208201905081810360008301526121c281611c6d565b9050919050565b600060208201905081810360008301526121e281611cd3565b9050919050565b6000602082019050818103600083015261220281611d13565b9050919050565b6000602082019050818103600083015261222281611d53565b9050919050565b6000602082019050818103600083015261224281611d93565b9050919050565b6000602082019050818103600083015261226281611dd3565b9050919050565b6000602082019050818103600083015261228281611e13565b9050919050565b600060208201905081810360008301526122a281611e53565b9050919050565b600060208201905081810360008301526122c281611e93565b9050919050565b600060208201905081810360008301526122e281611ed3565b9050919050565b6000602082019050818103600083015261230281611f13565b9050919050565b6000602082019050818103600083015261232281611f6d565b9050919050565b6000602082019050818103600083015261234281611fad565b9050919050565b6000602082019050818103600083015261236281611fed565b9050919050565b600060208201905061237e600083018461202d565b92915050565b6000604082019050612399600083018561202d565b6123a6602083018461202d565b9392505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006123df82612664565b91506123ea83612664565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561241f5761241e612728565b5b828201905092915050565b600061243582612664565b915061244083612664565b9250826124505761244f612757565b5b828204905092915050565b6000808291508390505b60018511156124a55780860481111561248157612480612728565b5b60018516156124905780820291505b808102905061249e856127c6565b9450612465565b94509492505050565b60006124b982612664565b91506124c483612664565b92506124f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124f9565b905092915050565b60008261250957600190506125c5565b8161251757600090506125c5565b816001811461252d576002811461253757612566565b60019150506125c5565b60ff84111561254957612548612728565b5b8360020a9150848211156125605761255f612728565b5b506125c5565b5060208310610133831016604e8410600b841016171561259b5782820a90508381111561259657612595612728565b5b6125c5565b6125a8848484600161245b565b925090508184048111156125bf576125be612728565b5b81810290505b9392505050565b60006125d782612664565b91506125e283612664565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561261b5761261a612728565b5b828202905092915050565b600061263182612644565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126868261268d565b9050919050565b600061269882612644565b9050919050565b60006126aa826126b1565b9050919050565b60006126bc82612644565b9050919050565b60005b838110156126e15780820151818401526020810190506126c6565b838111156126f0576000848401525b50505050565b6000600282049050600182168061270e57607f821691505b6020821081141561272257612721612786565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b6127dc81612626565b81146127e757600080fd5b50565b6127f381612638565b81146127fe57600080fd5b50565b61280a81612664565b811461281557600080fd5b50565b6128218161266e565b811461282c57600080fd5b5056fea2646970667358221220ff8c37d656d6125aba9caa894d204894adbffd8a6e3c87b07ad29cbe366c93a664736f6c63430008000033", "immutableReferences": {}, "generatedSources": [ { "ast": { "nodeType": "YulBlock", - "src": "0:5822:13", + "src": "0:5822:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "70:80:13", + "src": "70:80:7", "statements": [ { "nodeType": "YulAssignment", - "src": "80:22:13", + "src": "80:22:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "95:6:13" + "src": "95:6:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "89:5:13" + "src": "89:5:7" }, "nodeType": "YulFunctionCall", - "src": "89:13:13" + "src": "89:13:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "80:5:13" + "src": "80:5:7" } ] }, @@ -435,19 +466,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "138:5:13" + "src": "138:5:7" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "111:26:13" + "src": "111:26:7" }, "nodeType": "YulFunctionCall", - "src": "111:33:13" + "src": "111:33:7" }, "nodeType": "YulExpressionStatement", - "src": "111:33:13" + "src": "111:33:7" } ] }, @@ -457,13 +488,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "48:6:13", + "src": "48:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "56:3:13", + "src": "56:3:7", "type": "" } ], @@ -471,41 +502,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "64:5:13", + "src": "64:5:7", "type": "" } ], - "src": "7:143:13" + "src": "7:143:7" }, { "body": { "nodeType": "YulBlock", - "src": "219:80:13", + "src": "219:80:7", "statements": [ { "nodeType": "YulAssignment", - "src": "229:22:13", + "src": "229:22:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "244:6:13" + "src": "244:6:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "238:5:13" + "src": "238:5:7" }, "nodeType": "YulFunctionCall", - "src": "238:13:13" + "src": "238:13:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "229:5:13" + "src": "229:5:7" } ] }, @@ -515,19 +546,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "287:5:13" + "src": "287:5:7" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "260:26:13" + "src": "260:26:7" }, "nodeType": "YulFunctionCall", - "src": "260:33:13" + "src": "260:33:7" }, "nodeType": "YulExpressionStatement", - "src": "260:33:13" + "src": "260:33:7" } ] }, @@ -537,13 +568,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "197:6:13", + "src": "197:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "205:3:13", + "src": "205:3:7", "type": "" } ], @@ -551,41 +582,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "213:5:13", + "src": "213:5:7", "type": "" } ], - "src": "156:143:13" + "src": "156:143:7" }, { "body": { "nodeType": "YulBlock", - "src": "366:78:13", + "src": "366:78:7", "statements": [ { "nodeType": "YulAssignment", - "src": "376:22:13", + "src": "376:22:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "391:6:13" + "src": "391:6:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "385:5:13" + "src": "385:5:7" }, "nodeType": "YulFunctionCall", - "src": "385:13:13" + "src": "385:13:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "376:5:13" + "src": "376:5:7" } ] }, @@ -595,19 +626,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "432:5:13" + "src": "432:5:7" } ], "functionName": { "name": "validator_revert_t_uint8", "nodeType": "YulIdentifier", - "src": "407:24:13" + "src": "407:24:7" }, "nodeType": "YulFunctionCall", - "src": "407:31:13" + "src": "407:31:7" }, "nodeType": "YulExpressionStatement", - "src": "407:31:13" + "src": "407:31:7" } ] }, @@ -617,13 +648,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "344:6:13", + "src": "344:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "352:3:13", + "src": "352:3:7", "type": "" } ], @@ -631,21 +662,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "360:5:13", + "src": "360:5:7", "type": "" } ], - "src": "305:139:13" + "src": "305:139:7" }, { "body": { "nodeType": "YulBlock", - "src": "595:765:13", + "src": "595:765:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "642:16:13", + "src": "642:16:7", "statements": [ { "expression": { @@ -653,14 +684,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "651:1:13", + "src": "651:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "654:1:13", + "src": "654:1:7", "type": "", "value": "0" } @@ -668,13 +699,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "644:6:13" + "src": "644:6:7" }, "nodeType": "YulFunctionCall", - "src": "644:12:13" + "src": "644:12:7" }, "nodeType": "YulExpressionStatement", - "src": "644:12:13" + "src": "644:12:7" } ] }, @@ -685,26 +716,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "616:7:13" + "src": "616:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "625:9:13" + "src": "625:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "612:3:13" + "src": "612:3:7" }, "nodeType": "YulFunctionCall", - "src": "612:23:13" + "src": "612:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "637:3:13", + "src": "637:3:7", "type": "", "value": "160" } @@ -712,25 +743,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "608:3:13" + "src": "608:3:7" }, "nodeType": "YulFunctionCall", - "src": "608:33:13" + "src": "608:33:7" }, "nodeType": "YulIf", - "src": "605:2:13" + "src": "605:2:7" }, { "nodeType": "YulBlock", - "src": "668:128:13", + "src": "668:128:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "683:15:13", + "src": "683:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "697:1:13", + "src": "697:1:7", "type": "", "value": "0" }, @@ -738,14 +769,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "687:6:13", + "src": "687:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "712:74:13", + "src": "712:74:7", "value": { "arguments": [ { @@ -753,41 +784,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "758:9:13" + "src": "758:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "769:6:13" + "src": "769:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "754:3:13" + "src": "754:3:7" }, "nodeType": "YulFunctionCall", - "src": "754:22:13" + "src": "754:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "778:7:13" + "src": "778:7:7" } ], "functionName": { "name": "abi_decode_t_address_fromMemory", "nodeType": "YulIdentifier", - "src": "722:31:13" + "src": "722:31:7" }, "nodeType": "YulFunctionCall", - "src": "722:64:13" + "src": "722:64:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "712:6:13" + "src": "712:6:7" } ] } @@ -795,15 +826,15 @@ }, { "nodeType": "YulBlock", - "src": "806:129:13", + "src": "806:129:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "821:16:13", + "src": "821:16:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "835:2:13", + "src": "835:2:7", "type": "", "value": "32" }, @@ -811,14 +842,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "825:6:13", + "src": "825:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "851:74:13", + "src": "851:74:7", "value": { "arguments": [ { @@ -826,41 +857,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "897:9:13" + "src": "897:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "908:6:13" + "src": "908:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "893:3:13" + "src": "893:3:7" }, "nodeType": "YulFunctionCall", - "src": "893:22:13" + "src": "893:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "917:7:13" + "src": "917:7:7" } ], "functionName": { "name": "abi_decode_t_address_fromMemory", "nodeType": "YulIdentifier", - "src": "861:31:13" + "src": "861:31:7" }, "nodeType": "YulFunctionCall", - "src": "861:64:13" + "src": "861:64:7" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "851:6:13" + "src": "851:6:7" } ] } @@ -868,15 +899,15 @@ }, { "nodeType": "YulBlock", - "src": "945:129:13", + "src": "945:129:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "960:16:13", + "src": "960:16:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "974:2:13", + "src": "974:2:7", "type": "", "value": "64" }, @@ -884,14 +915,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "964:6:13", + "src": "964:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "990:74:13", + "src": "990:74:7", "value": { "arguments": [ { @@ -899,41 +930,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1036:9:13" + "src": "1036:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1047:6:13" + "src": "1047:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1032:3:13" + "src": "1032:3:7" }, "nodeType": "YulFunctionCall", - "src": "1032:22:13" + "src": "1032:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1056:7:13" + "src": "1056:7:7" } ], "functionName": { "name": "abi_decode_t_address_fromMemory", "nodeType": "YulIdentifier", - "src": "1000:31:13" + "src": "1000:31:7" }, "nodeType": "YulFunctionCall", - "src": "1000:64:13" + "src": "1000:64:7" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "990:6:13" + "src": "990:6:7" } ] } @@ -941,15 +972,15 @@ }, { "nodeType": "YulBlock", - "src": "1084:129:13", + "src": "1084:129:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1099:16:13", + "src": "1099:16:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1113:2:13", + "src": "1113:2:7", "type": "", "value": "96" }, @@ -957,14 +988,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "1103:6:13", + "src": "1103:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1129:74:13", + "src": "1129:74:7", "value": { "arguments": [ { @@ -972,41 +1003,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1175:9:13" + "src": "1175:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1186:6:13" + "src": "1186:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1171:3:13" + "src": "1171:3:7" }, "nodeType": "YulFunctionCall", - "src": "1171:22:13" + "src": "1171:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1195:7:13" + "src": "1195:7:7" } ], "functionName": { "name": "abi_decode_t_uint256_fromMemory", "nodeType": "YulIdentifier", - "src": "1139:31:13" + "src": "1139:31:7" }, "nodeType": "YulFunctionCall", - "src": "1139:64:13" + "src": "1139:64:7" }, "variableNames": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "1129:6:13" + "src": "1129:6:7" } ] } @@ -1014,15 +1045,15 @@ }, { "nodeType": "YulBlock", - "src": "1223:130:13", + "src": "1223:130:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1238:17:13", + "src": "1238:17:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1252:3:13", + "src": "1252:3:7", "type": "", "value": "128" }, @@ -1030,14 +1061,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "1242:6:13", + "src": "1242:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1269:74:13", + "src": "1269:74:7", "value": { "arguments": [ { @@ -1045,41 +1076,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1315:9:13" + "src": "1315:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1326:6:13" + "src": "1326:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1311:3:13" + "src": "1311:3:7" }, "nodeType": "YulFunctionCall", - "src": "1311:22:13" + "src": "1311:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1335:7:13" + "src": "1335:7:7" } ], "functionName": { "name": "abi_decode_t_uint256_fromMemory", "nodeType": "YulIdentifier", - "src": "1279:31:13" + "src": "1279:31:7" }, "nodeType": "YulFunctionCall", - "src": "1279:64:13" + "src": "1279:64:7" }, "variableNames": [ { "name": "value4", "nodeType": "YulIdentifier", - "src": "1269:6:13" + "src": "1269:6:7" } ] } @@ -1093,13 +1124,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "533:9:13", + "src": "533:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "544:7:13", + "src": "544:7:7", "type": "" } ], @@ -1107,45 +1138,45 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "556:6:13", + "src": "556:6:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "564:6:13", + "src": "564:6:7", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "572:6:13", + "src": "572:6:7", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "580:6:13", + "src": "580:6:7", "type": "" }, { "name": "value4", "nodeType": "YulTypedName", - "src": "588:6:13", + "src": "588:6:7", "type": "" } ], - "src": "450:910:13" + "src": "450:910:7" }, { "body": { "nodeType": "YulBlock", - "src": "1441:205:13", + "src": "1441:205:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1487:16:13", + "src": "1487:16:7", "statements": [ { "expression": { @@ -1153,14 +1184,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1496:1:13", + "src": "1496:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1499:1:13", + "src": "1499:1:7", "type": "", "value": "0" } @@ -1168,13 +1199,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1489:6:13" + "src": "1489:6:7" }, "nodeType": "YulFunctionCall", - "src": "1489:12:13" + "src": "1489:12:7" }, "nodeType": "YulExpressionStatement", - "src": "1489:12:13" + "src": "1489:12:7" } ] }, @@ -1185,26 +1216,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1462:7:13" + "src": "1462:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1471:9:13" + "src": "1471:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "1458:3:13" + "src": "1458:3:7" }, "nodeType": "YulFunctionCall", - "src": "1458:23:13" + "src": "1458:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1483:2:13", + "src": "1483:2:7", "type": "", "value": "32" } @@ -1212,25 +1243,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "1454:3:13" + "src": "1454:3:7" }, "nodeType": "YulFunctionCall", - "src": "1454:32:13" + "src": "1454:32:7" }, "nodeType": "YulIf", - "src": "1451:2:13" + "src": "1451:2:7" }, { "nodeType": "YulBlock", - "src": "1513:126:13", + "src": "1513:126:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1528:15:13", + "src": "1528:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1542:1:13", + "src": "1542:1:7", "type": "", "value": "0" }, @@ -1238,14 +1269,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "1532:6:13", + "src": "1532:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1557:72:13", + "src": "1557:72:7", "value": { "arguments": [ { @@ -1253,41 +1284,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1601:9:13" + "src": "1601:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1612:6:13" + "src": "1612:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1597:3:13" + "src": "1597:3:7" }, "nodeType": "YulFunctionCall", - "src": "1597:22:13" + "src": "1597:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1621:7:13" + "src": "1621:7:7" } ], "functionName": { "name": "abi_decode_t_uint8_fromMemory", "nodeType": "YulIdentifier", - "src": "1567:29:13" + "src": "1567:29:7" }, "nodeType": "YulFunctionCall", - "src": "1567:62:13" + "src": "1567:62:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1557:6:13" + "src": "1557:6:7" } ] } @@ -1301,13 +1332,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1411:9:13", + "src": "1411:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "1422:7:13", + "src": "1422:7:7", "type": "" } ], @@ -1315,58 +1346,58 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "1434:6:13", + "src": "1434:6:7", "type": "" } ], - "src": "1366:280:13" + "src": "1366:280:7" }, { "body": { "nodeType": "YulBlock", - "src": "1725:775:13", + "src": "1725:775:7", "statements": [ { "nodeType": "YulAssignment", - "src": "1735:15:13", + "src": "1735:15:7", "value": { "name": "_power", "nodeType": "YulIdentifier", - "src": "1744:6:13" + "src": "1744:6:7" }, "variableNames": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "1735:5:13" + "src": "1735:5:7" } ] }, { "nodeType": "YulAssignment", - "src": "1759:14:13", + "src": "1759:14:7", "value": { "name": "_base", "nodeType": "YulIdentifier", - "src": "1768:5:13" + "src": "1768:5:7" }, "variableNames": [ { "name": "base", "nodeType": "YulIdentifier", - "src": "1759:4:13" + "src": "1759:4:7" } ] }, { "body": { "nodeType": "YulBlock", - "src": "1817:677:13", + "src": "1817:677:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1905:22:13", + "src": "1905:22:7", "statements": [ { "expression": { @@ -1374,13 +1405,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "1907:16:13" + "src": "1907:16:7" }, "nodeType": "YulFunctionCall", - "src": "1907:18:13" + "src": "1907:18:7" }, "nodeType": "YulExpressionStatement", - "src": "1907:18:13" + "src": "1907:18:7" } ] }, @@ -1389,75 +1420,75 @@ { "name": "base", "nodeType": "YulIdentifier", - "src": "1883:4:13" + "src": "1883:4:7" }, { "arguments": [ { "name": "max", "nodeType": "YulIdentifier", - "src": "1893:3:13" + "src": "1893:3:7" }, { "name": "base", "nodeType": "YulIdentifier", - "src": "1898:4:13" + "src": "1898:4:7" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "1889:3:13" + "src": "1889:3:7" }, "nodeType": "YulFunctionCall", - "src": "1889:14:13" + "src": "1889:14:7" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1880:2:13" + "src": "1880:2:7" }, "nodeType": "YulFunctionCall", - "src": "1880:24:13" + "src": "1880:24:7" }, "nodeType": "YulIf", - "src": "1877:2:13" + "src": "1877:2:7" }, { "body": { "nodeType": "YulBlock", - "src": "1972:419:13", + "src": "1972:419:7", "statements": [ { "nodeType": "YulAssignment", - "src": "2352:25:13", + "src": "2352:25:7", "value": { "arguments": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "2365:5:13" + "src": "2365:5:7" }, { "name": "base", "nodeType": "YulIdentifier", - "src": "2372:4:13" + "src": "2372:4:7" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "2361:3:13" + "src": "2361:3:7" }, "nodeType": "YulFunctionCall", - "src": "2361:16:13" + "src": "2361:16:7" }, "variableNames": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "2352:5:13" + "src": "2352:5:7" } ] } @@ -1468,12 +1499,12 @@ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "1947:8:13" + "src": "1947:8:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1957:1:13", + "src": "1957:1:7", "type": "", "value": "1" } @@ -1481,70 +1512,70 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "1943:3:13" + "src": "1943:3:7" }, "nodeType": "YulFunctionCall", - "src": "1943:16:13" + "src": "1943:16:7" }, "nodeType": "YulIf", - "src": "1940:2:13" + "src": "1940:2:7" }, { "nodeType": "YulAssignment", - "src": "2404:23:13", + "src": "2404:23:7", "value": { "arguments": [ { "name": "base", "nodeType": "YulIdentifier", - "src": "2416:4:13" + "src": "2416:4:7" }, { "name": "base", "nodeType": "YulIdentifier", - "src": "2422:4:13" + "src": "2422:4:7" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "2412:3:13" + "src": "2412:3:7" }, "nodeType": "YulFunctionCall", - "src": "2412:15:13" + "src": "2412:15:7" }, "variableNames": [ { "name": "base", "nodeType": "YulIdentifier", - "src": "2404:4:13" + "src": "2404:4:7" } ] }, { "nodeType": "YulAssignment", - "src": "2440:44:13", + "src": "2440:44:7", "value": { "arguments": [ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "2475:8:13" + "src": "2475:8:7" } ], "functionName": { "name": "shift_right_1_unsigned", "nodeType": "YulIdentifier", - "src": "2452:22:13" + "src": "2452:22:7" }, "nodeType": "YulFunctionCall", - "src": "2452:32:13" + "src": "2452:32:7" }, "variableNames": [ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "2440:8:13" + "src": "2440:8:7" } ] } @@ -1555,12 +1586,12 @@ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "1793:8:13" + "src": "1793:8:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1803:1:13", + "src": "1803:1:7", "type": "", "value": "1" } @@ -1568,23 +1599,23 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1790:2:13" + "src": "1790:2:7" }, "nodeType": "YulFunctionCall", - "src": "1790:15:13" + "src": "1790:15:7" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "1806:2:13", + "src": "1806:2:7", "statements": [] }, "pre": { "nodeType": "YulBlock", - "src": "1786:3:13", + "src": "1786:3:7", "statements": [] }, - "src": "1782:712:13" + "src": "1782:712:7" } ] }, @@ -1594,25 +1625,25 @@ { "name": "_power", "nodeType": "YulTypedName", - "src": "1680:6:13", + "src": "1680:6:7", "type": "" }, { "name": "_base", "nodeType": "YulTypedName", - "src": "1688:5:13", + "src": "1688:5:7", "type": "" }, { "name": "exponent", "nodeType": "YulTypedName", - "src": "1695:8:13", + "src": "1695:8:7", "type": "" }, { "name": "max", "nodeType": "YulTypedName", - "src": "1705:3:13", + "src": "1705:3:7", "type": "" } ], @@ -1620,96 +1651,96 @@ { "name": "power", "nodeType": "YulTypedName", - "src": "1713:5:13", + "src": "1713:5:7", "type": "" }, { "name": "base", "nodeType": "YulTypedName", - "src": "1720:4:13", + "src": "1720:4:7", "type": "" } ], - "src": "1652:848:13" + "src": "1652:848:7" }, { "body": { "nodeType": "YulBlock", - "src": "2572:219:13", + "src": "2572:219:7", "statements": [ { "nodeType": "YulAssignment", - "src": "2582:31:13", + "src": "2582:31:7", "value": { "arguments": [ { "name": "base", "nodeType": "YulIdentifier", - "src": "2608:4:13" + "src": "2608:4:7" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "2590:17:13" + "src": "2590:17:7" }, "nodeType": "YulFunctionCall", - "src": "2590:23:13" + "src": "2590:23:7" }, "variableNames": [ { "name": "base", "nodeType": "YulIdentifier", - "src": "2582:4:13" + "src": "2582:4:7" } ] }, { "nodeType": "YulAssignment", - "src": "2622:39:13", + "src": "2622:39:7", "value": { "arguments": [ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "2652:8:13" + "src": "2652:8:7" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "2634:17:13" + "src": "2634:17:7" }, "nodeType": "YulFunctionCall", - "src": "2634:27:13" + "src": "2634:27:7" }, "variableNames": [ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "2622:8:13" + "src": "2622:8:7" } ] }, { "nodeType": "YulAssignment", - "src": "2671:113:13", + "src": "2671:113:7", "value": { "arguments": [ { "name": "base", "nodeType": "YulIdentifier", - "src": "2701:4:13" + "src": "2701:4:7" }, { "name": "exponent", "nodeType": "YulIdentifier", - "src": "2707:8:13" + "src": "2707:8:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2717:66:13", + "src": "2717:66:7", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } @@ -1717,16 +1748,16 @@ "functionName": { "name": "checked_exp_unsigned", "nodeType": "YulIdentifier", - "src": "2680:20:13" + "src": "2680:20:7" }, "nodeType": "YulFunctionCall", - "src": "2680:104:13" + "src": "2680:104:7" }, "variableNames": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "2671:5:13" + "src": "2671:5:7" } ] } @@ -1738,13 +1769,13 @@ { "name": "base", "nodeType": "YulTypedName", - "src": "2547:4:13", + "src": "2547:4:7", "type": "" }, { "name": "exponent", "nodeType": "YulTypedName", - "src": "2553:8:13", + "src": "2553:8:7", "type": "" } ], @@ -1752,29 +1783,29 @@ { "name": "power", "nodeType": "YulTypedName", - "src": "2566:5:13", + "src": "2566:5:7", "type": "" } ], - "src": "2506:285:13" + "src": "2506:285:7" }, { "body": { "nodeType": "YulBlock", - "src": "2857:1013:13", + "src": "2857:1013:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3052:20:13", + "src": "3052:20:7", "statements": [ { "nodeType": "YulAssignment", - "src": "3054:10:13", + "src": "3054:10:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3063:1:13", + "src": "3063:1:7", "type": "", "value": "1" }, @@ -1782,13 +1813,13 @@ { "name": "power", "nodeType": "YulIdentifier", - "src": "3054:5:13" + "src": "3054:5:7" } ] }, { "nodeType": "YulLeave", - "src": "3065:5:13" + "src": "3065:5:7" } ] }, @@ -1797,32 +1828,32 @@ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "3042:8:13" + "src": "3042:8:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3035:6:13" + "src": "3035:6:7" }, "nodeType": "YulFunctionCall", - "src": "3035:16:13" + "src": "3035:16:7" }, "nodeType": "YulIf", - "src": "3032:2:13" + "src": "3032:2:7" }, { "body": { "nodeType": "YulBlock", - "src": "3097:20:13", + "src": "3097:20:7", "statements": [ { "nodeType": "YulAssignment", - "src": "3099:10:13", + "src": "3099:10:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3108:1:13", + "src": "3108:1:7", "type": "", "value": "0" }, @@ -1830,13 +1861,13 @@ { "name": "power", "nodeType": "YulIdentifier", - "src": "3099:5:13" + "src": "3099:5:7" } ] }, { "nodeType": "YulLeave", - "src": "3110:5:13" + "src": "3110:5:7" } ] }, @@ -1845,34 +1876,34 @@ { "name": "base", "nodeType": "YulIdentifier", - "src": "3091:4:13" + "src": "3091:4:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3084:6:13" + "src": "3084:6:7" }, "nodeType": "YulFunctionCall", - "src": "3084:12:13" + "src": "3084:12:7" }, "nodeType": "YulIf", - "src": "3081:2:13" + "src": "3081:2:7" }, { "cases": [ { "body": { "nodeType": "YulBlock", - "src": "3227:20:13", + "src": "3227:20:7", "statements": [ { "nodeType": "YulAssignment", - "src": "3229:10:13", + "src": "3229:10:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3238:1:13", + "src": "3238:1:7", "type": "", "value": "1" }, @@ -1880,22 +1911,22 @@ { "name": "power", "nodeType": "YulIdentifier", - "src": "3229:5:13" + "src": "3229:5:7" } ] }, { "nodeType": "YulLeave", - "src": "3240:5:13" + "src": "3240:5:7" } ] }, "nodeType": "YulCase", - "src": "3220:27:13", + "src": "3220:27:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3225:1:13", + "src": "3225:1:7", "type": "", "value": "1" } @@ -1903,12 +1934,12 @@ { "body": { "nodeType": "YulBlock", - "src": "3271:176:13", + "src": "3271:176:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3306:22:13", + "src": "3306:22:7", "statements": [ { "expression": { @@ -1916,13 +1947,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "3308:16:13" + "src": "3308:16:7" }, "nodeType": "YulFunctionCall", - "src": "3308:18:13" + "src": "3308:18:7" }, "nodeType": "YulExpressionStatement", - "src": "3308:18:13" + "src": "3308:18:7" } ] }, @@ -1931,12 +1962,12 @@ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "3291:8:13" + "src": "3291:8:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3301:3:13", + "src": "3301:3:7", "type": "", "value": "255" } @@ -1944,52 +1975,52 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3288:2:13" + "src": "3288:2:7" }, "nodeType": "YulFunctionCall", - "src": "3288:17:13" + "src": "3288:17:7" }, "nodeType": "YulIf", - "src": "3285:2:13" + "src": "3285:2:7" }, { "nodeType": "YulAssignment", - "src": "3341:25:13", + "src": "3341:25:7", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "3354:1:13", + "src": "3354:1:7", "type": "", "value": "2" }, { "name": "exponent", "nodeType": "YulIdentifier", - "src": "3357:8:13" + "src": "3357:8:7" } ], "functionName": { "name": "exp", "nodeType": "YulIdentifier", - "src": "3350:3:13" + "src": "3350:3:7" }, "nodeType": "YulFunctionCall", - "src": "3350:16:13" + "src": "3350:16:7" }, "variableNames": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "3341:5:13" + "src": "3341:5:7" } ] }, { "body": { "nodeType": "YulBlock", - "src": "3397:22:13", + "src": "3397:22:7", "statements": [ { "expression": { @@ -1997,13 +2028,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "3399:16:13" + "src": "3399:16:7" }, "nodeType": "YulFunctionCall", - "src": "3399:18:13" + "src": "3399:18:7" }, "nodeType": "YulExpressionStatement", - "src": "3399:18:13" + "src": "3399:18:7" } ] }, @@ -2012,37 +2043,37 @@ { "name": "power", "nodeType": "YulIdentifier", - "src": "3385:5:13" + "src": "3385:5:7" }, { "name": "max", "nodeType": "YulIdentifier", - "src": "3392:3:13" + "src": "3392:3:7" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3382:2:13" + "src": "3382:2:7" }, "nodeType": "YulFunctionCall", - "src": "3382:14:13" + "src": "3382:14:7" }, "nodeType": "YulIf", - "src": "3379:2:13" + "src": "3379:2:7" }, { "nodeType": "YulLeave", - "src": "3432:5:13" + "src": "3432:5:7" } ] }, "nodeType": "YulCase", - "src": "3256:191:13", + "src": "3256:191:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3261:1:13", + "src": "3261:1:7", "type": "", "value": "2" } @@ -2051,52 +2082,52 @@ "expression": { "name": "base", "nodeType": "YulIdentifier", - "src": "3177:4:13" + "src": "3177:4:7" }, "nodeType": "YulSwitch", - "src": "3170:277:13" + "src": "3170:277:7" }, { "body": { "nodeType": "YulBlock", - "src": "3579:123:13", + "src": "3579:123:7", "statements": [ { "nodeType": "YulAssignment", - "src": "3593:28:13", + "src": "3593:28:7", "value": { "arguments": [ { "name": "base", "nodeType": "YulIdentifier", - "src": "3606:4:13" + "src": "3606:4:7" }, { "name": "exponent", "nodeType": "YulIdentifier", - "src": "3612:8:13" + "src": "3612:8:7" } ], "functionName": { "name": "exp", "nodeType": "YulIdentifier", - "src": "3602:3:13" + "src": "3602:3:7" }, "nodeType": "YulFunctionCall", - "src": "3602:19:13" + "src": "3602:19:7" }, "variableNames": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "3593:5:13" + "src": "3593:5:7" } ] }, { "body": { "nodeType": "YulBlock", - "src": "3652:22:13", + "src": "3652:22:7", "statements": [ { "expression": { @@ -2104,13 +2135,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "3654:16:13" + "src": "3654:16:7" }, "nodeType": "YulFunctionCall", - "src": "3654:18:13" + "src": "3654:18:7" }, "nodeType": "YulExpressionStatement", - "src": "3654:18:13" + "src": "3654:18:7" } ] }, @@ -2119,28 +2150,28 @@ { "name": "power", "nodeType": "YulIdentifier", - "src": "3640:5:13" + "src": "3640:5:7" }, { "name": "max", "nodeType": "YulIdentifier", - "src": "3647:3:13" + "src": "3647:3:7" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3637:2:13" + "src": "3637:2:7" }, "nodeType": "YulFunctionCall", - "src": "3637:14:13" + "src": "3637:14:7" }, "nodeType": "YulIf", - "src": "3634:2:13" + "src": "3634:2:7" }, { "nodeType": "YulLeave", - "src": "3687:5:13" + "src": "3687:5:7" } ] }, @@ -2153,12 +2184,12 @@ { "name": "base", "nodeType": "YulIdentifier", - "src": "3482:4:13" + "src": "3482:4:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3488:2:13", + "src": "3488:2:7", "type": "", "value": "11" } @@ -2166,22 +2197,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "3479:2:13" + "src": "3479:2:7" }, "nodeType": "YulFunctionCall", - "src": "3479:12:13" + "src": "3479:12:7" }, { "arguments": [ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "3496:8:13" + "src": "3496:8:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3506:2:13", + "src": "3506:2:7", "type": "", "value": "78" } @@ -2189,19 +2220,19 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "3493:2:13" + "src": "3493:2:7" }, "nodeType": "YulFunctionCall", - "src": "3493:16:13" + "src": "3493:16:7" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3475:3:13" + "src": "3475:3:7" }, "nodeType": "YulFunctionCall", - "src": "3475:35:13" + "src": "3475:35:7" }, { "arguments": [ @@ -2210,12 +2241,12 @@ { "name": "base", "nodeType": "YulIdentifier", - "src": "3531:4:13" + "src": "3531:4:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3537:3:13", + "src": "3537:3:7", "type": "", "value": "307" } @@ -2223,22 +2254,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "3528:2:13" + "src": "3528:2:7" }, "nodeType": "YulFunctionCall", - "src": "3528:13:13" + "src": "3528:13:7" }, { "arguments": [ { "name": "exponent", "nodeType": "YulIdentifier", - "src": "3546:8:13" + "src": "3546:8:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3556:2:13", + "src": "3556:2:7", "type": "", "value": "32" } @@ -2246,85 +2277,85 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "3543:2:13" + "src": "3543:2:7" }, "nodeType": "YulFunctionCall", - "src": "3543:16:13" + "src": "3543:16:7" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3524:3:13" + "src": "3524:3:7" }, "nodeType": "YulFunctionCall", - "src": "3524:36:13" + "src": "3524:36:7" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "3459:2:13" + "src": "3459:2:7" }, "nodeType": "YulFunctionCall", - "src": "3459:111:13" + "src": "3459:111:7" }, "nodeType": "YulIf", - "src": "3456:2:13" + "src": "3456:2:7" }, { "nodeType": "YulAssignment", - "src": "3712:57:13", + "src": "3712:57:7", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "3746:1:13", + "src": "3746:1:7", "type": "", "value": "1" }, { "name": "base", "nodeType": "YulIdentifier", - "src": "3749:4:13" + "src": "3749:4:7" }, { "name": "exponent", "nodeType": "YulIdentifier", - "src": "3755:8:13" + "src": "3755:8:7" }, { "name": "max", "nodeType": "YulIdentifier", - "src": "3765:3:13" + "src": "3765:3:7" } ], "functionName": { "name": "checked_exp_helper", "nodeType": "YulIdentifier", - "src": "3727:18:13" + "src": "3727:18:7" }, "nodeType": "YulFunctionCall", - "src": "3727:42:13" + "src": "3727:42:7" }, "variableNames": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "3712:5:13" + "src": "3712:5:7" }, { "name": "base", "nodeType": "YulIdentifier", - "src": "3719:4:13" + "src": "3719:4:7" } ] }, { "body": { "nodeType": "YulBlock", - "src": "3808:22:13", + "src": "3808:22:7", "statements": [ { "expression": { @@ -2332,13 +2363,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "3810:16:13" + "src": "3810:16:7" }, "nodeType": "YulFunctionCall", - "src": "3810:18:13" + "src": "3810:18:7" }, "nodeType": "YulExpressionStatement", - "src": "3810:18:13" + "src": "3810:18:7" } ] }, @@ -2347,70 +2378,70 @@ { "name": "power", "nodeType": "YulIdentifier", - "src": "3785:5:13" + "src": "3785:5:7" }, { "arguments": [ { "name": "max", "nodeType": "YulIdentifier", - "src": "3796:3:13" + "src": "3796:3:7" }, { "name": "base", "nodeType": "YulIdentifier", - "src": "3801:4:13" + "src": "3801:4:7" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "3792:3:13" + "src": "3792:3:7" }, "nodeType": "YulFunctionCall", - "src": "3792:14:13" + "src": "3792:14:7" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3782:2:13" + "src": "3782:2:7" }, "nodeType": "YulFunctionCall", - "src": "3782:25:13" + "src": "3782:25:7" }, "nodeType": "YulIf", - "src": "3779:2:13" + "src": "3779:2:7" }, { "nodeType": "YulAssignment", - "src": "3839:25:13", + "src": "3839:25:7", "value": { "arguments": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "3852:5:13" + "src": "3852:5:7" }, { "name": "base", "nodeType": "YulIdentifier", - "src": "3859:4:13" + "src": "3859:4:7" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "3848:3:13" + "src": "3848:3:7" }, "nodeType": "YulFunctionCall", - "src": "3848:16:13" + "src": "3848:16:7" }, "variableNames": [ { "name": "power", "nodeType": "YulIdentifier", - "src": "3839:5:13" + "src": "3839:5:7" } ] } @@ -2422,19 +2453,19 @@ { "name": "base", "nodeType": "YulTypedName", - "src": "2827:4:13", + "src": "2827:4:7", "type": "" }, { "name": "exponent", "nodeType": "YulTypedName", - "src": "2833:8:13", + "src": "2833:8:7", "type": "" }, { "name": "max", "nodeType": "YulTypedName", - "src": "2843:3:13", + "src": "2843:3:7", "type": "" } ], @@ -2442,75 +2473,75 @@ { "name": "power", "nodeType": "YulTypedName", - "src": "2851:5:13", + "src": "2851:5:7", "type": "" } ], - "src": "2797:1073:13" + "src": "2797:1073:7" }, { "body": { "nodeType": "YulBlock", - "src": "3924:300:13", + "src": "3924:300:7", "statements": [ { "nodeType": "YulAssignment", - "src": "3934:25:13", + "src": "3934:25:7", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "3957:1:13" + "src": "3957:1:7" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "3939:17:13" + "src": "3939:17:7" }, "nodeType": "YulFunctionCall", - "src": "3939:20:13" + "src": "3939:20:7" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "3934:1:13" + "src": "3934:1:7" } ] }, { "nodeType": "YulAssignment", - "src": "3968:25:13", + "src": "3968:25:7", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "3991:1:13" + "src": "3991:1:7" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "3973:17:13" + "src": "3973:17:7" }, "nodeType": "YulFunctionCall", - "src": "3973:20:13" + "src": "3973:20:7" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "3968:1:13" + "src": "3968:1:7" } ] }, { "body": { "nodeType": "YulBlock", - "src": "4166:22:13", + "src": "4166:22:7", "statements": [ { "expression": { @@ -2518,13 +2549,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "4168:16:13" + "src": "4168:16:7" }, "nodeType": "YulFunctionCall", - "src": "4168:18:13" + "src": "4168:18:7" }, "nodeType": "YulExpressionStatement", - "src": "4168:18:13" + "src": "4168:18:7" } ] }, @@ -2537,106 +2568,106 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "4078:1:13" + "src": "4078:1:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4071:6:13" + "src": "4071:6:7" }, "nodeType": "YulFunctionCall", - "src": "4071:9:13" + "src": "4071:9:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4064:6:13" + "src": "4064:6:7" }, "nodeType": "YulFunctionCall", - "src": "4064:17:13" + "src": "4064:17:7" }, { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "4086:1:13" + "src": "4086:1:7" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "4093:66:13", + "src": "4093:66:7", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "x", "nodeType": "YulIdentifier", - "src": "4161:1:13" + "src": "4161:1:7" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "4089:3:13" + "src": "4089:3:7" }, "nodeType": "YulFunctionCall", - "src": "4089:74:13" + "src": "4089:74:7" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "4083:2:13" + "src": "4083:2:7" }, "nodeType": "YulFunctionCall", - "src": "4083:81:13" + "src": "4083:81:7" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4060:3:13" + "src": "4060:3:7" }, "nodeType": "YulFunctionCall", - "src": "4060:105:13" + "src": "4060:105:7" }, "nodeType": "YulIf", - "src": "4057:2:13" + "src": "4057:2:7" }, { "nodeType": "YulAssignment", - "src": "4198:20:13", + "src": "4198:20:7", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "4213:1:13" + "src": "4213:1:7" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "4216:1:13" + "src": "4216:1:7" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "4209:3:13" + "src": "4209:3:7" }, "nodeType": "YulFunctionCall", - "src": "4209:9:13" + "src": "4209:9:7" }, "variableNames": [ { "name": "product", "nodeType": "YulIdentifier", - "src": "4198:7:13" + "src": "4198:7:7" } ] } @@ -2648,13 +2679,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "3907:1:13", + "src": "3907:1:7", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "3910:1:13", + "src": "3910:1:7", "type": "" } ], @@ -2662,41 +2693,41 @@ { "name": "product", "nodeType": "YulTypedName", - "src": "3916:7:13", + "src": "3916:7:7", "type": "" } ], - "src": "3876:348:13" + "src": "3876:348:7" }, { "body": { "nodeType": "YulBlock", - "src": "4275:51:13", + "src": "4275:51:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4285:35:13", + "src": "4285:35:7", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4314:5:13" + "src": "4314:5:7" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "4296:17:13" + "src": "4296:17:7" }, "nodeType": "YulFunctionCall", - "src": "4296:24:13" + "src": "4296:24:7" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "4285:7:13" + "src": "4285:7:7" } ] } @@ -2708,7 +2739,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4257:5:13", + "src": "4257:5:7", "type": "" } ], @@ -2716,31 +2747,31 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "4267:7:13", + "src": "4267:7:7", "type": "" } ], - "src": "4230:96:13" + "src": "4230:96:7" }, { "body": { "nodeType": "YulBlock", - "src": "4377:81:13", + "src": "4377:81:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4387:65:13", + "src": "4387:65:7", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4402:5:13" + "src": "4402:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4409:42:13", + "src": "4409:42:7", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -2748,16 +2779,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4398:3:13" + "src": "4398:3:7" }, "nodeType": "YulFunctionCall", - "src": "4398:54:13" + "src": "4398:54:7" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "4387:7:13" + "src": "4387:7:7" } ] } @@ -2769,7 +2800,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4359:5:13", + "src": "4359:5:7", "type": "" } ], @@ -2777,30 +2808,30 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "4369:7:13", + "src": "4369:7:7", "type": "" } ], - "src": "4332:126:13" + "src": "4332:126:7" }, { "body": { "nodeType": "YulBlock", - "src": "4509:32:13", + "src": "4509:32:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4519:16:13", + "src": "4519:16:7", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "4530:5:13" + "src": "4530:5:7" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "4519:7:13" + "src": "4519:7:7" } ] } @@ -2812,7 +2843,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4491:5:13", + "src": "4491:5:7", "type": "" } ], @@ -2820,31 +2851,31 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "4501:7:13", + "src": "4501:7:7", "type": "" } ], - "src": "4464:77:13" + "src": "4464:77:7" }, { "body": { "nodeType": "YulBlock", - "src": "4590:43:13", + "src": "4590:43:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4600:27:13", + "src": "4600:27:7", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4615:5:13" + "src": "4615:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4622:4:13", + "src": "4622:4:7", "type": "", "value": "0xff" } @@ -2852,16 +2883,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4611:3:13" + "src": "4611:3:7" }, "nodeType": "YulFunctionCall", - "src": "4611:16:13" + "src": "4611:16:7" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "4600:7:13" + "src": "4600:7:7" } ] } @@ -2873,7 +2904,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4572:5:13", + "src": "4572:5:7", "type": "" } ], @@ -2881,31 +2912,31 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "4582:7:13", + "src": "4582:7:7", "type": "" } ], - "src": "4547:86:13" + "src": "4547:86:7" }, { "body": { "nodeType": "YulBlock", - "src": "4690:269:13", + "src": "4690:269:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4700:22:13", + "src": "4700:22:7", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "4714:4:13" + "src": "4714:4:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4720:1:13", + "src": "4720:1:7", "type": "", "value": "2" } @@ -2913,33 +2944,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "4710:3:13" + "src": "4710:3:7" }, "nodeType": "YulFunctionCall", - "src": "4710:12:13" + "src": "4710:12:7" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4700:6:13" + "src": "4700:6:7" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "4731:38:13", + "src": "4731:38:7", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "4761:4:13" + "src": "4761:4:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4767:1:13", + "src": "4767:1:7", "type": "", "value": "1" } @@ -2947,16 +2978,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4757:3:13" + "src": "4757:3:7" }, "nodeType": "YulFunctionCall", - "src": "4757:12:13" + "src": "4757:12:7" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "4735:18:13", + "src": "4735:18:7", "type": "" } ] @@ -2964,22 +2995,22 @@ { "body": { "nodeType": "YulBlock", - "src": "4808:51:13", + "src": "4808:51:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4822:27:13", + "src": "4822:27:7", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4836:6:13" + "src": "4836:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4844:4:13", + "src": "4844:4:7", "type": "", "value": "0x7f" } @@ -2987,16 +3018,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4832:3:13" + "src": "4832:3:7" }, "nodeType": "YulFunctionCall", - "src": "4832:17:13" + "src": "4832:17:7" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4822:6:13" + "src": "4822:6:7" } ] } @@ -3007,24 +3038,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4788:18:13" + "src": "4788:18:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4781:6:13" + "src": "4781:6:7" }, "nodeType": "YulFunctionCall", - "src": "4781:26:13" + "src": "4781:26:7" }, "nodeType": "YulIf", - "src": "4778:2:13" + "src": "4778:2:7" }, { "body": { "nodeType": "YulBlock", - "src": "4911:42:13", + "src": "4911:42:7", "statements": [ { "expression": { @@ -3032,13 +3063,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "4925:16:13" + "src": "4925:16:7" }, "nodeType": "YulFunctionCall", - "src": "4925:18:13" + "src": "4925:18:7" }, "nodeType": "YulExpressionStatement", - "src": "4925:18:13" + "src": "4925:18:7" } ] }, @@ -3047,19 +3078,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4875:18:13" + "src": "4875:18:7" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4898:6:13" + "src": "4898:6:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4906:2:13", + "src": "4906:2:7", "type": "", "value": "32" } @@ -3067,22 +3098,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "4895:2:13" + "src": "4895:2:7" }, "nodeType": "YulFunctionCall", - "src": "4895:14:13" + "src": "4895:14:7" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4872:2:13" + "src": "4872:2:7" }, "nodeType": "YulFunctionCall", - "src": "4872:38:13" + "src": "4872:38:7" }, "nodeType": "YulIf", - "src": "4869:2:13" + "src": "4869:2:7" } ] }, @@ -3092,7 +3123,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "4674:4:13", + "src": "4674:4:7", "type": "" } ], @@ -3100,16 +3131,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "4683:6:13", + "src": "4683:6:7", "type": "" } ], - "src": "4639:320:13" + "src": "4639:320:7" }, { "body": { "nodeType": "YulBlock", - "src": "4993:152:13", + "src": "4993:152:7", "statements": [ { "expression": { @@ -3117,14 +3148,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5010:1:13", + "src": "5010:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5013:77:13", + "src": "5013:77:7", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -3132,13 +3163,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5003:6:13" + "src": "5003:6:7" }, "nodeType": "YulFunctionCall", - "src": "5003:88:13" + "src": "5003:88:7" }, "nodeType": "YulExpressionStatement", - "src": "5003:88:13" + "src": "5003:88:7" }, { "expression": { @@ -3146,14 +3177,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5107:1:13", + "src": "5107:1:7", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5110:4:13", + "src": "5110:4:7", "type": "", "value": "0x11" } @@ -3161,13 +3192,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5100:6:13" + "src": "5100:6:7" }, "nodeType": "YulFunctionCall", - "src": "5100:15:13" + "src": "5100:15:7" }, "nodeType": "YulExpressionStatement", - "src": "5100:15:13" + "src": "5100:15:7" }, { "expression": { @@ -3175,14 +3206,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5131:1:13", + "src": "5131:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5134:4:13", + "src": "5134:4:7", "type": "", "value": "0x24" } @@ -3190,24 +3221,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5124:6:13" + "src": "5124:6:7" }, "nodeType": "YulFunctionCall", - "src": "5124:15:13" + "src": "5124:15:7" }, "nodeType": "YulExpressionStatement", - "src": "5124:15:13" + "src": "5124:15:7" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "4965:180:13" + "src": "4965:180:7" }, { "body": { "nodeType": "YulBlock", - "src": "5179:152:13", + "src": "5179:152:7", "statements": [ { "expression": { @@ -3215,14 +3246,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5196:1:13", + "src": "5196:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5199:77:13", + "src": "5199:77:7", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -3230,13 +3261,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5189:6:13" + "src": "5189:6:7" }, "nodeType": "YulFunctionCall", - "src": "5189:88:13" + "src": "5189:88:7" }, "nodeType": "YulExpressionStatement", - "src": "5189:88:13" + "src": "5189:88:7" }, { "expression": { @@ -3244,14 +3275,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5293:1:13", + "src": "5293:1:7", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5296:4:13", + "src": "5296:4:7", "type": "", "value": "0x22" } @@ -3259,13 +3290,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5286:6:13" + "src": "5286:6:7" }, "nodeType": "YulFunctionCall", - "src": "5286:15:13" + "src": "5286:15:7" }, "nodeType": "YulExpressionStatement", - "src": "5286:15:13" + "src": "5286:15:7" }, { "expression": { @@ -3273,14 +3304,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5317:1:13", + "src": "5317:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5320:4:13", + "src": "5320:4:7", "type": "", "value": "0x24" } @@ -3288,56 +3319,56 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5310:6:13" + "src": "5310:6:7" }, "nodeType": "YulFunctionCall", - "src": "5310:15:13" + "src": "5310:15:7" }, "nodeType": "YulExpressionStatement", - "src": "5310:15:13" + "src": "5310:15:7" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "5151:180:13" + "src": "5151:180:7" }, { "body": { "nodeType": "YulBlock", - "src": "5388:51:13", + "src": "5388:51:7", "statements": [ { "nodeType": "YulAssignment", - "src": "5398:34:13", + "src": "5398:34:7", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "5423:1:13", + "src": "5423:1:7", "type": "", "value": "1" }, { "name": "value", "nodeType": "YulIdentifier", - "src": "5426:5:13" + "src": "5426:5:7" } ], "functionName": { "name": "shr", "nodeType": "YulIdentifier", - "src": "5419:3:13" + "src": "5419:3:7" }, "nodeType": "YulFunctionCall", - "src": "5419:13:13" + "src": "5419:13:7" }, "variableNames": [ { "name": "newValue", "nodeType": "YulIdentifier", - "src": "5398:8:13" + "src": "5398:8:7" } ] } @@ -3349,7 +3380,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5369:5:13", + "src": "5369:5:7", "type": "" } ], @@ -3357,21 +3388,21 @@ { "name": "newValue", "nodeType": "YulTypedName", - "src": "5379:8:13", + "src": "5379:8:7", "type": "" } ], - "src": "5337:102:13" + "src": "5337:102:7" }, { "body": { "nodeType": "YulBlock", - "src": "5488:79:13", + "src": "5488:79:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5545:16:13", + "src": "5545:16:7", "statements": [ { "expression": { @@ -3379,14 +3410,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5554:1:13", + "src": "5554:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5557:1:13", + "src": "5557:1:7", "type": "", "value": "0" } @@ -3394,13 +3425,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5547:6:13" + "src": "5547:6:7" }, "nodeType": "YulFunctionCall", - "src": "5547:12:13" + "src": "5547:12:7" }, "nodeType": "YulExpressionStatement", - "src": "5547:12:13" + "src": "5547:12:7" } ] }, @@ -3411,44 +3442,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5511:5:13" + "src": "5511:5:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5536:5:13" + "src": "5536:5:7" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "5518:17:13" + "src": "5518:17:7" }, "nodeType": "YulFunctionCall", - "src": "5518:24:13" + "src": "5518:24:7" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "5508:2:13" + "src": "5508:2:7" }, "nodeType": "YulFunctionCall", - "src": "5508:35:13" + "src": "5508:35:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "5501:6:13" + "src": "5501:6:7" }, "nodeType": "YulFunctionCall", - "src": "5501:43:13" + "src": "5501:43:7" }, "nodeType": "YulIf", - "src": "5498:2:13" + "src": "5498:2:7" } ] }, @@ -3458,21 +3489,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5481:5:13", + "src": "5481:5:7", "type": "" } ], - "src": "5445:122:13" + "src": "5445:122:7" }, { "body": { "nodeType": "YulBlock", - "src": "5616:79:13", + "src": "5616:79:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5673:16:13", + "src": "5673:16:7", "statements": [ { "expression": { @@ -3480,14 +3511,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5682:1:13", + "src": "5682:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5685:1:13", + "src": "5685:1:7", "type": "", "value": "0" } @@ -3495,13 +3526,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5675:6:13" + "src": "5675:6:7" }, "nodeType": "YulFunctionCall", - "src": "5675:12:13" + "src": "5675:12:7" }, "nodeType": "YulExpressionStatement", - "src": "5675:12:13" + "src": "5675:12:7" } ] }, @@ -3512,44 +3543,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5639:5:13" + "src": "5639:5:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5664:5:13" + "src": "5664:5:7" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "5646:17:13" + "src": "5646:17:7" }, "nodeType": "YulFunctionCall", - "src": "5646:24:13" + "src": "5646:24:7" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "5636:2:13" + "src": "5636:2:7" }, "nodeType": "YulFunctionCall", - "src": "5636:35:13" + "src": "5636:35:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "5629:6:13" + "src": "5629:6:7" }, "nodeType": "YulFunctionCall", - "src": "5629:43:13" + "src": "5629:43:7" }, "nodeType": "YulIf", - "src": "5626:2:13" + "src": "5626:2:7" } ] }, @@ -3559,21 +3590,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5609:5:13", + "src": "5609:5:7", "type": "" } ], - "src": "5573:122:13" + "src": "5573:122:7" }, { "body": { "nodeType": "YulBlock", - "src": "5742:77:13", + "src": "5742:77:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5797:16:13", + "src": "5797:16:7", "statements": [ { "expression": { @@ -3581,14 +3612,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5806:1:13", + "src": "5806:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5809:1:13", + "src": "5809:1:7", "type": "", "value": "0" } @@ -3596,13 +3627,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5799:6:13" + "src": "5799:6:7" }, "nodeType": "YulFunctionCall", - "src": "5799:12:13" + "src": "5799:12:7" }, "nodeType": "YulExpressionStatement", - "src": "5799:12:13" + "src": "5799:12:7" } ] }, @@ -3613,44 +3644,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "5765:5:13" + "src": "5765:5:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5788:5:13" + "src": "5788:5:7" } ], "functionName": { "name": "cleanup_t_uint8", "nodeType": "YulIdentifier", - "src": "5772:15:13" + "src": "5772:15:7" }, "nodeType": "YulFunctionCall", - "src": "5772:22:13" + "src": "5772:22:7" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "5762:2:13" + "src": "5762:2:7" }, "nodeType": "YulFunctionCall", - "src": "5762:33:13" + "src": "5762:33:7" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "5755:6:13" + "src": "5755:6:7" }, "nodeType": "YulFunctionCall", - "src": "5755:41:13" + "src": "5755:41:7" }, "nodeType": "YulIf", - "src": "5752:2:13" + "src": "5752:2:7" } ] }, @@ -3660,16 +3691,16 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "5735:5:13", + "src": "5735:5:7", "type": "" } ], - "src": "5701:118:13" + "src": "5701:118:7" } ] }, "contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_addresst_addresst_addresst_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n}\n", - "id": 13, + "id": 7, "language": "Yul", "name": "#utility.yul" } @@ -3678,37 +3709,37 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:23116:13", + "src": "0:25871:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "59:87:13", + "src": "59:87:7", "statements": [ { "nodeType": "YulAssignment", - "src": "69:29:13", + "src": "69:29:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "91:6:13" + "src": "91:6:7" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "78:12:13" + "src": "78:12:7" }, "nodeType": "YulFunctionCall", - "src": "78:20:13" + "src": "78:20:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "69:5:13" + "src": "69:5:7" } ] }, @@ -3718,19 +3749,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "134:5:13" + "src": "134:5:7" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "107:26:13" + "src": "107:26:7" }, "nodeType": "YulFunctionCall", - "src": "107:33:13" + "src": "107:33:7" }, "nodeType": "YulExpressionStatement", - "src": "107:33:13" + "src": "107:33:7" } ] }, @@ -3740,13 +3771,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "37:6:13", + "src": "37:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "45:3:13", + "src": "45:3:7", "type": "" } ], @@ -3754,41 +3785,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "53:5:13", + "src": "53:5:7", "type": "" } ], - "src": "7:139:13" + "src": "7:139:7" }, { "body": { "nodeType": "YulBlock", - "src": "212:77:13", + "src": "212:77:7", "statements": [ { "nodeType": "YulAssignment", - "src": "222:22:13", + "src": "222:22:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "237:6:13" + "src": "237:6:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "231:5:13" + "src": "231:5:7" }, "nodeType": "YulFunctionCall", - "src": "231:13:13" + "src": "231:13:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "222:5:13" + "src": "222:5:7" } ] }, @@ -3798,19 +3829,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "277:5:13" + "src": "277:5:7" } ], "functionName": { "name": "validator_revert_t_bool", "nodeType": "YulIdentifier", - "src": "253:23:13" + "src": "253:23:7" }, "nodeType": "YulFunctionCall", - "src": "253:30:13" + "src": "253:30:7" }, "nodeType": "YulExpressionStatement", - "src": "253:30:13" + "src": "253:30:7" } ] }, @@ -3820,13 +3851,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "190:6:13", + "src": "190:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "198:3:13", + "src": "198:3:7", "type": "" } ], @@ -3834,41 +3865,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "206:5:13", + "src": "206:5:7", "type": "" } ], - "src": "152:137:13" + "src": "152:137:7" }, { "body": { "nodeType": "YulBlock", - "src": "347:87:13", + "src": "347:87:7", "statements": [ { "nodeType": "YulAssignment", - "src": "357:29:13", + "src": "357:29:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "379:6:13" + "src": "379:6:7" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "366:12:13" + "src": "366:12:7" }, "nodeType": "YulFunctionCall", - "src": "366:20:13" + "src": "366:20:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "357:5:13" + "src": "357:5:7" } ] }, @@ -3878,19 +3909,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "422:5:13" + "src": "422:5:7" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "395:26:13" + "src": "395:26:7" }, "nodeType": "YulFunctionCall", - "src": "395:33:13" + "src": "395:33:7" }, "nodeType": "YulExpressionStatement", - "src": "395:33:13" + "src": "395:33:7" } ] }, @@ -3900,13 +3931,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "325:6:13", + "src": "325:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "333:3:13", + "src": "333:3:7", "type": "" } ], @@ -3914,41 +3945,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "341:5:13", + "src": "341:5:7", "type": "" } ], - "src": "295:139:13" + "src": "295:139:7" }, { "body": { "nodeType": "YulBlock", - "src": "503:80:13", + "src": "503:80:7", "statements": [ { "nodeType": "YulAssignment", - "src": "513:22:13", + "src": "513:22:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "528:6:13" + "src": "528:6:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "522:5:13" + "src": "522:5:7" }, "nodeType": "YulFunctionCall", - "src": "522:13:13" + "src": "522:13:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "513:5:13" + "src": "513:5:7" } ] }, @@ -3958,19 +3989,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "571:5:13" + "src": "571:5:7" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "544:26:13" + "src": "544:26:7" }, "nodeType": "YulFunctionCall", - "src": "544:33:13" + "src": "544:33:7" }, "nodeType": "YulExpressionStatement", - "src": "544:33:13" + "src": "544:33:7" } ] }, @@ -3980,13 +4011,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "481:6:13", + "src": "481:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "489:3:13", + "src": "489:3:7", "type": "" } ], @@ -3994,41 +4025,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "497:5:13", + "src": "497:5:7", "type": "" } ], - "src": "440:143:13" + "src": "440:143:7" }, { "body": { "nodeType": "YulBlock", - "src": "650:78:13", + "src": "650:78:7", "statements": [ { "nodeType": "YulAssignment", - "src": "660:22:13", + "src": "660:22:7", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "675:6:13" + "src": "675:6:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "669:5:13" + "src": "669:5:7" }, "nodeType": "YulFunctionCall", - "src": "669:13:13" + "src": "669:13:7" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "660:5:13" + "src": "660:5:7" } ] }, @@ -4038,19 +4069,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "716:5:13" + "src": "716:5:7" } ], "functionName": { "name": "validator_revert_t_uint8", "nodeType": "YulIdentifier", - "src": "691:24:13" + "src": "691:24:7" }, "nodeType": "YulFunctionCall", - "src": "691:31:13" + "src": "691:31:7" }, "nodeType": "YulExpressionStatement", - "src": "691:31:13" + "src": "691:31:7" } ] }, @@ -4060,13 +4091,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "628:6:13", + "src": "628:6:7", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "636:3:13", + "src": "636:3:7", "type": "" } ], @@ -4074,21 +4105,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "644:5:13", + "src": "644:5:7", "type": "" } ], - "src": "589:139:13" + "src": "589:139:7" }, { "body": { "nodeType": "YulBlock", - "src": "800:196:13", + "src": "800:196:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "846:16:13", + "src": "846:16:7", "statements": [ { "expression": { @@ -4096,14 +4127,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "855:1:13", + "src": "855:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "858:1:13", + "src": "858:1:7", "type": "", "value": "0" } @@ -4111,13 +4142,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "848:6:13" + "src": "848:6:7" }, "nodeType": "YulFunctionCall", - "src": "848:12:13" + "src": "848:12:7" }, "nodeType": "YulExpressionStatement", - "src": "848:12:13" + "src": "848:12:7" } ] }, @@ -4128,26 +4159,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "821:7:13" + "src": "821:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "830:9:13" + "src": "830:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "817:3:13" + "src": "817:3:7" }, "nodeType": "YulFunctionCall", - "src": "817:23:13" + "src": "817:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "842:2:13", + "src": "842:2:7", "type": "", "value": "32" } @@ -4155,25 +4186,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "813:3:13" + "src": "813:3:7" }, "nodeType": "YulFunctionCall", - "src": "813:32:13" + "src": "813:32:7" }, "nodeType": "YulIf", - "src": "810:2:13" + "src": "810:2:7" }, { "nodeType": "YulBlock", - "src": "872:117:13", + "src": "872:117:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "887:15:13", + "src": "887:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "901:1:13", + "src": "901:1:7", "type": "", "value": "0" }, @@ -4181,14 +4212,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "891:6:13", + "src": "891:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "916:63:13", + "src": "916:63:7", "value": { "arguments": [ { @@ -4196,41 +4227,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "951:9:13" + "src": "951:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "962:6:13" + "src": "962:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "947:3:13" + "src": "947:3:7" }, "nodeType": "YulFunctionCall", - "src": "947:22:13" + "src": "947:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "971:7:13" + "src": "971:7:7" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "926:20:13" + "src": "926:20:7" }, "nodeType": "YulFunctionCall", - "src": "926:53:13" + "src": "926:53:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "916:6:13" + "src": "916:6:7" } ] } @@ -4244,13 +4275,270 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "770:9:13", + "src": "770:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "781:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "793:6:7", + "type": "" + } + ], + "src": "734:262:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1085:324:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1131:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1140:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1143:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1133:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1133:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1133:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1106:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1115:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1102:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1102:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1127:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1098:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1098:32:7" + }, + "nodeType": "YulIf", + "src": "1095:2:7" + }, + { + "nodeType": "YulBlock", + "src": "1157:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1172:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1186:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1176:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1201:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1236:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1247:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1232:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1232:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1256:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1211:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "1211:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1201:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1284:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1299:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1313:2:7", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1303:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1329:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1364:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1375:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1360:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1360:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1384:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1339:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "1339:53:7" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1329:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1047:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "781:7:13", + "src": "1058:7:7", "type": "" } ], @@ -4258,21 +4546,27 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "793:6:13", + "src": "1070:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1078:6:7", "type": "" } ], - "src": "734:262:13" + "src": "1002:407:7" }, { "body": { "nodeType": "YulBlock", - "src": "1076:204:13", + "src": "1489:204:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1122:16:13", + "src": "1535:16:7", "statements": [ { "expression": { @@ -4280,14 +4574,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1131:1:13", + "src": "1544:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1134:1:13", + "src": "1547:1:7", "type": "", "value": "0" } @@ -4295,13 +4589,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1124:6:13" + "src": "1537:6:7" }, "nodeType": "YulFunctionCall", - "src": "1124:12:13" + "src": "1537:12:7" }, "nodeType": "YulExpressionStatement", - "src": "1124:12:13" + "src": "1537:12:7" } ] }, @@ -4312,26 +4606,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1097:7:13" + "src": "1510:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1106:9:13" + "src": "1519:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "1093:3:13" + "src": "1506:3:7" }, "nodeType": "YulFunctionCall", - "src": "1093:23:13" + "src": "1506:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1118:2:13", + "src": "1531:2:7", "type": "", "value": "32" } @@ -4339,25 +4633,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "1089:3:13" + "src": "1502:3:7" }, "nodeType": "YulFunctionCall", - "src": "1089:32:13" + "src": "1502:32:7" }, "nodeType": "YulIf", - "src": "1086:2:13" + "src": "1499:2:7" }, { "nodeType": "YulBlock", - "src": "1148:125:13", + "src": "1561:125:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1163:15:13", + "src": "1576:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1177:1:13", + "src": "1590:1:7", "type": "", "value": "0" }, @@ -4365,14 +4659,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "1167:6:13", + "src": "1580:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1192:71:13", + "src": "1605:71:7", "value": { "arguments": [ { @@ -4380,41 +4674,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1235:9:13" + "src": "1648:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1246:6:13" + "src": "1659:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1231:3:13" + "src": "1644:3:7" }, "nodeType": "YulFunctionCall", - "src": "1231:22:13" + "src": "1644:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1255:7:13" + "src": "1668:7:7" } ], "functionName": { "name": "abi_decode_t_bool_fromMemory", "nodeType": "YulIdentifier", - "src": "1202:28:13" + "src": "1615:28:7" }, "nodeType": "YulFunctionCall", - "src": "1202:61:13" + "src": "1615:61:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1192:6:13" + "src": "1605:6:7" } ] } @@ -4428,13 +4722,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1046:9:13", + "src": "1459:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "1057:7:13", + "src": "1470:7:7", "type": "" } ], @@ -4442,21 +4736,21 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "1069:6:13", + "src": "1482:6:7", "type": "" } ], - "src": "1002:278:13" + "src": "1415:278:7" }, { "body": { "nodeType": "YulBlock", - "src": "1352:196:13", + "src": "1765:196:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1398:16:13", + "src": "1811:16:7", "statements": [ { "expression": { @@ -4464,14 +4758,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1407:1:13", + "src": "1820:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1410:1:13", + "src": "1823:1:7", "type": "", "value": "0" } @@ -4479,13 +4773,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1400:6:13" + "src": "1813:6:7" }, "nodeType": "YulFunctionCall", - "src": "1400:12:13" + "src": "1813:12:7" }, "nodeType": "YulExpressionStatement", - "src": "1400:12:13" + "src": "1813:12:7" } ] }, @@ -4496,26 +4790,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1373:7:13" + "src": "1786:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1382:9:13" + "src": "1795:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "1369:3:13" + "src": "1782:3:7" }, "nodeType": "YulFunctionCall", - "src": "1369:23:13" + "src": "1782:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1394:2:13", + "src": "1807:2:7", "type": "", "value": "32" } @@ -4523,25 +4817,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "1365:3:13" + "src": "1778:3:7" }, "nodeType": "YulFunctionCall", - "src": "1365:32:13" + "src": "1778:32:7" }, "nodeType": "YulIf", - "src": "1362:2:13" + "src": "1775:2:7" }, { "nodeType": "YulBlock", - "src": "1424:117:13", + "src": "1837:117:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1439:15:13", + "src": "1852:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1453:1:13", + "src": "1866:1:7", "type": "", "value": "0" }, @@ -4549,14 +4843,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "1443:6:13", + "src": "1856:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1468:63:13", + "src": "1881:63:7", "value": { "arguments": [ { @@ -4564,41 +4858,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1503:9:13" + "src": "1916:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1514:6:13" + "src": "1927:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1499:3:13" + "src": "1912:3:7" }, "nodeType": "YulFunctionCall", - "src": "1499:22:13" + "src": "1912:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1523:7:13" + "src": "1936:7:7" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "1478:20:13" + "src": "1891:20:7" }, "nodeType": "YulFunctionCall", - "src": "1478:53:13" + "src": "1891:53:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1468:6:13" + "src": "1881:6:7" } ] } @@ -4612,13 +4906,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1322:9:13", + "src": "1735:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "1333:7:13", + "src": "1746:7:7", "type": "" } ], @@ -4626,21 +4920,21 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "1345:6:13", + "src": "1758:6:7", "type": "" } ], - "src": "1286:262:13" + "src": "1699:262:7" }, { "body": { "nodeType": "YulBlock", - "src": "1631:207:13", + "src": "2044:207:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1677:16:13", + "src": "2090:16:7", "statements": [ { "expression": { @@ -4648,14 +4942,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1686:1:13", + "src": "2099:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1689:1:13", + "src": "2102:1:7", "type": "", "value": "0" } @@ -4663,13 +4957,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1679:6:13" + "src": "2092:6:7" }, "nodeType": "YulFunctionCall", - "src": "1679:12:13" + "src": "2092:12:7" }, "nodeType": "YulExpressionStatement", - "src": "1679:12:13" + "src": "2092:12:7" } ] }, @@ -4680,26 +4974,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1652:7:13" + "src": "2065:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1661:9:13" + "src": "2074:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "1648:3:13" + "src": "2061:3:7" }, "nodeType": "YulFunctionCall", - "src": "1648:23:13" + "src": "2061:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1673:2:13", + "src": "2086:2:7", "type": "", "value": "32" } @@ -4707,25 +5001,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "1644:3:13" + "src": "2057:3:7" }, "nodeType": "YulFunctionCall", - "src": "1644:32:13" + "src": "2057:32:7" }, "nodeType": "YulIf", - "src": "1641:2:13" + "src": "2054:2:7" }, { "nodeType": "YulBlock", - "src": "1703:128:13", + "src": "2116:128:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1718:15:13", + "src": "2131:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1732:1:13", + "src": "2145:1:7", "type": "", "value": "0" }, @@ -4733,14 +5027,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "1722:6:13", + "src": "2135:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1747:74:13", + "src": "2160:74:7", "value": { "arguments": [ { @@ -4748,41 +5042,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1793:9:13" + "src": "2206:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1804:6:13" + "src": "2217:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1789:3:13" + "src": "2202:3:7" }, "nodeType": "YulFunctionCall", - "src": "1789:22:13" + "src": "2202:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1813:7:13" + "src": "2226:7:7" } ], "functionName": { "name": "abi_decode_t_uint256_fromMemory", "nodeType": "YulIdentifier", - "src": "1757:31:13" + "src": "2170:31:7" }, "nodeType": "YulFunctionCall", - "src": "1757:64:13" + "src": "2170:64:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1747:6:13" + "src": "2160:6:7" } ] } @@ -4796,13 +5090,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1601:9:13", + "src": "2014:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "1612:7:13", + "src": "2025:7:7", "type": "" } ], @@ -4810,21 +5104,21 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "1624:6:13", + "src": "2037:6:7", "type": "" } ], - "src": "1554:284:13" + "src": "1967:284:7" }, { "body": { "nodeType": "YulBlock", - "src": "1919:205:13", + "src": "2332:205:7", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1965:16:13", + "src": "2378:16:7", "statements": [ { "expression": { @@ -4832,14 +5126,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1974:1:13", + "src": "2387:1:7", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1977:1:13", + "src": "2390:1:7", "type": "", "value": "0" } @@ -4847,13 +5141,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "1967:6:13" + "src": "2380:6:7" }, "nodeType": "YulFunctionCall", - "src": "1967:12:13" + "src": "2380:12:7" }, "nodeType": "YulExpressionStatement", - "src": "1967:12:13" + "src": "2380:12:7" } ] }, @@ -4864,26 +5158,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1940:7:13" + "src": "2353:7:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1949:9:13" + "src": "2362:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "1936:3:13" + "src": "2349:3:7" }, "nodeType": "YulFunctionCall", - "src": "1936:23:13" + "src": "2349:23:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1961:2:13", + "src": "2374:2:7", "type": "", "value": "32" } @@ -4891,25 +5185,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "1932:3:13" + "src": "2345:3:7" }, "nodeType": "YulFunctionCall", - "src": "1932:32:13" + "src": "2345:32:7" }, "nodeType": "YulIf", - "src": "1929:2:13" + "src": "2342:2:7" }, { "nodeType": "YulBlock", - "src": "1991:126:13", + "src": "2404:126:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2006:15:13", + "src": "2419:15:7", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "2020:1:13", + "src": "2433:1:7", "type": "", "value": "0" }, @@ -4917,14 +5211,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2010:6:13", + "src": "2423:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2035:72:13", + "src": "2448:72:7", "value": { "arguments": [ { @@ -4932,41 +5226,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2079:9:13" + "src": "2492:9:7" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "2090:6:13" + "src": "2503:6:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2075:3:13" + "src": "2488:3:7" }, "nodeType": "YulFunctionCall", - "src": "2075:22:13" + "src": "2488:22:7" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "2099:7:13" + "src": "2512:7:7" } ], "functionName": { "name": "abi_decode_t_uint8_fromMemory", "nodeType": "YulIdentifier", - "src": "2045:29:13" + "src": "2458:29:7" }, "nodeType": "YulFunctionCall", - "src": "2045:62:13" + "src": "2458:62:7" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "2035:6:13" + "src": "2448:6:7" } ] } @@ -4980,13 +5274,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1889:9:13", + "src": "2302:9:7", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "1900:7:13", + "src": "2313:7:7", "type": "" } ], @@ -4994,16 +5288,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "1912:6:13", + "src": "2325:6:7", "type": "" } ], - "src": "1844:280:13" + "src": "2257:280:7" }, { "body": { "nodeType": "YulBlock", - "src": "2195:53:13", + "src": "2608:53:7", "statements": [ { "expression": { @@ -5011,35 +5305,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2212:3:13" + "src": "2625:3:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2235:5:13" + "src": "2648:5:7" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "2217:17:13" + "src": "2630:17:7" }, "nodeType": "YulFunctionCall", - "src": "2217:24:13" + "src": "2630:24:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2205:6:13" + "src": "2618:6:7" }, "nodeType": "YulFunctionCall", - "src": "2205:37:13" + "src": "2618:37:7" }, "nodeType": "YulExpressionStatement", - "src": "2205:37:13" + "src": "2618:37:7" } ] }, @@ -5049,22 +5343,22 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2183:5:13", + "src": "2596:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "2190:3:13", + "src": "2603:3:7", "type": "" } ], - "src": "2130:118:13" + "src": "2543:118:7" }, { "body": { "nodeType": "YulBlock", - "src": "2313:50:13", + "src": "2726:50:7", "statements": [ { "expression": { @@ -5072,35 +5366,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2330:3:13" + "src": "2743:3:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2350:5:13" + "src": "2763:5:7" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "2335:14:13" + "src": "2748:14:7" }, "nodeType": "YulFunctionCall", - "src": "2335:21:13" + "src": "2748:21:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2323:6:13" + "src": "2736:6:7" }, "nodeType": "YulFunctionCall", - "src": "2323:34:13" + "src": "2736:34:7" }, "nodeType": "YulExpressionStatement", - "src": "2323:34:13" + "src": "2736:34:7" } ] }, @@ -5110,22 +5404,22 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2301:5:13", + "src": "2714:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "2308:3:13", + "src": "2721:3:7", "type": "" } ], - "src": "2254:109:13" + "src": "2667:109:7" }, { "body": { "nodeType": "YulBlock", - "src": "2457:89:13", + "src": "2869:88:7", "statements": [ { "expression": { @@ -5133,60 +5427,60 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2474:3:13" + "src": "2886:3:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2533:5:13" + "src": "2944:5:7" } ], "functionName": { - "name": "convert_t_contract$_IERC20Metadata_$1724_to_t_address", + "name": "convert_t_contract$_IERC20Metadata_$899_to_t_address", "nodeType": "YulIdentifier", - "src": "2479:53:13" + "src": "2891:52:7" }, "nodeType": "YulFunctionCall", - "src": "2479:60:13" + "src": "2891:59:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2467:6:13" + "src": "2879:6:7" }, "nodeType": "YulFunctionCall", - "src": "2467:73:13" + "src": "2879:72:7" }, "nodeType": "YulExpressionStatement", - "src": "2467:73:13" + "src": "2879:72:7" } ] }, - "name": "abi_encode_t_contract$_IERC20Metadata_$1724_to_t_address_fromStack", + "name": "abi_encode_t_contract$_IERC20Metadata_$899_to_t_address_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "2445:5:13", + "src": "2857:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "2452:3:13", + "src": "2864:3:7", "type": "" } ], - "src": "2369:177:13" + "src": "2782:175:7" }, { "body": { "nodeType": "YulBlock", - "src": "2632:81:13", + "src": "3043:81:7", "statements": [ { "expression": { @@ -5194,118 +5488,118 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2649:3:13" + "src": "3060:3:7" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2700:5:13" + "src": "3111:5:7" } ], "functionName": { - "name": "convert_t_contract$_IStaker_$964_to_t_address", + "name": "convert_t_contract$_IStaker_$646_to_t_address", "nodeType": "YulIdentifier", - "src": "2654:45:13" + "src": "3065:45:7" }, "nodeType": "YulFunctionCall", - "src": "2654:52:13" + "src": "3065:52:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2642:6:13" + "src": "3053:6:7" }, "nodeType": "YulFunctionCall", - "src": "2642:65:13" + "src": "3053:65:7" }, "nodeType": "YulExpressionStatement", - "src": "2642:65:13" + "src": "3053:65:7" } ] }, - "name": "abi_encode_t_contract$_IStaker_$964_to_t_address_fromStack", + "name": "abi_encode_t_contract$_IStaker_$646_to_t_address_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "2620:5:13", + "src": "3031:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "2627:3:13", + "src": "3038:3:7", "type": "" } ], - "src": "2552:161:13" + "src": "2963:161:7" }, { "body": { "nodeType": "YulBlock", - "src": "2811:272:13", + "src": "3222:272:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2821:53:13", + "src": "3232:53:7", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2868:5:13" + "src": "3279:5:7" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "2835:32:13" + "src": "3246:32:7" }, "nodeType": "YulFunctionCall", - "src": "2835:39:13" + "src": "3246:39:7" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "2825:6:13", + "src": "3236:6:7", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2883:78:13", + "src": "3294:78:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2949:3:13" + "src": "3360:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2954:6:13" + "src": "3365:6:7" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2890:58:13" + "src": "3301:58:7" }, "nodeType": "YulFunctionCall", - "src": "2890:71:13" + "src": "3301:71:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2883:3:13" + "src": "3294:3:7" } ] }, @@ -5317,12 +5611,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2996:5:13" + "src": "3407:5:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3003:4:13", + "src": "3414:4:7", "type": "", "value": "0x20" } @@ -5330,73 +5624,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2992:3:13" + "src": "3403:3:7" }, "nodeType": "YulFunctionCall", - "src": "2992:16:13" + "src": "3403:16:7" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "3010:3:13" + "src": "3421:3:7" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "3015:6:13" + "src": "3426:6:7" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "2970:21:13" + "src": "3381:21:7" }, "nodeType": "YulFunctionCall", - "src": "2970:52:13" + "src": "3381:52:7" }, "nodeType": "YulExpressionStatement", - "src": "2970:52:13" + "src": "3381:52:7" }, { "nodeType": "YulAssignment", - "src": "3031:46:13", + "src": "3442:46:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3042:3:13" + "src": "3453:3:7" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "3069:6:13" + "src": "3480:6:7" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "3047:21:13" + "src": "3458:21:7" }, "nodeType": "YulFunctionCall", - "src": "3047:29:13" + "src": "3458:29:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3038:3:13" + "src": "3449:3:7" }, "nodeType": "YulFunctionCall", - "src": "3038:39:13" + "src": "3449:39:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "3031:3:13" + "src": "3442:3:7" } ] } @@ -5408,13 +5702,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2792:5:13", + "src": "3203:5:7", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "2799:3:13", + "src": "3210:3:7", "type": "" } ], @@ -5422,31 +5716,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "2807:3:13", + "src": "3218:3:7", "type": "" } ], - "src": "2719:364:13" + "src": "3130:364:7" }, { "body": { "nodeType": "YulBlock", - "src": "3235:172:13", + "src": "3646:172:7", "statements": [ { "nodeType": "YulAssignment", - "src": "3245:74:13", + "src": "3656:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3311:3:13" + "src": "3722:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3316:2:13", + "src": "3727:2:7", "type": "", "value": "20" } @@ -5454,16 +5748,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "3252:58:13" + "src": "3663:58:7" }, "nodeType": "YulFunctionCall", - "src": "3252:67:13" + "src": "3663:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3245:3:13" + "src": "3656:3:7" } ] }, @@ -5475,12 +5769,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3340:3:13" + "src": "3751:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3345:1:13", + "src": "3756:1:7", "type": "", "value": "0" } @@ -5488,15 +5782,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3336:3:13" + "src": "3747:3:7" }, "nodeType": "YulFunctionCall", - "src": "3336:11:13" + "src": "3747:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "3349:22:13", + "src": "3760:22:7", "type": "", "value": "Not Valid Eth Amount" } @@ -5504,28 +5798,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3329:6:13" + "src": "3740:6:7" }, "nodeType": "YulFunctionCall", - "src": "3329:43:13" + "src": "3740:43:7" }, "nodeType": "YulExpressionStatement", - "src": "3329:43:13" + "src": "3740:43:7" }, { "nodeType": "YulAssignment", - "src": "3382:19:13", + "src": "3793:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3393:3:13" + "src": "3804:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3398:2:13", + "src": "3809:2:7", "type": "", "value": "32" } @@ -5533,16 +5827,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3389:3:13" + "src": "3800:3:7" }, "nodeType": "YulFunctionCall", - "src": "3389:12:13" + "src": "3800:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "3382:3:13" + "src": "3793:3:7" } ] } @@ -5554,7 +5848,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "3223:3:13", + "src": "3634:3:7", "type": "" } ], @@ -5562,31 +5856,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "3231:3:13", + "src": "3642:3:7", "type": "" } ], - "src": "3089:318:13" + "src": "3500:318:7" }, { "body": { "nodeType": "YulBlock", - "src": "3559:166:13", + "src": "3970:166:7", "statements": [ { "nodeType": "YulAssignment", - "src": "3569:74:13", + "src": "3980:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3635:3:13" + "src": "4046:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3640:2:13", + "src": "4051:2:7", "type": "", "value": "14" } @@ -5594,16 +5888,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "3576:58:13" + "src": "3987:58:7" }, "nodeType": "YulFunctionCall", - "src": "3576:67:13" + "src": "3987:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3569:3:13" + "src": "3980:3:7" } ] }, @@ -5615,12 +5909,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3664:3:13" + "src": "4075:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3669:1:13", + "src": "4080:1:7", "type": "", "value": "0" } @@ -5628,15 +5922,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3660:3:13" + "src": "4071:3:7" }, "nodeType": "YulFunctionCall", - "src": "3660:11:13" + "src": "4071:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "3673:16:13", + "src": "4084:16:7", "type": "", "value": "Not registered" } @@ -5644,28 +5938,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3653:6:13" + "src": "4064:6:7" }, "nodeType": "YulFunctionCall", - "src": "3653:37:13" + "src": "4064:37:7" }, "nodeType": "YulExpressionStatement", - "src": "3653:37:13" + "src": "4064:37:7" }, { "nodeType": "YulAssignment", - "src": "3700:19:13", + "src": "4111:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3711:3:13" + "src": "4122:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3716:2:13", + "src": "4127:2:7", "type": "", "value": "32" } @@ -5673,16 +5967,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3707:3:13" + "src": "4118:3:7" }, "nodeType": "YulFunctionCall", - "src": "3707:12:13" + "src": "4118:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "3700:3:13" + "src": "4111:3:7" } ] } @@ -5694,7 +5988,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "3547:3:13", + "src": "3958:3:7", "type": "" } ], @@ -5702,31 +5996,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "3555:3:13", + "src": "3966:3:7", "type": "" } ], - "src": "3413:312:13" + "src": "3824:312:7" }, { "body": { "nodeType": "YulBlock", - "src": "3877:224:13", + "src": "4288:224:7", "statements": [ { "nodeType": "YulAssignment", - "src": "3887:74:13", + "src": "4298:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3953:3:13" + "src": "4364:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3958:2:13", + "src": "4369:2:7", "type": "", "value": "38" } @@ -5734,16 +6028,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "3894:58:13" + "src": "4305:58:7" }, "nodeType": "YulFunctionCall", - "src": "3894:67:13" + "src": "4305:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3887:3:13" + "src": "4298:3:7" } ] }, @@ -5755,12 +6049,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3982:3:13" + "src": "4393:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3987:1:13", + "src": "4398:1:7", "type": "", "value": "0" } @@ -5768,15 +6062,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3978:3:13" + "src": "4389:3:7" }, "nodeType": "YulFunctionCall", - "src": "3978:11:13" + "src": "4389:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "3991:34:13", + "src": "4402:34:7", "type": "", "value": "Ownable: new owner is the zero a" } @@ -5784,13 +6078,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3971:6:13" + "src": "4382:6:7" }, "nodeType": "YulFunctionCall", - "src": "3971:55:13" + "src": "4382:55:7" }, "nodeType": "YulExpressionStatement", - "src": "3971:55:13" + "src": "4382:55:7" }, { "expression": { @@ -5800,12 +6094,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4047:3:13" + "src": "4458:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4052:2:13", + "src": "4463:2:7", "type": "", "value": "32" } @@ -5813,15 +6107,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4043:3:13" + "src": "4454:3:7" }, "nodeType": "YulFunctionCall", - "src": "4043:12:13" + "src": "4454:12:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "4057:8:13", + "src": "4468:8:7", "type": "", "value": "ddress" } @@ -5829,28 +6123,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4036:6:13" + "src": "4447:6:7" }, "nodeType": "YulFunctionCall", - "src": "4036:30:13" + "src": "4447:30:7" }, "nodeType": "YulExpressionStatement", - "src": "4036:30:13" + "src": "4447:30:7" }, { "nodeType": "YulAssignment", - "src": "4076:19:13", + "src": "4487:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4087:3:13" + "src": "4498:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4092:2:13", + "src": "4503:2:7", "type": "", "value": "64" } @@ -5858,16 +6152,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4083:3:13" + "src": "4494:3:7" }, "nodeType": "YulFunctionCall", - "src": "4083:12:13" + "src": "4494:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "4076:3:13" + "src": "4487:3:7" } ] } @@ -5879,7 +6173,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "3865:3:13", + "src": "4276:3:7", "type": "" } ], @@ -5887,31 +6181,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "3873:3:13", + "src": "4284:3:7", "type": "" } ], - "src": "3731:370:13" + "src": "4142:370:7" }, { "body": { "nodeType": "YulBlock", - "src": "4253:170:13", + "src": "4664:170:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4263:74:13", + "src": "4674:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4329:3:13" + "src": "4740:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4334:2:13", + "src": "4745:2:7", "type": "", "value": "18" } @@ -5919,16 +6213,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "4270:58:13" + "src": "4681:58:7" }, "nodeType": "YulFunctionCall", - "src": "4270:67:13" + "src": "4681:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4263:3:13" + "src": "4674:3:7" } ] }, @@ -5940,12 +6234,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4358:3:13" + "src": "4769:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4363:1:13", + "src": "4774:1:7", "type": "", "value": "0" } @@ -5953,15 +6247,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4354:3:13" + "src": "4765:3:7" }, "nodeType": "YulFunctionCall", - "src": "4354:11:13" + "src": "4765:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "4367:20:13", + "src": "4778:20:7", "type": "", "value": "Already registered" } @@ -5969,28 +6263,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4347:6:13" + "src": "4758:6:7" }, "nodeType": "YulFunctionCall", - "src": "4347:41:13" + "src": "4758:41:7" }, "nodeType": "YulExpressionStatement", - "src": "4347:41:13" + "src": "4758:41:7" }, { "nodeType": "YulAssignment", - "src": "4398:19:13", + "src": "4809:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4409:3:13" + "src": "4820:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4414:2:13", + "src": "4825:2:7", "type": "", "value": "32" } @@ -5998,16 +6292,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4405:3:13" + "src": "4816:3:7" }, "nodeType": "YulFunctionCall", - "src": "4405:12:13" + "src": "4816:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "4398:3:13" + "src": "4809:3:7" } ] } @@ -6019,7 +6313,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "4241:3:13", + "src": "4652:3:7", "type": "" } ], @@ -6027,31 +6321,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "4249:3:13", + "src": "4660:3:7", "type": "" } ], - "src": "4107:316:13" + "src": "4518:316:7" }, { "body": { "nodeType": "YulBlock", - "src": "4575:167:13", + "src": "4986:167:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4585:74:13", + "src": "4996:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4651:3:13" + "src": "5062:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4656:2:13", + "src": "5067:2:7", "type": "", "value": "15" } @@ -6059,16 +6353,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "4592:58:13" + "src": "5003:58:7" }, "nodeType": "YulFunctionCall", - "src": "4592:67:13" + "src": "5003:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4585:3:13" + "src": "4996:3:7" } ] }, @@ -6080,12 +6374,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4680:3:13" + "src": "5091:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4685:1:13", + "src": "5096:1:7", "type": "", "value": "0" } @@ -6093,15 +6387,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4676:3:13" + "src": "5087:3:7" }, "nodeType": "YulFunctionCall", - "src": "4676:11:13" + "src": "5087:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "4689:17:13", + "src": "5100:17:7", "type": "", "value": "invalid Pool no" } @@ -6109,28 +6403,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4669:6:13" + "src": "5080:6:7" }, "nodeType": "YulFunctionCall", - "src": "4669:38:13" + "src": "5080:38:7" }, "nodeType": "YulExpressionStatement", - "src": "4669:38:13" + "src": "5080:38:7" }, { "nodeType": "YulAssignment", - "src": "4717:19:13", + "src": "5128:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4728:3:13" + "src": "5139:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4733:2:13", + "src": "5144:2:7", "type": "", "value": "32" } @@ -6138,16 +6432,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4724:3:13" + "src": "5135:3:7" }, "nodeType": "YulFunctionCall", - "src": "4724:12:13" + "src": "5135:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "4717:3:13" + "src": "5128:3:7" } ] } @@ -6159,7 +6453,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "4563:3:13", + "src": "4974:3:7", "type": "" } ], @@ -6167,31 +6461,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "4571:3:13", + "src": "4982:3:7", "type": "" } ], - "src": "4429:313:13" + "src": "4840:313:7" }, { "body": { "nodeType": "YulBlock", - "src": "4894:171:13", + "src": "5305:171:7", "statements": [ { "nodeType": "YulAssignment", - "src": "4904:74:13", + "src": "5315:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4970:3:13" + "src": "5381:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4975:2:13", + "src": "5386:2:7", "type": "", "value": "19" } @@ -6199,16 +6493,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "4911:58:13" + "src": "5322:58:7" }, "nodeType": "YulFunctionCall", - "src": "4911:67:13" + "src": "5322:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4904:3:13" + "src": "5315:3:7" } ] }, @@ -6220,12 +6514,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "4999:3:13" + "src": "5410:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5004:1:13", + "src": "5415:1:7", "type": "", "value": "0" } @@ -6233,15 +6527,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4995:3:13" + "src": "5406:3:7" }, "nodeType": "YulFunctionCall", - "src": "4995:11:13" + "src": "5406:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "5008:21:13", + "src": "5419:21:7", "type": "", "value": "Already Initialized" } @@ -6249,28 +6543,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4988:6:13" + "src": "5399:6:7" }, "nodeType": "YulFunctionCall", - "src": "4988:42:13" + "src": "5399:42:7" }, "nodeType": "YulExpressionStatement", - "src": "4988:42:13" + "src": "5399:42:7" }, { "nodeType": "YulAssignment", - "src": "5040:19:13", + "src": "5451:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5051:3:13" + "src": "5462:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5056:2:13", + "src": "5467:2:7", "type": "", "value": "32" } @@ -6278,16 +6572,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5047:3:13" + "src": "5458:3:7" }, "nodeType": "YulFunctionCall", - "src": "5047:12:13" + "src": "5458:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "5040:3:13" + "src": "5451:3:7" } ] } @@ -6299,7 +6593,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "4882:3:13", + "src": "5293:3:7", "type": "" } ], @@ -6307,31 +6601,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "4890:3:13", + "src": "5301:3:7", "type": "" } ], - "src": "4748:317:13" + "src": "5159:317:7" }, { "body": { "nodeType": "YulBlock", - "src": "5217:169:13", + "src": "5628:169:7", "statements": [ { "nodeType": "YulAssignment", - "src": "5227:74:13", + "src": "5638:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5293:3:13" + "src": "5704:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5298:2:13", + "src": "5709:2:7", "type": "", "value": "17" } @@ -6339,16 +6633,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "5234:58:13" + "src": "5645:58:7" }, "nodeType": "YulFunctionCall", - "src": "5234:67:13" + "src": "5645:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5227:3:13" + "src": "5638:3:7" } ] }, @@ -6360,12 +6654,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5322:3:13" + "src": "5733:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5327:1:13", + "src": "5738:1:7", "type": "", "value": "0" } @@ -6373,15 +6667,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5318:3:13" + "src": "5729:3:7" }, "nodeType": "YulFunctionCall", - "src": "5318:11:13" + "src": "5729:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "5331:19:13", + "src": "5742:19:7", "type": "", "value": "Already Purchased" } @@ -6389,28 +6683,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5311:6:13" + "src": "5722:6:7" }, "nodeType": "YulFunctionCall", - "src": "5311:40:13" + "src": "5722:40:7" }, "nodeType": "YulExpressionStatement", - "src": "5311:40:13" + "src": "5722:40:7" }, { "nodeType": "YulAssignment", - "src": "5361:19:13", + "src": "5772:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5372:3:13" + "src": "5783:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5377:2:13", + "src": "5788:2:7", "type": "", "value": "32" } @@ -6418,16 +6712,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5368:3:13" + "src": "5779:3:7" }, "nodeType": "YulFunctionCall", - "src": "5368:12:13" + "src": "5779:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "5361:3:13" + "src": "5772:3:7" } ] } @@ -6439,7 +6733,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "5205:3:13", + "src": "5616:3:7", "type": "" } ], @@ -6447,31 +6741,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "5213:3:13", + "src": "5624:3:7", "type": "" } ], - "src": "5071:315:13" + "src": "5482:315:7" }, { "body": { "nodeType": "YulBlock", - "src": "5538:181:13", + "src": "5949:181:7", "statements": [ { "nodeType": "YulAssignment", - "src": "5548:74:13", + "src": "5959:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5614:3:13" + "src": "6025:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5619:2:13", + "src": "6030:2:7", "type": "", "value": "29" } @@ -6479,16 +6773,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "5555:58:13" + "src": "5966:58:7" }, "nodeType": "YulFunctionCall", - "src": "5555:67:13" + "src": "5966:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5548:3:13" + "src": "5959:3:7" } ] }, @@ -6500,12 +6794,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5643:3:13" + "src": "6054:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5648:1:13", + "src": "6059:1:7", "type": "", "value": "0" } @@ -6513,15 +6807,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5639:3:13" + "src": "6050:3:7" }, "nodeType": "YulFunctionCall", - "src": "5639:11:13" + "src": "6050:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "5652:31:13", + "src": "6063:31:7", "type": "", "value": "Can't Participate in the Pool" } @@ -6529,28 +6823,28 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5632:6:13" + "src": "6043:6:7" }, "nodeType": "YulFunctionCall", - "src": "5632:52:13" + "src": "6043:52:7" }, "nodeType": "YulExpressionStatement", - "src": "5632:52:13" + "src": "6043:52:7" }, { "nodeType": "YulAssignment", - "src": "5694:19:13", + "src": "6105:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5705:3:13" + "src": "6116:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5710:2:13", + "src": "6121:2:7", "type": "", "value": "32" } @@ -6558,16 +6852,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5701:3:13" + "src": "6112:3:7" }, "nodeType": "YulFunctionCall", - "src": "5701:12:13" + "src": "6112:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "5694:3:13" + "src": "6105:3:7" } ] } @@ -6579,7 +6873,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "5526:3:13", + "src": "5937:3:7", "type": "" } ], @@ -6587,48 +6881,48 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "5534:3:13", + "src": "5945:3:7", "type": "" } ], - "src": "5392:327:13" + "src": "5803:327:7" }, { "body": { "nodeType": "YulBlock", - "src": "5871:184:13", + "src": "6282:173:7", "statements": [ { "nodeType": "YulAssignment", - "src": "5881:74:13", + "src": "6292:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5947:3:13" + "src": "6358:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5952:2:13", + "src": "6363:2:7", "type": "", - "value": "32" + "value": "21" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "5888:58:13" + "src": "6299:58:7" }, "nodeType": "YulFunctionCall", - "src": "5888:67:13" + "src": "6299:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5881:3:13" + "src": "6292:3:7" } ] }, @@ -6640,12 +6934,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5976:3:13" + "src": "6387:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5981:1:13", + "src": "6392:1:7", "type": "", "value": "0" } @@ -6653,44 +6947,44 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5972:3:13" + "src": "6383:3:7" }, "nodeType": "YulFunctionCall", - "src": "5972:11:13" + "src": "6383:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "5985:34:13", + "src": "6396:23:7", "type": "", - "value": "Ownable: caller is not the owner" + "value": "Unable To Recover Eth" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5965:6:13" + "src": "6376:6:7" }, "nodeType": "YulFunctionCall", - "src": "5965:55:13" + "src": "6376:44:7" }, "nodeType": "YulExpressionStatement", - "src": "5965:55:13" + "src": "6376:44:7" }, { "nodeType": "YulAssignment", - "src": "6030:19:13", + "src": "6430:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6041:3:13" + "src": "6441:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6046:2:13", + "src": "6446:2:7", "type": "", "value": "32" } @@ -6698,28 +6992,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6037:3:13" + "src": "6437:3:7" }, "nodeType": "YulFunctionCall", - "src": "6037:12:13" + "src": "6437:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "6030:3:13" + "src": "6430:3:7" } ] } ] }, - "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "5859:3:13", + "src": "6270:3:7", "type": "" } ], @@ -6727,48 +7021,48 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "5867:3:13", + "src": "6278:3:7", "type": "" } ], - "src": "5725:330:13" + "src": "6136:319:7" }, { "body": { "nodeType": "YulBlock", - "src": "6207:172:13", + "src": "6607:181:7", "statements": [ { "nodeType": "YulAssignment", - "src": "6217:74:13", + "src": "6617:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6283:3:13" + "src": "6683:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6288:2:13", + "src": "6688:2:7", "type": "", - "value": "20" + "value": "29" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "6224:58:13" + "src": "6624:58:7" }, "nodeType": "YulFunctionCall", - "src": "6224:67:13" + "src": "6624:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6217:3:13" + "src": "6617:3:7" } ] }, @@ -6780,12 +7074,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6312:3:13" + "src": "6712:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6317:1:13", + "src": "6717:1:7", "type": "", "value": "0" } @@ -6793,44 +7087,44 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6308:3:13" + "src": "6708:3:7" }, "nodeType": "YulFunctionCall", - "src": "6308:11:13" + "src": "6708:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "6321:22:13", + "src": "6721:31:7", "type": "", - "value": "Values Can't Be Zero" + "value": "Not Enough Tokens In Contract" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6301:6:13" + "src": "6701:6:7" }, "nodeType": "YulFunctionCall", - "src": "6301:43:13" + "src": "6701:52:7" }, "nodeType": "YulExpressionStatement", - "src": "6301:43:13" + "src": "6701:52:7" }, { "nodeType": "YulAssignment", - "src": "6354:19:13", + "src": "6763:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6365:3:13" + "src": "6774:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6370:2:13", + "src": "6779:2:7", "type": "", "value": "32" } @@ -6838,28 +7132,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6361:3:13" + "src": "6770:3:7" }, "nodeType": "YulFunctionCall", - "src": "6361:12:13" + "src": "6770:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "6354:3:13" + "src": "6763:3:7" } ] } ] }, - "name": "abi_encode_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "6195:3:13", + "src": "6595:3:7", "type": "" } ], @@ -6867,48 +7161,48 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "6203:3:13", + "src": "6603:3:7", "type": "" } ], - "src": "6061:318:13" + "src": "6461:327:7" }, { "body": { "nodeType": "YulBlock", - "src": "6531:178:13", + "src": "6940:184:7", "statements": [ { "nodeType": "YulAssignment", - "src": "6541:74:13", + "src": "6950:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6607:3:13" + "src": "7016:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6612:2:13", + "src": "7021:2:7", "type": "", - "value": "26" + "value": "32" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "6548:58:13" + "src": "6957:58:7" }, "nodeType": "YulFunctionCall", - "src": "6548:67:13" + "src": "6957:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6541:3:13" + "src": "6950:3:7" } ] }, @@ -6920,12 +7214,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6636:3:13" + "src": "7045:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6641:1:13", + "src": "7050:1:7", "type": "", "value": "0" } @@ -6933,44 +7227,44 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6632:3:13" + "src": "7041:3:7" }, "nodeType": "YulFunctionCall", - "src": "6632:11:13" + "src": "7041:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "6645:28:13", + "src": "7054:34:7", "type": "", - "value": "Not in Registration Period" + "value": "Ownable: caller is not the owner" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6625:6:13" + "src": "7034:6:7" }, "nodeType": "YulFunctionCall", - "src": "6625:49:13" + "src": "7034:55:7" }, "nodeType": "YulExpressionStatement", - "src": "6625:49:13" + "src": "7034:55:7" }, { "nodeType": "YulAssignment", - "src": "6684:19:13", + "src": "7099:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6695:3:13" + "src": "7110:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6700:2:13", + "src": "7115:2:7", "type": "", "value": "32" } @@ -6978,28 +7272,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6691:3:13" + "src": "7106:3:7" }, "nodeType": "YulFunctionCall", - "src": "6691:12:13" + "src": "7106:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "6684:3:13" + "src": "7099:3:7" } ] } ] }, - "name": "abi_encode_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "6519:3:13", + "src": "6928:3:7", "type": "" } ], @@ -7007,48 +7301,48 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "6527:3:13", + "src": "6936:3:7", "type": "" } ], - "src": "6385:324:13" + "src": "6794:330:7" }, { "body": { "nodeType": "YulBlock", - "src": "6861:170:13", + "src": "7276:172:7", "statements": [ { "nodeType": "YulAssignment", - "src": "6871:74:13", + "src": "7286:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6937:3:13" + "src": "7352:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6942:2:13", + "src": "7357:2:7", "type": "", - "value": "18" + "value": "20" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "6878:58:13" + "src": "7293:58:7" }, "nodeType": "YulFunctionCall", - "src": "6878:67:13" + "src": "7293:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6871:3:13" + "src": "7286:3:7" } ] }, @@ -7060,12 +7354,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6966:3:13" + "src": "7381:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6971:1:13", + "src": "7386:1:7", "type": "", "value": "0" } @@ -7073,44 +7367,44 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6962:3:13" + "src": "7377:3:7" }, "nodeType": "YulFunctionCall", - "src": "6962:11:13" + "src": "7377:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "6975:20:13", + "src": "7390:22:7", "type": "", - "value": "Not in Sale Period" + "value": "Values Can't Be Zero" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6955:6:13" + "src": "7370:6:7" }, "nodeType": "YulFunctionCall", - "src": "6955:41:13" + "src": "7370:43:7" }, "nodeType": "YulExpressionStatement", - "src": "6955:41:13" + "src": "7370:43:7" }, { "nodeType": "YulAssignment", - "src": "7006:19:13", + "src": "7423:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7017:3:13" + "src": "7434:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7022:2:13", + "src": "7439:2:7", "type": "", "value": "32" } @@ -7118,28 +7412,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7013:3:13" + "src": "7430:3:7" }, "nodeType": "YulFunctionCall", - "src": "7013:12:13" + "src": "7430:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "7006:3:13" + "src": "7423:3:7" } ] } ] }, - "name": "abi_encode_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "6849:3:13", + "src": "7264:3:7", "type": "" } ], @@ -7147,48 +7441,48 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "6857:3:13", + "src": "7272:3:7", "type": "" } ], - "src": "6715:316:13" + "src": "7130:318:7" }, { "body": { "nodeType": "YulBlock", - "src": "7183:183:13", + "src": "7600:178:7", "statements": [ { "nodeType": "YulAssignment", - "src": "7193:74:13", + "src": "7610:74:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7259:3:13" + "src": "7676:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7264:2:13", + "src": "7681:2:7", "type": "", - "value": "31" + "value": "26" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "7200:58:13" + "src": "7617:58:7" }, "nodeType": "YulFunctionCall", - "src": "7200:67:13" + "src": "7617:67:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7193:3:13" + "src": "7610:3:7" } ] }, @@ -7200,12 +7494,12 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7288:3:13" + "src": "7705:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7293:1:13", + "src": "7710:1:7", "type": "", "value": "0" } @@ -7213,44 +7507,44 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7284:3:13" + "src": "7701:3:7" }, "nodeType": "YulFunctionCall", - "src": "7284:11:13" + "src": "7701:11:7" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "7297:33:13", + "src": "7714:28:7", "type": "", - "value": "ReentrancyGuard: reentrant call" + "value": "Not in Registration Period" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7277:6:13" + "src": "7694:6:7" }, "nodeType": "YulFunctionCall", - "src": "7277:54:13" + "src": "7694:49:7" }, "nodeType": "YulExpressionStatement", - "src": "7277:54:13" + "src": "7694:49:7" }, { "nodeType": "YulAssignment", - "src": "7341:19:13", + "src": "7753:19:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7352:3:13" + "src": "7764:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7357:2:13", + "src": "7769:2:7", "type": "", "value": "32" } @@ -7258,28 +7552,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7348:3:13" + "src": "7760:3:7" }, "nodeType": "YulFunctionCall", - "src": "7348:12:13" + "src": "7760:12:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "7341:3:13" + "src": "7753:3:7" } ] } ] }, - "name": "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "7171:3:13", + "src": "7588:3:7", "type": "" } ], @@ -7287,139 +7581,94 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "7179:3:13", + "src": "7596:3:7", "type": "" } ], - "src": "7037:329:13" + "src": "7454:324:7" }, { "body": { "nodeType": "YulBlock", - "src": "7518:171:13", + "src": "7947:134:7", "statements": [ { "nodeType": "YulAssignment", - "src": "7528:74:13", + "src": "7957:90:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7594:3:13" + "src": "8040:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7599:2:13", + "src": "8045:1:7", "type": "", - "value": "19" + "value": "0" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "7535:58:13" + "src": "7964:75:7" }, "nodeType": "YulFunctionCall", - "src": "7535:67:13" + "src": "7964:83:7" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7528:3:13" + "src": "7957:3:7" } ] }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7623:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7628:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7619:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "7619:11:13" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7632:21:13", - "type": "", - "value": "Not Initialized Yet" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7612:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "7612:42:13" - }, - "nodeType": "YulExpressionStatement", - "src": "7612:42:13" - }, { "nodeType": "YulAssignment", - "src": "7664:19:13", + "src": "8057:18:7", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7675:3:13" + "src": "8068:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7680:2:13", + "src": "8073:1:7", "type": "", - "value": "32" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7671:3:13" + "src": "8064:3:7" }, "nodeType": "YulFunctionCall", - "src": "7671:12:13" + "src": "8064:11:7" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "7664:3:13" + "src": "8057:3:7" } ] } ] }, - "name": "abi_encode_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "7506:3:13", + "src": "7935:3:7", "type": "" } ], @@ -7427,131 +7676,65 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "7514:3:13", - "type": "" - } - ], - "src": "7372:317:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7760:53:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7777:3:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7800:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "7782:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "7782:24:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7770:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "7770:37:13" - }, - "nodeType": "YulExpressionStatement", - "src": "7770:37:13" - } - ] - }, - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7748:5:13", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7755:3:13", + "src": "7943:3:7", "type": "" } ], - "src": "7695:118:13" + "src": "7784:297:7" }, { "body": { "nodeType": "YulBlock", - "src": "7917:124:13", + "src": "8233:170:7", "statements": [ { "nodeType": "YulAssignment", - "src": "7927:26:13", + "src": "8243:74:7", "value": { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "7939:9:13" + "src": "8309:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7950:2:13", + "src": "8314:2:7", "type": "", - "value": "32" + "value": "18" } ], "functionName": { - "name": "add", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "7935:3:13" + "src": "8250:58:7" }, "nodeType": "YulFunctionCall", - "src": "7935:18:13" + "src": "8250:67:7" }, "variableNames": [ { - "name": "tail", + "name": "pos", "nodeType": "YulIdentifier", - "src": "7927:4:13" + "src": "8243:3:7" } ] }, { "expression": { "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8007:6:13" - }, { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8020:9:13" + "src": "8338:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8031:1:13", + "src": "8343:1:7", "type": "", "value": "0" } @@ -7559,109 +7742,139 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8016:3:13" + "src": "8334:3:7" }, "nodeType": "YulFunctionCall", - "src": "8016:17:13" + "src": "8334:11:7" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "8347:20:7", + "type": "", + "value": "Not in Sale Period" } ], "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "7963:43:13" + "src": "8327:6:7" }, "nodeType": "YulFunctionCall", - "src": "7963:71:13" + "src": "8327:41:7" }, "nodeType": "YulExpressionStatement", - "src": "7963:71:13" + "src": "8327:41:7" + }, + { + "nodeType": "YulAssignment", + "src": "8378:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8389:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8394:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8385:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8385:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8378:3:7" + } + ] } ] }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "name": "abi_encode_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7889:9:13", - "type": "" - }, - { - "name": "value0", + "name": "pos", "nodeType": "YulTypedName", - "src": "7901:6:13", + "src": "8221:3:7", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "end", "nodeType": "YulTypedName", - "src": "7912:4:13", + "src": "8229:3:7", "type": "" } ], - "src": "7819:222:13" + "src": "8087:316:7" }, { "body": { "nodeType": "YulBlock", - "src": "8173:206:13", + "src": "8555:183:7", "statements": [ { "nodeType": "YulAssignment", - "src": "8183:26:13", + "src": "8565:74:7", "value": { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8195:9:13" + "src": "8631:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8206:2:13", + "src": "8636:2:7", "type": "", - "value": "64" + "value": "31" } ], "functionName": { - "name": "add", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "8191:3:13" + "src": "8572:58:7" }, "nodeType": "YulFunctionCall", - "src": "8191:18:13" + "src": "8572:67:7" }, "variableNames": [ { - "name": "tail", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8183:4:13" + "src": "8565:3:7" } ] }, { "expression": { "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8263:6:13" - }, { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8276:9:13" + "src": "8660:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8287:1:13", + "src": "8665:1:7", "type": "", "value": "0" } @@ -7669,158 +7882,139 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8272:3:13" + "src": "8656:3:7" }, "nodeType": "YulFunctionCall", - "src": "8272:17:13" + "src": "8656:11:7" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "8669:33:7", + "type": "", + "value": "ReentrancyGuard: reentrant call" } ], "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "8219:43:13" + "src": "8649:6:7" }, "nodeType": "YulFunctionCall", - "src": "8219:71:13" + "src": "8649:54:7" }, "nodeType": "YulExpressionStatement", - "src": "8219:71:13" + "src": "8649:54:7" }, { - "expression": { + "nodeType": "YulAssignment", + "src": "8713:19:7", + "value": { "arguments": [ { - "name": "value1", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8344:6:13" + "src": "8724:3:7" }, { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8357:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8368:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8353:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "8353:18:13" + "kind": "number", + "nodeType": "YulLiteral", + "src": "8729:2:7", + "type": "", + "value": "32" } ], "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "add", "nodeType": "YulIdentifier", - "src": "8300:43:13" + "src": "8720:3:7" }, "nodeType": "YulFunctionCall", - "src": "8300:72:13" + "src": "8720:12:7" }, - "nodeType": "YulExpressionStatement", - "src": "8300:72:13" + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8713:3:7" + } + ] } ] }, - "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "name": "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8137:9:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8149:6:13", - "type": "" - }, - { - "name": "value0", + "name": "pos", "nodeType": "YulTypedName", - "src": "8157:6:13", + "src": "8543:3:7", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "end", "nodeType": "YulTypedName", - "src": "8168:4:13", + "src": "8551:3:7", "type": "" } ], - "src": "8047:332:13" + "src": "8409:329:7" }, { "body": { "nodeType": "YulBlock", - "src": "8477:118:13", + "src": "8890:171:7", "statements": [ { "nodeType": "YulAssignment", - "src": "8487:26:13", + "src": "8900:74:7", "value": { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8499:9:13" + "src": "8966:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8510:2:13", + "src": "8971:2:7", "type": "", - "value": "32" + "value": "19" } ], "functionName": { - "name": "add", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "8495:3:13" + "src": "8907:58:7" }, "nodeType": "YulFunctionCall", - "src": "8495:18:13" + "src": "8907:67:7" }, "variableNames": [ { - "name": "tail", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8487:4:13" + "src": "8900:3:7" } ] }, { "expression": { "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8561:6:13" - }, { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8574:9:13" + "src": "8995:3:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8585:1:13", + "src": "9000:1:7", "type": "", "value": "0" } @@ -7828,87 +8022,253 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8570:3:13" + "src": "8991:3:7" }, "nodeType": "YulFunctionCall", - "src": "8570:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", + "src": "8991:11:7" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "9004:21:7", + "type": "", + "value": "Not Initialized Yet" + } + ], + "functionName": { + "name": "mstore", "nodeType": "YulIdentifier", - "src": "8523:37:13" + "src": "8984:6:7" }, "nodeType": "YulFunctionCall", - "src": "8523:65:13" + "src": "8984:42:7" }, "nodeType": "YulExpressionStatement", - "src": "8523:65:13" + "src": "8984:42:7" + }, + { + "nodeType": "YulAssignment", + "src": "9036:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9047:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9052:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9043:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9043:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9036:3:7" + } + ] } ] }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "name": "abi_encode_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "pos", + "nodeType": "YulTypedName", + "src": "8878:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8886:3:7", + "type": "" + } + ], + "src": "8744:317:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9132:53:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9149:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9172:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9154:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "9154:24:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9142:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "9142:37:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9142:37:7" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", "nodeType": "YulTypedName", - "src": "8449:9:13", + "src": "9120:5:7", "type": "" }, { - "name": "value0", + "name": "pos", + "nodeType": "YulTypedName", + "src": "9127:3:7", + "type": "" + } + ], + "src": "9067:118:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9379:191:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9390:154:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9540:3:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "9397:141:7" + }, + "nodeType": "YulFunctionCall", + "src": "9397:147:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9390:3:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9554:10:7", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9561:3:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9554:3:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", "nodeType": "YulTypedName", - "src": "8461:6:13", + "src": "9366:3:7", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "end", "nodeType": "YulTypedName", - "src": "8472:4:13", + "src": "9375:3:7", "type": "" } ], - "src": "8385:210:13" + "src": "9191:379:7" }, { "body": { "nodeType": "YulBlock", - "src": "8743:276:13", + "src": "9674:124:7", "statements": [ { "nodeType": "YulAssignment", - "src": "8753:26:13", + "src": "9684:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8765:9:13" + "src": "9696:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8776:2:13", + "src": "9707:2:7", "type": "", - "value": "96" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8761:3:13" + "src": "9692:3:7" }, "nodeType": "YulFunctionCall", - "src": "8761:18:13" + "src": "9692:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "8753:4:13" + "src": "9684:4:7" } ] }, @@ -7918,19 +8278,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8827:6:13" + "src": "9764:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8840:9:13" + "src": "9777:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8851:1:13", + "src": "9788:1:7", "type": "", "value": "0" } @@ -7938,136 +8298,197 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8836:3:13" + "src": "9773:3:7" }, "nodeType": "YulFunctionCall", - "src": "8836:17:13" + "src": "9773:17:7" } ], "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", + "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "8789:37:13" + "src": "9720:43:7" }, "nodeType": "YulFunctionCall", - "src": "8789:65:13" + "src": "9720:71:7" }, "nodeType": "YulExpressionStatement", - "src": "8789:65:13" + "src": "9720:71:7" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9646:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9658:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9669:4:7", + "type": "" + } + ], + "src": "9576:222:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9930:206:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9940:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9952:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9963:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9948:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9948:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9940:4:7" + } + ] }, { "expression": { "arguments": [ { - "name": "value1", + "name": "value0", "nodeType": "YulIdentifier", - "src": "8908:6:13" + "src": "10020:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8921:9:13" + "src": "10033:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8932:2:13", + "src": "10044:1:7", "type": "", - "value": "32" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8917:3:13" + "src": "10029:3:7" }, "nodeType": "YulFunctionCall", - "src": "8917:18:13" + "src": "10029:17:7" } ], "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "8864:43:13" + "src": "9976:43:7" }, "nodeType": "YulFunctionCall", - "src": "8864:72:13" + "src": "9976:71:7" }, "nodeType": "YulExpressionStatement", - "src": "8864:72:13" + "src": "9976:71:7" }, { "expression": { "arguments": [ { - "name": "value2", + "name": "value1", "nodeType": "YulIdentifier", - "src": "8984:6:13" + "src": "10101:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8997:9:13" + "src": "10114:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9008:2:13", + "src": "10125:2:7", "type": "", - "value": "64" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8993:3:13" + "src": "10110:3:7" }, "nodeType": "YulFunctionCall", - "src": "8993:18:13" + "src": "10110:18:7" } ], "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "8946:37:13" + "src": "10057:43:7" }, "nodeType": "YulFunctionCall", - "src": "8946:66:13" + "src": "10057:72:7" }, "nodeType": "YulExpressionStatement", - "src": "8946:66:13" + "src": "10057:72:7" } ] }, - "name": "abi_encode_tuple_t_bool_t_uint256_t_bool__to_t_bool_t_uint256_t_bool__fromStack_reversed", + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8699:9:13", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "8711:6:13", + "src": "9894:9:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "8719:6:13", + "src": "9906:6:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "8727:6:13", + "src": "9914:6:7", "type": "" } ], @@ -8075,31 +8496,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "8738:4:13", + "src": "9925:4:7", "type": "" } ], - "src": "8601:418:13" + "src": "9804:332:7" }, { "body": { "nodeType": "YulBlock", - "src": "9146:147:13", + "src": "10234:118:7", "statements": [ { "nodeType": "YulAssignment", - "src": "9156:26:13", + "src": "10244:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9168:9:13" + "src": "10256:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9179:2:13", + "src": "10267:2:7", "type": "", "value": "32" } @@ -8107,16 +8528,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9164:3:13" + "src": "10252:3:7" }, "nodeType": "YulFunctionCall", - "src": "9164:18:13" + "src": "10252:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9156:4:13" + "src": "10244:4:7" } ] }, @@ -8126,19 +8547,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "9259:6:13" + "src": "10318:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9272:9:13" + "src": "10331:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9283:1:13", + "src": "10342:1:7", "type": "", "value": "0" } @@ -8146,38 +8567,38 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9268:3:13" + "src": "10327:3:7" }, "nodeType": "YulFunctionCall", - "src": "9268:17:13" + "src": "10327:17:7" } ], "functionName": { - "name": "abi_encode_t_contract$_IERC20Metadata_$1724_to_t_address_fromStack", + "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "9192:66:13" + "src": "10280:37:7" }, "nodeType": "YulFunctionCall", - "src": "9192:94:13" + "src": "10280:65:7" }, "nodeType": "YulExpressionStatement", - "src": "9192:94:13" + "src": "10280:65:7" } ] }, - "name": "abi_encode_tuple_t_contract$_IERC20Metadata_$1724__to_t_address__fromStack_reversed", + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9118:9:13", + "src": "10206:9:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "9130:6:13", + "src": "10218:6:7", "type": "" } ], @@ -8185,48 +8606,48 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9141:4:13", + "src": "10229:4:7", "type": "" } ], - "src": "9025:268:13" + "src": "10142:210:7" }, { "body": { "nodeType": "YulBlock", - "src": "9412:139:13", + "src": "10500:276:7", "statements": [ { "nodeType": "YulAssignment", - "src": "9422:26:13", + "src": "10510:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9434:9:13" + "src": "10522:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9445:2:13", + "src": "10533:2:7", "type": "", - "value": "32" + "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9430:3:13" + "src": "10518:3:7" }, "nodeType": "YulFunctionCall", - "src": "9430:18:13" + "src": "10518:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9422:4:13" + "src": "10510:4:7" } ] }, @@ -8236,19 +8657,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "9517:6:13" + "src": "10584:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9530:9:13" + "src": "10597:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9541:1:13", + "src": "10608:1:7", "type": "", "value": "0" } @@ -8256,180 +8677,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9526:3:13" + "src": "10593:3:7" }, "nodeType": "YulFunctionCall", - "src": "9526:17:13" + "src": "10593:17:7" } ], "functionName": { - "name": "abi_encode_t_contract$_IStaker_$964_to_t_address_fromStack", + "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "9458:58:13" + "src": "10546:37:7" }, "nodeType": "YulFunctionCall", - "src": "9458:86:13" + "src": "10546:65:7" }, "nodeType": "YulExpressionStatement", - "src": "9458:86:13" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStaker_$964__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9384:9:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9396:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9407:4:13", - "type": "" - } - ], - "src": "9299:252:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9759:442:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9769:27:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9781:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9792:3:13", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9777:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9777:19:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9769:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9817:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9828:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9813:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9813:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9836:4:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9842:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9832:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "9832:20:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9806:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "9806:47:13" - }, - "nodeType": "YulExpressionStatement", - "src": "9806:47:13" - }, - { - "nodeType": "YulAssignment", - "src": "9862:86:13", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9934:6:13" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9943:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "9870:63:13" - }, - "nodeType": "YulFunctionCall", - "src": "9870:78:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9862:4:13" - } - ] + "src": "10546:65:7" }, { "expression": { @@ -8437,19 +8700,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "10002:6:13" + "src": "10665:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10015:9:13" + "src": "10678:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10026:2:13", + "src": "10689:2:7", "type": "", "value": "32" } @@ -8457,22 +8720,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10011:3:13" + "src": "10674:3:7" }, "nodeType": "YulFunctionCall", - "src": "10011:18:13" + "src": "10674:18:7" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "9958:43:13" + "src": "10621:43:7" }, "nodeType": "YulFunctionCall", - "src": "9958:72:13" + "src": "10621:72:7" }, "nodeType": "YulExpressionStatement", - "src": "9958:72:13" + "src": "10621:72:7" }, { "expression": { @@ -8480,19 +8743,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "10084:6:13" + "src": "10741:6:7" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10097:9:13" + "src": "10754:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10108:2:13", + "src": "10765:2:7", "type": "", "value": "64" } @@ -8500,99 +8763,50 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10093:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "10093:18:13" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "10040:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "10040:72:13" - }, - "nodeType": "YulExpressionStatement", - "src": "10040:72:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10166:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10179:9:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10190:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10175:3:13" + "src": "10750:3:7" }, "nodeType": "YulFunctionCall", - "src": "10175:18:13" + "src": "10750:18:7" } ], "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "10122:43:13" + "src": "10703:37:7" }, "nodeType": "YulFunctionCall", - "src": "10122:72:13" + "src": "10703:66:7" }, "nodeType": "YulExpressionStatement", - "src": "10122:72:13" + "src": "10703:66:7" } ] }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed", + "name": "abi_encode_tuple_t_bool_t_uint256_t_bool__to_t_bool_t_uint256_t_bool__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9707:9:13", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9719:6:13", + "src": "10456:9:7", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "9727:6:13", + "src": "10468:6:7", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "9735:6:13", + "src": "10476:6:7", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "9743:6:13", + "src": "10484:6:7", "type": "" } ], @@ -8600,31 +8814,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9754:4:13", + "src": "10495:4:7", "type": "" } ], - "src": "9557:644:13" + "src": "10358:418:7" }, { "body": { "nodeType": "YulBlock", - "src": "10378:248:13", + "src": "10902:146:7", "statements": [ { "nodeType": "YulAssignment", - "src": "10388:26:13", + "src": "10912:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10400:9:13" + "src": "10924:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10411:2:13", + "src": "10935:2:7", "type": "", "value": "32" } @@ -8632,33 +8846,38 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10396:3:13" + "src": "10920:3:7" }, "nodeType": "YulFunctionCall", - "src": "10396:18:13" + "src": "10920:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10388:4:13" + "src": "10912:4:7" } ] }, { "expression": { "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11014:6:7" + }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10435:9:13" + "src": "11027:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10446:1:13", + "src": "11038:1:7", "type": "", "value": "0" } @@ -8666,80 +8885,38 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10431:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "10431:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10454:4:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10460:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10450:3:13" + "src": "11023:3:7" }, "nodeType": "YulFunctionCall", - "src": "10450:20:13" + "src": "11023:17:7" } ], "functionName": { - "name": "mstore", + "name": "abi_encode_t_contract$_IERC20Metadata_$899_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "10424:6:13" + "src": "10948:65:7" }, "nodeType": "YulFunctionCall", - "src": "10424:47:13" + "src": "10948:93:7" }, "nodeType": "YulExpressionStatement", - "src": "10424:47:13" - }, - { - "nodeType": "YulAssignment", - "src": "10480:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10614:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "10488:124:13" - }, - "nodeType": "YulFunctionCall", - "src": "10488:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10480:4:13" - } - ] + "src": "10948:93:7" } ] }, - "name": "abi_encode_tuple_t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_contract$_IERC20Metadata_$899__to_t_address__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "10358:9:13", + "src": "10874:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10886:6:7", "type": "" } ], @@ -8747,31 +8924,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "10373:4:13", + "src": "10897:4:7", "type": "" } ], - "src": "10207:419:13" + "src": "10782:266:7" }, { "body": { "nodeType": "YulBlock", - "src": "10803:248:13", + "src": "11167:139:7", "statements": [ { "nodeType": "YulAssignment", - "src": "10813:26:13", + "src": "11177:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10825:9:13" + "src": "11189:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10836:2:13", + "src": "11200:2:7", "type": "", "value": "32" } @@ -8779,33 +8956,38 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10821:3:13" + "src": "11185:3:7" }, "nodeType": "YulFunctionCall", - "src": "10821:18:13" + "src": "11185:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10813:4:13" + "src": "11177:4:7" } ] }, { "expression": { "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11272:6:7" + }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10860:9:13" + "src": "11285:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10871:1:13", + "src": "11296:1:7", "type": "", "value": "0" } @@ -8813,80 +8995,38 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10856:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "10856:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10879:4:13" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10885:9:13" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10875:3:13" + "src": "11281:3:7" }, "nodeType": "YulFunctionCall", - "src": "10875:20:13" + "src": "11281:17:7" } ], "functionName": { - "name": "mstore", + "name": "abi_encode_t_contract$_IStaker_$646_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "10849:6:13" + "src": "11213:58:7" }, "nodeType": "YulFunctionCall", - "src": "10849:47:13" + "src": "11213:86:7" }, "nodeType": "YulExpressionStatement", - "src": "10849:47:13" - }, - { - "nodeType": "YulAssignment", - "src": "10905:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11039:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "10913:124:13" - }, - "nodeType": "YulFunctionCall", - "src": "10913:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10905:4:13" - } - ] + "src": "11213:86:7" } ] }, - "name": "abi_encode_tuple_t_stringliteral_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_contract$_IStaker_$646__to_t_address__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "10783:9:13", + "src": "11139:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11151:6:7", "type": "" } ], @@ -8894,48 +9034,48 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "10798:4:13", + "src": "11162:4:7", "type": "" } ], - "src": "10632:419:13" + "src": "11054:252:7" }, { "body": { "nodeType": "YulBlock", - "src": "11228:248:13", + "src": "11514:442:7", "statements": [ { "nodeType": "YulAssignment", - "src": "11238:26:13", + "src": "11524:27:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11250:9:13" + "src": "11536:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11261:2:13", + "src": "11547:3:7", "type": "", - "value": "32" + "value": "128" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11246:3:13" + "src": "11532:3:7" }, "nodeType": "YulFunctionCall", - "src": "11246:18:13" + "src": "11532:19:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11238:4:13" + "src": "11524:4:7" } ] }, @@ -8947,12 +9087,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11285:9:13" + "src": "11572:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11296:1:13", + "src": "11583:1:7", "type": "", "value": "0" } @@ -8960,80 +9100,238 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11281:3:13" + "src": "11568:3:7" }, "nodeType": "YulFunctionCall", - "src": "11281:17:13" + "src": "11568:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11304:4:13" + "src": "11591:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11310:9:13" + "src": "11597:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "11300:3:13" + "src": "11587:3:7" }, "nodeType": "YulFunctionCall", - "src": "11300:20:13" + "src": "11587:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11274:6:13" + "src": "11561:6:7" }, "nodeType": "YulFunctionCall", - "src": "11274:47:13" + "src": "11561:47:7" }, "nodeType": "YulExpressionStatement", - "src": "11274:47:13" + "src": "11561:47:7" }, { "nodeType": "YulAssignment", - "src": "11330:139:13", + "src": "11617:86:7", "value": { "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11689:6:7" + }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "11464:4:13" + "src": "11698:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "11338:124:13" + "src": "11625:63:7" }, "nodeType": "YulFunctionCall", - "src": "11338:131:13" + "src": "11625:78:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11330:4:13" + "src": "11617:4:7" } ] - } + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11757:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11770:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11781:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11766:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11766:18:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "11713:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "11713:72:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11713:72:7" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "11839:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11852:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11863:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11848:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11848:18:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "11795:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "11795:72:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11795:72:7" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "11921:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11934:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11945:2:7", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11930:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11930:18:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "11877:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "11877:72:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11877:72:7" + } ] }, - "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "11208:9:13", + "src": "11462:9:7", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "11474:6:7", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "11482:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11490:6:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11498:6:7", "type": "" } ], @@ -9041,31 +9339,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "11223:4:13", + "src": "11509:4:7", "type": "" } ], - "src": "11057:419:13" + "src": "11312:644:7" }, { "body": { "nodeType": "YulBlock", - "src": "11653:248:13", + "src": "12133:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "11663:26:13", + "src": "12143:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11675:9:13" + "src": "12155:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11686:2:13", + "src": "12166:2:7", "type": "", "value": "32" } @@ -9073,16 +9371,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11671:3:13" + "src": "12151:3:7" }, "nodeType": "YulFunctionCall", - "src": "11671:18:13" + "src": "12151:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11663:4:13" + "src": "12143:4:7" } ] }, @@ -9094,12 +9392,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11710:9:13" + "src": "12190:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11721:1:13", + "src": "12201:1:7", "type": "", "value": "0" } @@ -9107,80 +9405,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11706:3:13" + "src": "12186:3:7" }, "nodeType": "YulFunctionCall", - "src": "11706:17:13" + "src": "12186:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11729:4:13" + "src": "12209:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "11735:9:13" + "src": "12215:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "11725:3:13" + "src": "12205:3:7" }, "nodeType": "YulFunctionCall", - "src": "11725:20:13" + "src": "12205:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11699:6:13" + "src": "12179:6:7" }, "nodeType": "YulFunctionCall", - "src": "11699:47:13" + "src": "12179:47:7" }, "nodeType": "YulExpressionStatement", - "src": "11699:47:13" + "src": "12179:47:7" }, { "nodeType": "YulAssignment", - "src": "11755:139:13", + "src": "12235:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11889:4:13" + "src": "12369:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "11763:124:13" + "src": "12243:124:7" }, "nodeType": "YulFunctionCall", - "src": "11763:131:13" + "src": "12243:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "11755:4:13" + "src": "12235:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "11633:9:13", + "src": "12113:9:7", "type": "" } ], @@ -9188,31 +9486,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "11648:4:13", + "src": "12128:4:7", "type": "" } ], - "src": "11482:419:13" + "src": "11962:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "12078:248:13", + "src": "12558:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "12088:26:13", + "src": "12568:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12100:9:13" + "src": "12580:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12111:2:13", + "src": "12591:2:7", "type": "", "value": "32" } @@ -9220,16 +9518,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12096:3:13" + "src": "12576:3:7" }, "nodeType": "YulFunctionCall", - "src": "12096:18:13" + "src": "12576:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12088:4:13" + "src": "12568:4:7" } ] }, @@ -9241,12 +9539,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12135:9:13" + "src": "12615:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12146:1:13", + "src": "12626:1:7", "type": "", "value": "0" } @@ -9254,80 +9552,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12131:3:13" + "src": "12611:3:7" }, "nodeType": "YulFunctionCall", - "src": "12131:17:13" + "src": "12611:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12154:4:13" + "src": "12634:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12160:9:13" + "src": "12640:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "12150:3:13" + "src": "12630:3:7" }, "nodeType": "YulFunctionCall", - "src": "12150:20:13" + "src": "12630:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12124:6:13" + "src": "12604:6:7" }, "nodeType": "YulFunctionCall", - "src": "12124:47:13" + "src": "12604:47:7" }, "nodeType": "YulExpressionStatement", - "src": "12124:47:13" + "src": "12604:47:7" }, { "nodeType": "YulAssignment", - "src": "12180:139:13", + "src": "12660:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12314:4:13" + "src": "12794:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "12188:124:13" + "src": "12668:124:7" }, "nodeType": "YulFunctionCall", - "src": "12188:131:13" + "src": "12668:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12180:4:13" + "src": "12660:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12058:9:13", + "src": "12538:9:7", "type": "" } ], @@ -9335,31 +9633,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "12073:4:13", + "src": "12553:4:7", "type": "" } ], - "src": "11907:419:13" + "src": "12387:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "12503:248:13", + "src": "12983:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "12513:26:13", + "src": "12993:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12525:9:13" + "src": "13005:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12536:2:13", + "src": "13016:2:7", "type": "", "value": "32" } @@ -9367,16 +9665,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12521:3:13" + "src": "13001:3:7" }, "nodeType": "YulFunctionCall", - "src": "12521:18:13" + "src": "13001:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12513:4:13" + "src": "12993:4:7" } ] }, @@ -9388,12 +9686,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12560:9:13" + "src": "13040:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12571:1:13", + "src": "13051:1:7", "type": "", "value": "0" } @@ -9401,80 +9699,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12556:3:13" + "src": "13036:3:7" }, "nodeType": "YulFunctionCall", - "src": "12556:17:13" + "src": "13036:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12579:4:13" + "src": "13059:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12585:9:13" + "src": "13065:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "12575:3:13" + "src": "13055:3:7" }, "nodeType": "YulFunctionCall", - "src": "12575:20:13" + "src": "13055:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12549:6:13" + "src": "13029:6:7" }, "nodeType": "YulFunctionCall", - "src": "12549:47:13" + "src": "13029:47:7" }, "nodeType": "YulExpressionStatement", - "src": "12549:47:13" + "src": "13029:47:7" }, { "nodeType": "YulAssignment", - "src": "12605:139:13", + "src": "13085:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12739:4:13" + "src": "13219:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "12613:124:13" + "src": "13093:124:7" }, "nodeType": "YulFunctionCall", - "src": "12613:131:13" + "src": "13093:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12605:4:13" + "src": "13085:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12483:9:13", + "src": "12963:9:7", "type": "" } ], @@ -9482,31 +9780,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "12498:4:13", + "src": "12978:4:7", "type": "" } ], - "src": "12332:419:13" + "src": "12812:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "12928:248:13", + "src": "13408:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "12938:26:13", + "src": "13418:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12950:9:13" + "src": "13430:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12961:2:13", + "src": "13441:2:7", "type": "", "value": "32" } @@ -9514,16 +9812,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12946:3:13" + "src": "13426:3:7" }, "nodeType": "YulFunctionCall", - "src": "12946:18:13" + "src": "13426:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12938:4:13" + "src": "13418:4:7" } ] }, @@ -9535,12 +9833,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12985:9:13" + "src": "13465:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12996:1:13", + "src": "13476:1:7", "type": "", "value": "0" } @@ -9548,80 +9846,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12981:3:13" + "src": "13461:3:7" }, "nodeType": "YulFunctionCall", - "src": "12981:17:13" + "src": "13461:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13004:4:13" + "src": "13484:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13010:9:13" + "src": "13490:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13000:3:13" + "src": "13480:3:7" }, "nodeType": "YulFunctionCall", - "src": "13000:20:13" + "src": "13480:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12974:6:13" + "src": "13454:6:7" }, "nodeType": "YulFunctionCall", - "src": "12974:47:13" + "src": "13454:47:7" }, "nodeType": "YulExpressionStatement", - "src": "12974:47:13" + "src": "13454:47:7" }, { "nodeType": "YulAssignment", - "src": "13030:139:13", + "src": "13510:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13164:4:13" + "src": "13644:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13038:124:13" + "src": "13518:124:7" }, "nodeType": "YulFunctionCall", - "src": "13038:131:13" + "src": "13518:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13030:4:13" + "src": "13510:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12908:9:13", + "src": "13388:9:7", "type": "" } ], @@ -9629,31 +9927,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "12923:4:13", + "src": "13403:4:7", "type": "" } ], - "src": "12757:419:13" + "src": "13237:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "13353:248:13", + "src": "13833:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "13363:26:13", + "src": "13843:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13375:9:13" + "src": "13855:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13386:2:13", + "src": "13866:2:7", "type": "", "value": "32" } @@ -9661,16 +9959,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13371:3:13" + "src": "13851:3:7" }, "nodeType": "YulFunctionCall", - "src": "13371:18:13" + "src": "13851:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13363:4:13" + "src": "13843:4:7" } ] }, @@ -9682,12 +9980,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13410:9:13" + "src": "13890:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13421:1:13", + "src": "13901:1:7", "type": "", "value": "0" } @@ -9695,80 +9993,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13406:3:13" + "src": "13886:3:7" }, "nodeType": "YulFunctionCall", - "src": "13406:17:13" + "src": "13886:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13429:4:13" + "src": "13909:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13435:9:13" + "src": "13915:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13425:3:13" + "src": "13905:3:7" }, "nodeType": "YulFunctionCall", - "src": "13425:20:13" + "src": "13905:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13399:6:13" + "src": "13879:6:7" }, "nodeType": "YulFunctionCall", - "src": "13399:47:13" + "src": "13879:47:7" }, "nodeType": "YulExpressionStatement", - "src": "13399:47:13" + "src": "13879:47:7" }, { "nodeType": "YulAssignment", - "src": "13455:139:13", + "src": "13935:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13589:4:13" + "src": "14069:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13463:124:13" + "src": "13943:124:7" }, "nodeType": "YulFunctionCall", - "src": "13463:131:13" + "src": "13943:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13455:4:13" + "src": "13935:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13333:9:13", + "src": "13813:9:7", "type": "" } ], @@ -9776,31 +10074,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13348:4:13", + "src": "13828:4:7", "type": "" } ], - "src": "13182:419:13" + "src": "13662:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "13778:248:13", + "src": "14258:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "13788:26:13", + "src": "14268:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13800:9:13" + "src": "14280:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13811:2:13", + "src": "14291:2:7", "type": "", "value": "32" } @@ -9808,16 +10106,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13796:3:13" + "src": "14276:3:7" }, "nodeType": "YulFunctionCall", - "src": "13796:18:13" + "src": "14276:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13788:4:13" + "src": "14268:4:7" } ] }, @@ -9829,12 +10127,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13835:9:13" + "src": "14315:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13846:1:13", + "src": "14326:1:7", "type": "", "value": "0" } @@ -9842,80 +10140,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13831:3:13" + "src": "14311:3:7" }, "nodeType": "YulFunctionCall", - "src": "13831:17:13" + "src": "14311:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13854:4:13" + "src": "14334:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13860:9:13" + "src": "14340:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13850:3:13" + "src": "14330:3:7" }, "nodeType": "YulFunctionCall", - "src": "13850:20:13" + "src": "14330:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13824:6:13" + "src": "14304:6:7" }, "nodeType": "YulFunctionCall", - "src": "13824:47:13" + "src": "14304:47:7" }, "nodeType": "YulExpressionStatement", - "src": "13824:47:13" + "src": "14304:47:7" }, { "nodeType": "YulAssignment", - "src": "13880:139:13", + "src": "14360:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14014:4:13" + "src": "14494:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13888:124:13" + "src": "14368:124:7" }, "nodeType": "YulFunctionCall", - "src": "13888:131:13" + "src": "14368:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13880:4:13" + "src": "14360:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13758:9:13", + "src": "14238:9:7", "type": "" } ], @@ -9923,31 +10221,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13773:4:13", + "src": "14253:4:7", "type": "" } ], - "src": "13607:419:13" + "src": "14087:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "14203:248:13", + "src": "14683:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "14213:26:13", + "src": "14693:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14225:9:13" + "src": "14705:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14236:2:13", + "src": "14716:2:7", "type": "", "value": "32" } @@ -9955,16 +10253,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14221:3:13" + "src": "14701:3:7" }, "nodeType": "YulFunctionCall", - "src": "14221:18:13" + "src": "14701:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14213:4:13" + "src": "14693:4:7" } ] }, @@ -9976,12 +10274,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14260:9:13" + "src": "14740:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14271:1:13", + "src": "14751:1:7", "type": "", "value": "0" } @@ -9989,80 +10287,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14256:3:13" + "src": "14736:3:7" }, "nodeType": "YulFunctionCall", - "src": "14256:17:13" + "src": "14736:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14279:4:13" + "src": "14759:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14285:9:13" + "src": "14765:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "14275:3:13" + "src": "14755:3:7" }, "nodeType": "YulFunctionCall", - "src": "14275:20:13" + "src": "14755:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14249:6:13" + "src": "14729:6:7" }, "nodeType": "YulFunctionCall", - "src": "14249:47:13" + "src": "14729:47:7" }, "nodeType": "YulExpressionStatement", - "src": "14249:47:13" + "src": "14729:47:7" }, { "nodeType": "YulAssignment", - "src": "14305:139:13", + "src": "14785:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14439:4:13" + "src": "14919:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "14313:124:13" + "src": "14793:124:7" }, "nodeType": "YulFunctionCall", - "src": "14313:131:13" + "src": "14793:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14305:4:13" + "src": "14785:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14183:9:13", + "src": "14663:9:7", "type": "" } ], @@ -10070,31 +10368,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "14198:4:13", + "src": "14678:4:7", "type": "" } ], - "src": "14032:419:13" + "src": "14512:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "14628:248:13", + "src": "15108:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "14638:26:13", + "src": "15118:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14650:9:13" + "src": "15130:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14661:2:13", + "src": "15141:2:7", "type": "", "value": "32" } @@ -10102,16 +10400,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14646:3:13" + "src": "15126:3:7" }, "nodeType": "YulFunctionCall", - "src": "14646:18:13" + "src": "15126:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14638:4:13" + "src": "15118:4:7" } ] }, @@ -10123,12 +10421,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14685:9:13" + "src": "15165:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14696:1:13", + "src": "15176:1:7", "type": "", "value": "0" } @@ -10136,80 +10434,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14681:3:13" + "src": "15161:3:7" }, "nodeType": "YulFunctionCall", - "src": "14681:17:13" + "src": "15161:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14704:4:13" + "src": "15184:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14710:9:13" + "src": "15190:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "14700:3:13" + "src": "15180:3:7" }, "nodeType": "YulFunctionCall", - "src": "14700:20:13" + "src": "15180:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14674:6:13" + "src": "15154:6:7" }, "nodeType": "YulFunctionCall", - "src": "14674:47:13" + "src": "15154:47:7" }, "nodeType": "YulExpressionStatement", - "src": "14674:47:13" + "src": "15154:47:7" }, { "nodeType": "YulAssignment", - "src": "14730:139:13", + "src": "15210:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14864:4:13" + "src": "15344:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "14738:124:13" + "src": "15218:124:7" }, "nodeType": "YulFunctionCall", - "src": "14738:131:13" + "src": "15218:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "14730:4:13" + "src": "15210:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14608:9:13", + "src": "15088:9:7", "type": "" } ], @@ -10217,31 +10515,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "14623:4:13", + "src": "15103:4:7", "type": "" } ], - "src": "14457:419:13" + "src": "14937:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "15053:248:13", + "src": "15533:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "15063:26:13", + "src": "15543:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15075:9:13" + "src": "15555:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15086:2:13", + "src": "15566:2:7", "type": "", "value": "32" } @@ -10249,16 +10547,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15071:3:13" + "src": "15551:3:7" }, "nodeType": "YulFunctionCall", - "src": "15071:18:13" + "src": "15551:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15063:4:13" + "src": "15543:4:7" } ] }, @@ -10270,12 +10568,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15110:9:13" + "src": "15590:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15121:1:13", + "src": "15601:1:7", "type": "", "value": "0" } @@ -10283,80 +10581,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15106:3:13" + "src": "15586:3:7" }, "nodeType": "YulFunctionCall", - "src": "15106:17:13" + "src": "15586:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15129:4:13" + "src": "15609:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15135:9:13" + "src": "15615:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15125:3:13" + "src": "15605:3:7" }, "nodeType": "YulFunctionCall", - "src": "15125:20:13" + "src": "15605:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15099:6:13" + "src": "15579:6:7" }, "nodeType": "YulFunctionCall", - "src": "15099:47:13" + "src": "15579:47:7" }, "nodeType": "YulExpressionStatement", - "src": "15099:47:13" + "src": "15579:47:7" }, { "nodeType": "YulAssignment", - "src": "15155:139:13", + "src": "15635:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15289:4:13" + "src": "15769:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "15163:124:13" + "src": "15643:124:7" }, "nodeType": "YulFunctionCall", - "src": "15163:131:13" + "src": "15643:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15155:4:13" + "src": "15635:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15033:9:13", + "src": "15513:9:7", "type": "" } ], @@ -10364,31 +10662,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15048:4:13", + "src": "15528:4:7", "type": "" } ], - "src": "14882:419:13" + "src": "15362:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "15478:248:13", + "src": "15958:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "15488:26:13", + "src": "15968:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15500:9:13" + "src": "15980:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15511:2:13", + "src": "15991:2:7", "type": "", "value": "32" } @@ -10396,16 +10694,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15496:3:13" + "src": "15976:3:7" }, "nodeType": "YulFunctionCall", - "src": "15496:18:13" + "src": "15976:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15488:4:13" + "src": "15968:4:7" } ] }, @@ -10417,12 +10715,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15535:9:13" + "src": "16015:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15546:1:13", + "src": "16026:1:7", "type": "", "value": "0" } @@ -10430,80 +10728,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15531:3:13" + "src": "16011:3:7" }, "nodeType": "YulFunctionCall", - "src": "15531:17:13" + "src": "16011:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15554:4:13" + "src": "16034:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15560:9:13" + "src": "16040:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15550:3:13" + "src": "16030:3:7" }, "nodeType": "YulFunctionCall", - "src": "15550:20:13" + "src": "16030:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15524:6:13" + "src": "16004:6:7" }, "nodeType": "YulFunctionCall", - "src": "15524:47:13" + "src": "16004:47:7" }, "nodeType": "YulExpressionStatement", - "src": "15524:47:13" + "src": "16004:47:7" }, { "nodeType": "YulAssignment", - "src": "15580:139:13", + "src": "16060:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15714:4:13" + "src": "16194:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "15588:124:13" + "src": "16068:124:7" }, "nodeType": "YulFunctionCall", - "src": "15588:131:13" + "src": "16068:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15580:4:13" + "src": "16060:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15458:9:13", + "src": "15938:9:7", "type": "" } ], @@ -10511,31 +10809,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15473:4:13", + "src": "15953:4:7", "type": "" } ], - "src": "15307:419:13" + "src": "15787:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "15903:248:13", + "src": "16383:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "15913:26:13", + "src": "16393:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15925:9:13" + "src": "16405:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15936:2:13", + "src": "16416:2:7", "type": "", "value": "32" } @@ -10543,16 +10841,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15921:3:13" + "src": "16401:3:7" }, "nodeType": "YulFunctionCall", - "src": "15921:18:13" + "src": "16401:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15913:4:13" + "src": "16393:4:7" } ] }, @@ -10564,12 +10862,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15960:9:13" + "src": "16440:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15971:1:13", + "src": "16451:1:7", "type": "", "value": "0" } @@ -10577,80 +10875,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15956:3:13" + "src": "16436:3:7" }, "nodeType": "YulFunctionCall", - "src": "15956:17:13" + "src": "16436:17:7" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15979:4:13" + "src": "16459:4:7" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15985:9:13" + "src": "16465:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15975:3:13" + "src": "16455:3:7" }, "nodeType": "YulFunctionCall", - "src": "15975:20:13" + "src": "16455:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15949:6:13" + "src": "16429:6:7" }, "nodeType": "YulFunctionCall", - "src": "15949:47:13" + "src": "16429:47:7" }, "nodeType": "YulExpressionStatement", - "src": "15949:47:13" + "src": "16429:47:7" }, { "nodeType": "YulAssignment", - "src": "16005:139:13", + "src": "16485:139:7", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16139:4:13" + "src": "16619:4:7" } ], "functionName": { - "name": "abi_encode_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "16013:124:13" + "src": "16493:124:7" }, "nodeType": "YulFunctionCall", - "src": "16013:131:13" + "src": "16493:131:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16005:4:13" + "src": "16485:4:7" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15883:9:13", + "src": "16363:9:7", "type": "" } ], @@ -10658,31 +10956,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15898:4:13", + "src": "16378:4:7", "type": "" } ], - "src": "15732:419:13" + "src": "16212:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "16255:124:13", + "src": "16808:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "16265:26:13", + "src": "16818:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16277:9:13" + "src": "16830:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16288:2:13", + "src": "16841:2:7", "type": "", "value": "32" } @@ -10690,38 +10988,33 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16273:3:13" + "src": "16826:3:7" }, "nodeType": "YulFunctionCall", - "src": "16273:18:13" + "src": "16826:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16265:4:13" + "src": "16818:4:7" } ] }, { "expression": { "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16345:6:13" - }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16358:9:13" + "src": "16865:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16369:1:13", + "src": "16876:1:7", "type": "", "value": "0" } @@ -10729,38 +11022,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16354:3:13" + "src": "16861:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16861:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16884:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16890:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16880:3:7" }, "nodeType": "YulFunctionCall", - "src": "16354:17:13" + "src": "16880:20:7" } ], "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "16301:43:13" + "src": "16854:6:7" }, "nodeType": "YulFunctionCall", - "src": "16301:71:13" + "src": "16854:47:7" }, "nodeType": "YulExpressionStatement", - "src": "16301:71:13" + "src": "16854:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "16910:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17044:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16918:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "16918:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16910:4:7" + } + ] } ] }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16227:9:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16239:6:13", + "src": "16788:9:7", "type": "" } ], @@ -10768,70 +11103,65 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "16250:4:13", + "src": "16803:4:7", "type": "" } ], - "src": "16157:222:13" + "src": "16637:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "16511:206:13", + "src": "17233:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "16521:26:13", + "src": "17243:26:7", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16533:9:13" + "src": "17255:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16544:2:13", + "src": "17266:2:7", "type": "", - "value": "64" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16529:3:13" + "src": "17251:3:7" }, "nodeType": "YulFunctionCall", - "src": "16529:18:13" + "src": "17251:18:7" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16521:4:13" + "src": "17243:4:7" } ] }, { "expression": { "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16601:6:13" - }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16614:9:13" + "src": "17290:9:7" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16625:1:13", + "src": "17301:1:7", "type": "", "value": "0" } @@ -10839,3223 +11169,2748 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16610:3:13" + "src": "17286:3:7" }, "nodeType": "YulFunctionCall", - "src": "16610:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "16557:43:13" - }, - "nodeType": "YulFunctionCall", - "src": "16557:71:13" - }, - "nodeType": "YulExpressionStatement", - "src": "16557:71:13" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "16682:6:13" + "src": "17286:17:7" }, { "arguments": [ { - "name": "headStart", + "name": "tail", "nodeType": "YulIdentifier", - "src": "16695:9:13" + "src": "17309:4:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16706:2:13", - "type": "", - "value": "32" + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17315:9:7" } ], "functionName": { - "name": "add", + "name": "sub", "nodeType": "YulIdentifier", - "src": "16691:3:13" + "src": "17305:3:7" }, "nodeType": "YulFunctionCall", - "src": "16691:18:13" + "src": "17305:20:7" } ], "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "16638:43:13" + "src": "17279:6:7" }, "nodeType": "YulFunctionCall", - "src": "16638:72:13" + "src": "17279:47:7" }, "nodeType": "YulExpressionStatement", - "src": "16638:72:13" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16475:9:13", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "16487:6:13", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16495:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16506:4:13", - "type": "" - } - ], - "src": "16385:332:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16782:40:13", - "statements": [ + "src": "17279:47:7" + }, { "nodeType": "YulAssignment", - "src": "16793:22:13", + "src": "17335:139:7", "value": { "arguments": [ { - "name": "value", + "name": "tail", "nodeType": "YulIdentifier", - "src": "16809:5:13" + "src": "17469:4:7" } ], "functionName": { - "name": "mload", + "name": "abi_encode_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "16803:5:13" + "src": "17343:124:7" }, "nodeType": "YulFunctionCall", - "src": "16803:12:13" + "src": "17343:131:7" }, "variableNames": [ { - "name": "length", + "name": "tail", "nodeType": "YulIdentifier", - "src": "16793:6:13" + "src": "17335:4:7" } ] } ] }, - "name": "array_length_t_string_memory_ptr", + "name": "abi_encode_tuple_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", + "name": "headStart", "nodeType": "YulTypedName", - "src": "16765:5:13", + "src": "17213:9:7", "type": "" } ], "returnVariables": [ { - "name": "length", + "name": "tail", "nodeType": "YulTypedName", - "src": "16775:6:13", + "src": "17228:4:7", "type": "" } ], - "src": "16723:99:13" + "src": "17062:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "16924:73:13", + "src": "17658:248:7", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "17668:26:7", + "value": { "arguments": [ { - "name": "pos", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "16941:3:13" + "src": "17680:9:7" }, { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16946:6:13" + "kind": "number", + "nodeType": "YulLiteral", + "src": "17691:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17676:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17676:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17668:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17715:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17726:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17711:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17711:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17734:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17740:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17730:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17730:20:7" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16934:6:13" + "src": "17704:6:7" }, "nodeType": "YulFunctionCall", - "src": "16934:19:13" + "src": "17704:47:7" }, "nodeType": "YulExpressionStatement", - "src": "16934:19:13" + "src": "17704:47:7" }, { "nodeType": "YulAssignment", - "src": "16962:29:13", + "src": "17760:139:7", "value": { "arguments": [ { - "name": "pos", + "name": "tail", "nodeType": "YulIdentifier", - "src": "16981:3:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16986:4:13", - "type": "", - "value": "0x20" + "src": "17894:4:7" } ], "functionName": { - "name": "add", + "name": "abi_encode_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "16977:3:13" + "src": "17768:124:7" }, "nodeType": "YulFunctionCall", - "src": "16977:14:13" + "src": "17768:131:7" }, "variableNames": [ { - "name": "updated_pos", + "name": "tail", "nodeType": "YulIdentifier", - "src": "16962:11:13" + "src": "17760:4:7" } ] } ] }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "name": "abi_encode_tuple_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "pos", - "nodeType": "YulTypedName", - "src": "16896:3:13", - "type": "" - }, - { - "name": "length", + "name": "headStart", "nodeType": "YulTypedName", - "src": "16901:6:13", + "src": "17638:9:7", "type": "" } ], "returnVariables": [ { - "name": "updated_pos", + "name": "tail", "nodeType": "YulTypedName", - "src": "16912:11:13", + "src": "17653:4:7", "type": "" } ], - "src": "16828:169:13" + "src": "17487:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "17047:261:13", + "src": "18083:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "17057:25:13", + "src": "18093:26:7", "value": { "arguments": [ { - "name": "x", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "17080:1:13" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "17062:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "17062:20:13" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "17057:1:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "17091:25:13", - "value": { - "arguments": [ + "src": "18105:9:7" + }, { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17114:1:13" + "kind": "number", + "nodeType": "YulLiteral", + "src": "18116:2:7", + "type": "", + "value": "32" } ], "functionName": { - "name": "cleanup_t_uint256", + "name": "add", "nodeType": "YulIdentifier", - "src": "17096:17:13" + "src": "18101:3:7" }, "nodeType": "YulFunctionCall", - "src": "17096:20:13" + "src": "18101:18:7" }, "variableNames": [ { - "name": "y", + "name": "tail", "nodeType": "YulIdentifier", - "src": "17091:1:13" + "src": "18093:4:7" } ] }, { - "body": { - "nodeType": "YulBlock", - "src": "17254:22:13", - "statements": [ + "expression": { + "arguments": [ { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", + "arguments": [ + { + "name": "headStart", "nodeType": "YulIdentifier", - "src": "17256:16:13" + "src": "18140:9:7" }, - "nodeType": "YulFunctionCall", - "src": "17256:18:13" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18151:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18136:3:7" }, - "nodeType": "YulExpressionStatement", - "src": "17256:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "17175:1:13" + "nodeType": "YulFunctionCall", + "src": "18136:17:7" }, { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17182:66:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18159:4:7" }, { - "name": "y", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "17250:1:13" + "src": "18165:9:7" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17178:3:13" + "src": "18155:3:7" }, "nodeType": "YulFunctionCall", - "src": "17178:74:13" + "src": "18155:20:7" } ], "functionName": { - "name": "gt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "17172:2:13" + "src": "18129:6:7" }, "nodeType": "YulFunctionCall", - "src": "17172:81:13" + "src": "18129:47:7" }, - "nodeType": "YulIf", - "src": "17169:2:13" + "nodeType": "YulExpressionStatement", + "src": "18129:47:7" }, { "nodeType": "YulAssignment", - "src": "17286:16:13", + "src": "18185:139:7", "value": { "arguments": [ { - "name": "x", - "nodeType": "YulIdentifier", - "src": "17297:1:13" - }, - { - "name": "y", + "name": "tail", "nodeType": "YulIdentifier", - "src": "17300:1:13" + "src": "18319:4:7" } ], "functionName": { - "name": "add", + "name": "abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17293:3:13" + "src": "18193:124:7" }, "nodeType": "YulFunctionCall", - "src": "17293:9:13" + "src": "18193:131:7" }, "variableNames": [ { - "name": "sum", + "name": "tail", "nodeType": "YulIdentifier", - "src": "17286:3:13" + "src": "18185:4:7" } ] } ] }, - "name": "checked_add_t_uint256", + "name": "abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "x", - "nodeType": "YulTypedName", - "src": "17034:1:13", - "type": "" - }, - { - "name": "y", + "name": "headStart", "nodeType": "YulTypedName", - "src": "17037:1:13", + "src": "18063:9:7", "type": "" } ], "returnVariables": [ { - "name": "sum", + "name": "tail", "nodeType": "YulTypedName", - "src": "17043:3:13", + "src": "18078:4:7", "type": "" } ], - "src": "17003:305:13" + "src": "17912:419:7" }, { "body": { "nodeType": "YulBlock", - "src": "17356:143:13", + "src": "18508:248:7", "statements": [ { "nodeType": "YulAssignment", - "src": "17366:25:13", + "src": "18518:26:7", "value": { "arguments": [ { - "name": "x", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "17389:1:13" + "src": "18530:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18541:2:7", + "type": "", + "value": "32" } ], "functionName": { - "name": "cleanup_t_uint256", + "name": "add", "nodeType": "YulIdentifier", - "src": "17371:17:13" + "src": "18526:3:7" }, "nodeType": "YulFunctionCall", - "src": "17371:20:13" + "src": "18526:18:7" }, "variableNames": [ { - "name": "x", + "name": "tail", "nodeType": "YulIdentifier", - "src": "17366:1:13" + "src": "18518:4:7" } ] }, { - "nodeType": "YulAssignment", - "src": "17400:25:13", - "value": { + "expression": { "arguments": [ { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17423:1:13" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "17405:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "17405:20:13" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17400:1:13" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17447:22:13", - "statements": [ + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18565:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18576:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18561:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18561:17:7" + }, { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", + "arguments": [ + { + "name": "tail", "nodeType": "YulIdentifier", - "src": "17449:16:13" + "src": "18584:4:7" }, - "nodeType": "YulFunctionCall", - "src": "17449:18:13" + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18590:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18580:3:7" }, - "nodeType": "YulExpressionStatement", - "src": "17449:18:13" + "nodeType": "YulFunctionCall", + "src": "18580:20:7" } - ] + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18554:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "18554:47:7" }, - "condition": { + "nodeType": "YulExpressionStatement", + "src": "18554:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "18610:139:7", + "value": { "arguments": [ { - "name": "y", + "name": "tail", "nodeType": "YulIdentifier", - "src": "17444:1:13" + "src": "18744:4:7" } ], "functionName": { - "name": "iszero", + "name": "abi_encode_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17437:6:13" + "src": "18618:124:7" }, "nodeType": "YulFunctionCall", - "src": "17437:9:13" + "src": "18618:131:7" }, - "nodeType": "YulIf", - "src": "17434:2:13" - }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18610:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18488:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18503:4:7", + "type": "" + } + ], + "src": "18337:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18860:124:7", + "statements": [ { "nodeType": "YulAssignment", - "src": "17479:14:13", + "src": "18870:26:7", "value": { "arguments": [ { - "name": "x", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "17488:1:13" + "src": "18882:9:7" }, { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17491:1:13" + "kind": "number", + "nodeType": "YulLiteral", + "src": "18893:2:7", + "type": "", + "value": "32" } ], "functionName": { - "name": "div", + "name": "add", "nodeType": "YulIdentifier", - "src": "17484:3:13" + "src": "18878:3:7" }, "nodeType": "YulFunctionCall", - "src": "17484:9:13" + "src": "18878:18:7" }, "variableNames": [ { - "name": "r", + "name": "tail", "nodeType": "YulIdentifier", - "src": "17479:1:13" + "src": "18870:4:7" } ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18950:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18963:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18974:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18959:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18959:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "18906:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "18906:71:7" + }, + "nodeType": "YulExpressionStatement", + "src": "18906:71:7" } ] }, - "name": "checked_div_t_uint256", + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "x", + "name": "headStart", "nodeType": "YulTypedName", - "src": "17345:1:13", + "src": "18832:9:7", "type": "" }, { - "name": "y", + "name": "value0", "nodeType": "YulTypedName", - "src": "17348:1:13", + "src": "18844:6:7", "type": "" } ], "returnVariables": [ { - "name": "r", + "name": "tail", "nodeType": "YulTypedName", - "src": "17354:1:13", + "src": "18855:4:7", "type": "" } ], - "src": "17314:185:13" + "src": "18762:222:7" }, { "body": { "nodeType": "YulBlock", - "src": "17578:775:13", + "src": "19116:206:7", "statements": [ { "nodeType": "YulAssignment", - "src": "17588:15:13", + "src": "19126:26:7", "value": { - "name": "_power", - "nodeType": "YulIdentifier", - "src": "17597:6:13" - }, - "variableNames": [ - { - "name": "power", + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19138:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19149:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", "nodeType": "YulIdentifier", - "src": "17588:5:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "17612:14:13", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "17621:5:13" + "src": "19134:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "19134:18:7" }, "variableNames": [ { - "name": "base", + "name": "tail", "nodeType": "YulIdentifier", - "src": "17612:4:13" + "src": "19126:4:7" } ] }, { - "body": { - "nodeType": "YulBlock", - "src": "17670:677:13", - "statements": [ + "expression": { + "arguments": [ { - "body": { - "nodeType": "YulBlock", - "src": "17758:22:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "17760:16:13" - }, - "nodeType": "YulFunctionCall", - "src": "17760:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "17760:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "17736:4:13" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "17746:3:13" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "17751:4:13" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "17742:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "17742:14:13" - } - ], - "functionName": { - "name": "gt", + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19206:6:7" + }, + { + "arguments": [ + { + "name": "headStart", "nodeType": "YulIdentifier", - "src": "17733:2:13" + "src": "19219:9:7" }, - "nodeType": "YulFunctionCall", - "src": "17733:24:13" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19230:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19215:3:7" }, - "nodeType": "YulIf", - "src": "17730:2:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17825:419:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18205:25:13", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "18218:5:13" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "18225:4:13" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "18214:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "18214:16:13" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "18205:5:13" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "17800:8:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17810:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "17796:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "17796:16:13" - }, - "nodeType": "YulIf", - "src": "17793:2:13" - }, - { - "nodeType": "YulAssignment", - "src": "18257:23:13", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "18269:4:13" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "18275:4:13" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "18265:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "18265:15:13" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "18257:4:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "18293:44:13", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "18328:8:13" - } - ], - "functionName": { - "name": "shift_right_1_unsigned", - "nodeType": "YulIdentifier", - "src": "18305:22:13" - }, - "nodeType": "YulFunctionCall", - "src": "18305:32:13" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "18293:8:13" - } - ] + "nodeType": "YulFunctionCall", + "src": "19215:17:7" } - ] + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "19162:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "19162:71:7" }, - "condition": { + "nodeType": "YulExpressionStatement", + "src": "19162:71:7" + }, + { + "expression": { "arguments": [ { - "name": "exponent", + "name": "value1", "nodeType": "YulIdentifier", - "src": "17646:8:13" + "src": "19287:6:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17656:1:13", - "type": "", - "value": "1" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19300:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19311:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19296:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "19296:18:7" } ], "functionName": { - "name": "gt", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "17643:2:13" + "src": "19243:43:7" }, "nodeType": "YulFunctionCall", - "src": "17643:15:13" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "17659:2:13", - "statements": [] + "src": "19243:72:7" }, - "pre": { - "nodeType": "YulBlock", - "src": "17639:3:13", - "statements": [] - }, - "src": "17635:712:13" + "nodeType": "YulExpressionStatement", + "src": "19243:72:7" } ] }, - "name": "checked_exp_helper", + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "_power", - "nodeType": "YulTypedName", - "src": "17533:6:13", - "type": "" - }, - { - "name": "_base", + "name": "headStart", "nodeType": "YulTypedName", - "src": "17541:5:13", + "src": "19080:9:7", "type": "" }, { - "name": "exponent", + "name": "value1", "nodeType": "YulTypedName", - "src": "17548:8:13", + "src": "19092:6:7", "type": "" }, { - "name": "max", + "name": "value0", "nodeType": "YulTypedName", - "src": "17558:3:13", + "src": "19100:6:7", "type": "" } ], "returnVariables": [ { - "name": "power", - "nodeType": "YulTypedName", - "src": "17566:5:13", - "type": "" - }, - { - "name": "base", + "name": "tail", "nodeType": "YulTypedName", - "src": "17573:4:13", + "src": "19111:4:7", "type": "" } ], - "src": "17505:848:13" + "src": "18990:332:7" }, { "body": { "nodeType": "YulBlock", - "src": "18425:219:13", + "src": "19387:40:7", "statements": [ { "nodeType": "YulAssignment", - "src": "18435:31:13", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "18461:4:13" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "18443:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "18443:23:13" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "18435:4:13" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "18475:39:13", + "src": "19398:22:7", "value": { "arguments": [ { - "name": "exponent", + "name": "value", "nodeType": "YulIdentifier", - "src": "18505:8:13" + "src": "19414:5:7" } ], "functionName": { - "name": "cleanup_t_uint256", + "name": "mload", "nodeType": "YulIdentifier", - "src": "18487:17:13" + "src": "19408:5:7" }, "nodeType": "YulFunctionCall", - "src": "18487:27:13" + "src": "19408:12:7" }, "variableNames": [ { - "name": "exponent", + "name": "length", "nodeType": "YulIdentifier", - "src": "18475:8:13" + "src": "19398:6:7" } ] - }, + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19370:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19380:6:7", + "type": "" + } + ], + "src": "19328:99:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19546:34:7", + "statements": [ { "nodeType": "YulAssignment", - "src": "18524:113:13", + "src": "19556:18:7", "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "18554:4:13" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "18560:8:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18570:66:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "18533:20:13" - }, - "nodeType": "YulFunctionCall", - "src": "18533:104:13" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19571:3:7" }, "variableNames": [ { - "name": "power", + "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "18524:5:13" + "src": "19556:11:7" } ] } ] }, - "name": "checked_exp_t_uint256_t_uint256", + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "base", + "name": "pos", "nodeType": "YulTypedName", - "src": "18400:4:13", + "src": "19518:3:7", "type": "" }, { - "name": "exponent", + "name": "length", "nodeType": "YulTypedName", - "src": "18406:8:13", + "src": "19523:6:7", "type": "" } ], "returnVariables": [ { - "name": "power", + "name": "updated_pos", "nodeType": "YulTypedName", - "src": "18419:5:13", + "src": "19534:11:7", "type": "" } ], - "src": "18359:285:13" + "src": "19433:147:7" }, { "body": { "nodeType": "YulBlock", - "src": "18710:1013:13", + "src": "19682:73:7", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "18905:20:13", - "statements": [ + "expression": { + "arguments": [ { - "nodeType": "YulAssignment", - "src": "18907:10:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18916:1:13", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "18907:5:13" - } - ] + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19699:3:7" }, { - "nodeType": "YulLeave", - "src": "18918:5:13" + "name": "length", + "nodeType": "YulIdentifier", + "src": "19704:6:7" } - ] + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19692:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "19692:19:7" }, - "condition": { + "nodeType": "YulExpressionStatement", + "src": "19692:19:7" + }, + { + "nodeType": "YulAssignment", + "src": "19720:29:7", + "value": { "arguments": [ { - "name": "exponent", + "name": "pos", "nodeType": "YulIdentifier", - "src": "18895:8:13" + "src": "19739:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19744:4:7", + "type": "", + "value": "0x20" } ], "functionName": { - "name": "iszero", + "name": "add", "nodeType": "YulIdentifier", - "src": "18888:6:13" + "src": "19735:3:7" }, "nodeType": "YulFunctionCall", - "src": "18888:16:13" + "src": "19735:14:7" }, - "nodeType": "YulIf", - "src": "18885:2:13" + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "19720:11:7" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19654:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19659:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19670:11:7", + "type": "" + } + ], + "src": "19586:169:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19805:261:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19815:25:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "19838:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "19820:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "19820:20:7" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "19815:1:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19849:25:7", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "19872:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "19854:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "19854:20:7" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "19849:1:7" + } + ] }, { "body": { "nodeType": "YulBlock", - "src": "18950:20:13", + "src": "20012:22:7", "statements": [ { - "nodeType": "YulAssignment", - "src": "18952:10:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18961:1:13", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "18952:5:13" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "18963:5:13" + "src": "20014:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "20014:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "20014:18:7" } ] }, "condition": { "arguments": [ { - "name": "base", + "name": "x", "nodeType": "YulIdentifier", - "src": "18944:4:13" + "src": "19933:1:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19940:66:7", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "20008:1:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19936:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "19936:74:7" } ], "functionName": { - "name": "iszero", + "name": "gt", "nodeType": "YulIdentifier", - "src": "18937:6:13" + "src": "19930:2:7" }, "nodeType": "YulFunctionCall", - "src": "18937:12:13" + "src": "19930:81:7" }, "nodeType": "YulIf", - "src": "18934:2:13" + "src": "19927:2:7" }, { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "19080:20:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19082:10:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19091:1:13", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "19082:5:13" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "19093:5:13" - } - ] + "nodeType": "YulAssignment", + "src": "20044:16:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "20055:1:7" }, - "nodeType": "YulCase", - "src": "19073:27:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19078:1:13", - "type": "", - "value": "1" + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "20058:1:7" } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20051:3:7" }, + "nodeType": "YulFunctionCall", + "src": "20051:9:7" + }, + "variableNames": [ { - "body": { - "nodeType": "YulBlock", - "src": "19124:176:13", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "19159:22:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "19161:16:13" - }, - "nodeType": "YulFunctionCall", - "src": "19161:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "19161:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "19144:8:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19154:3:13", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "19141:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "19141:17:13" - }, - "nodeType": "YulIf", - "src": "19138:2:13" - }, - { - "nodeType": "YulAssignment", - "src": "19194:25:13", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19207:1:13", - "type": "", - "value": "2" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "19210:8:13" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "19203:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "19203:16:13" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "19194:5:13" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19250:22:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "19252:16:13" - }, - "nodeType": "YulFunctionCall", - "src": "19252:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "19252:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "19238:5:13" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "19245:3:13" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "19235:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "19235:14:13" - }, - "nodeType": "YulIf", - "src": "19232:2:13" - }, - { - "nodeType": "YulLeave", - "src": "19285:5:13" - } - ] - }, - "nodeType": "YulCase", - "src": "19109:191:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19114:1:13", - "type": "", - "value": "2" + "name": "sum", + "nodeType": "YulIdentifier", + "src": "20044:3:7" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "19792:1:7", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "19795:1:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "19801:3:7", + "type": "" + } + ], + "src": "19761:305:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20114:143:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20124:25:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "20147:1:7" } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "20129:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "20129:20:7" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "20124:1:7" } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "19030:4:13" + ] + }, + { + "nodeType": "YulAssignment", + "src": "20158:25:7", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "20181:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "20163:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "20163:20:7" }, - "nodeType": "YulSwitch", - "src": "19023:277:13" + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "20158:1:7" + } + ] }, { "body": { "nodeType": "YulBlock", - "src": "19432:123:13", + "src": "20205:22:7", "statements": [ { - "nodeType": "YulAssignment", - "src": "19446:28:13", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "19459:4:13" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "19465:8:13" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "19455:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "19455:19:13" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "19446:5:13" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19505:22:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "19507:16:13" - }, - "nodeType": "YulFunctionCall", - "src": "19507:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "19507:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "19493:5:13" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "19500:3:13" - } - ], + "expression": { + "arguments": [], "functionName": { - "name": "gt", + "name": "panic_error_0x12", "nodeType": "YulIdentifier", - "src": "19490:2:13" + "src": "20207:16:7" }, "nodeType": "YulFunctionCall", - "src": "19490:14:13" + "src": "20207:18:7" }, - "nodeType": "YulIf", - "src": "19487:2:13" - }, - { - "nodeType": "YulLeave", - "src": "19540:5:13" + "nodeType": "YulExpressionStatement", + "src": "20207:18:7" } ] }, "condition": { "arguments": [ { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "19335:4:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19341:2:13", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "19332:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "19332:12:13" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "19349:8:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19359:2:13", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "19346:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "19346:16:13" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "19328:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "19328:35:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "19384:4:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19390:3:13", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "19381:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "19381:13:13" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "19399:8:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19409:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "19396:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "19396:16:13" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "19377:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "19377:36:13" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "19312:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "19312:111:13" - }, - "nodeType": "YulIf", - "src": "19309:2:13" - }, - { - "nodeType": "YulAssignment", - "src": "19565:57:13", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19599:1:13", - "type": "", - "value": "1" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "19602:4:13" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "19608:8:13" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "19618:3:13" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "19580:18:13" - }, - "nodeType": "YulFunctionCall", - "src": "19580:42:13" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "19565:5:13" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "19572:4:13" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19661:22:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "19663:16:13" - }, - "nodeType": "YulFunctionCall", - "src": "19663:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "19663:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", + "name": "y", "nodeType": "YulIdentifier", - "src": "19638:5:13" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "19649:3:13" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "19654:4:13" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "19645:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "19645:14:13" + "src": "20202:1:7" } ], "functionName": { - "name": "gt", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "19635:2:13" + "src": "20195:6:7" }, "nodeType": "YulFunctionCall", - "src": "19635:25:13" + "src": "20195:9:7" }, "nodeType": "YulIf", - "src": "19632:2:13" + "src": "20192:2:7" }, { "nodeType": "YulAssignment", - "src": "19692:25:13", + "src": "20237:14:7", "value": { "arguments": [ { - "name": "power", + "name": "x", "nodeType": "YulIdentifier", - "src": "19705:5:13" + "src": "20246:1:7" }, { - "name": "base", + "name": "y", "nodeType": "YulIdentifier", - "src": "19712:4:13" + "src": "20249:1:7" } ], "functionName": { - "name": "mul", + "name": "div", "nodeType": "YulIdentifier", - "src": "19701:3:13" + "src": "20242:3:7" }, "nodeType": "YulFunctionCall", - "src": "19701:16:13" + "src": "20242:9:7" }, "variableNames": [ { - "name": "power", + "name": "r", "nodeType": "YulIdentifier", - "src": "19692:5:13" + "src": "20237:1:7" } ] } ] }, - "name": "checked_exp_unsigned", + "name": "checked_div_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "base", - "nodeType": "YulTypedName", - "src": "18680:4:13", - "type": "" - }, - { - "name": "exponent", + "name": "x", "nodeType": "YulTypedName", - "src": "18686:8:13", + "src": "20103:1:7", "type": "" }, { - "name": "max", + "name": "y", "nodeType": "YulTypedName", - "src": "18696:3:13", + "src": "20106:1:7", "type": "" } ], "returnVariables": [ { - "name": "power", + "name": "r", "nodeType": "YulTypedName", - "src": "18704:5:13", + "src": "20112:1:7", "type": "" } ], - "src": "18650:1073:13" + "src": "20072:185:7" }, { "body": { "nodeType": "YulBlock", - "src": "19777:300:13", + "src": "20336:775:7", "statements": [ { "nodeType": "YulAssignment", - "src": "19787:25:13", + "src": "20346:15:7", "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "19810:1:13" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "19792:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "19792:20:13" + "name": "_power", + "nodeType": "YulIdentifier", + "src": "20355:6:7" }, "variableNames": [ { - "name": "x", + "name": "power", "nodeType": "YulIdentifier", - "src": "19787:1:13" + "src": "20346:5:7" } ] }, { "nodeType": "YulAssignment", - "src": "19821:25:13", + "src": "20370:14:7", "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "19844:1:13" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "19826:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "19826:20:13" + "name": "_base", + "nodeType": "YulIdentifier", + "src": "20379:5:7" }, "variableNames": [ { - "name": "y", + "name": "base", "nodeType": "YulIdentifier", - "src": "19821:1:13" + "src": "20370:4:7" } ] }, { "body": { "nodeType": "YulBlock", - "src": "20019:22:13", + "src": "20428:677:7", "statements": [ { - "expression": { - "arguments": [], + "body": { + "nodeType": "YulBlock", + "src": "20516:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "20518:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "20518:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "20518:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "20494:4:7" + }, + { + "arguments": [ + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "20504:3:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "20509:4:7" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "20500:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "20500:14:7" + } + ], "functionName": { - "name": "panic_error_0x11", + "name": "gt", "nodeType": "YulIdentifier", - "src": "20021:16:13" + "src": "20491:2:7" }, "nodeType": "YulFunctionCall", - "src": "20021:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "20021:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "19931:1:13" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "19924:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "19924:9:13" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "19917:6:13" + "src": "20491:24:7" }, - "nodeType": "YulFunctionCall", - "src": "19917:17:13" + "nodeType": "YulIf", + "src": "20488:2:7" }, { - "arguments": [ - { - "name": "y", + "body": { + "nodeType": "YulBlock", + "src": "20583:419:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20963:25:7", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "20976:5:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "20983:4:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "20972:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "20972:16:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "20963:5:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "20558:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20568:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", "nodeType": "YulIdentifier", - "src": "19939:1:13" + "src": "20554:3:7" }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19946:66:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20014:1:13" - } - ], - "functionName": { - "name": "div", + "nodeType": "YulFunctionCall", + "src": "20554:16:7" + }, + "nodeType": "YulIf", + "src": "20551:2:7" + }, + { + "nodeType": "YulAssignment", + "src": "21015:23:7", + "value": { + "arguments": [ + { + "name": "base", "nodeType": "YulIdentifier", - "src": "19942:3:13" + "src": "21027:4:7" }, - "nodeType": "YulFunctionCall", - "src": "19942:74:13" + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "21033:4:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "21023:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "21023:15:7" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "21015:4:7" } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "19936:2:13" + ] + }, + { + "nodeType": "YulAssignment", + "src": "21051:44:7", + "value": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "21086:8:7" + } + ], + "functionName": { + "name": "shift_right_1_unsigned", + "nodeType": "YulIdentifier", + "src": "21063:22:7" + }, + "nodeType": "YulFunctionCall", + "src": "21063:32:7" }, - "nodeType": "YulFunctionCall", - "src": "19936:81:13" + "variableNames": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "21051:8:7" + } + ] } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "19913:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "19913:105:13" + ] }, - "nodeType": "YulIf", - "src": "19910:2:13" - }, - { - "nodeType": "YulAssignment", - "src": "20051:20:13", - "value": { + "condition": { "arguments": [ { - "name": "x", + "name": "exponent", "nodeType": "YulIdentifier", - "src": "20066:1:13" + "src": "20404:8:7" }, { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20069:1:13" + "kind": "number", + "nodeType": "YulLiteral", + "src": "20414:1:7", + "type": "", + "value": "1" } ], "functionName": { - "name": "mul", + "name": "gt", "nodeType": "YulIdentifier", - "src": "20062:3:13" + "src": "20401:2:7" }, "nodeType": "YulFunctionCall", - "src": "20062:9:13" + "src": "20401:15:7" }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "20051:7:13" - } - ] + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "20417:2:7", + "statements": [] + }, + "pre": { + "nodeType": "YulBlock", + "src": "20397:3:7", + "statements": [] + }, + "src": "20393:712:7" } ] }, - "name": "checked_mul_t_uint256", + "name": "checked_exp_helper", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "x", + "name": "_power", "nodeType": "YulTypedName", - "src": "19760:1:13", + "src": "20291:6:7", "type": "" }, { - "name": "y", + "name": "_base", + "nodeType": "YulTypedName", + "src": "20299:5:7", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "20306:8:7", + "type": "" + }, + { + "name": "max", "nodeType": "YulTypedName", - "src": "19763:1:13", + "src": "20316:3:7", "type": "" } ], "returnVariables": [ { - "name": "product", + "name": "power", + "nodeType": "YulTypedName", + "src": "20324:5:7", + "type": "" + }, + { + "name": "base", "nodeType": "YulTypedName", - "src": "19769:7:13", + "src": "20331:4:7", "type": "" } ], - "src": "19729:348:13" + "src": "20263:848:7" }, { "body": { "nodeType": "YulBlock", - "src": "20128:51:13", + "src": "21183:219:7", "statements": [ { "nodeType": "YulAssignment", - "src": "20138:35:13", + "src": "21193:31:7", "value": { "arguments": [ { - "name": "value", + "name": "base", "nodeType": "YulIdentifier", - "src": "20167:5:13" + "src": "21219:4:7" } ], "functionName": { - "name": "cleanup_t_uint160", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "20149:17:13" + "src": "21201:17:7" }, "nodeType": "YulFunctionCall", - "src": "20149:24:13" + "src": "21201:23:7" }, "variableNames": [ { - "name": "cleaned", + "name": "base", "nodeType": "YulIdentifier", - "src": "20138:7:13" + "src": "21193:4:7" } ] - } - ] - }, - "name": "cleanup_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "20110:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "20120:7:13", - "type": "" - } - ], - "src": "20083:96:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20227:48:13", - "statements": [ + }, { "nodeType": "YulAssignment", - "src": "20237:32:13", + "src": "21233:39:7", "value": { "arguments": [ { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20262:5:13" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "20255:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "20255:13:13" + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "21263:8:7" } ], "functionName": { - "name": "iszero", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "20248:6:13" + "src": "21245:17:7" }, "nodeType": "YulFunctionCall", - "src": "20248:21:13" + "src": "21245:27:7" }, "variableNames": [ { - "name": "cleaned", + "name": "exponent", "nodeType": "YulIdentifier", - "src": "20237:7:13" + "src": "21233:8:7" } ] - } - ] - }, - "name": "cleanup_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "20209:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "20219:7:13", - "type": "" - } - ], - "src": "20185:90:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20326:81:13", - "statements": [ + }, { "nodeType": "YulAssignment", - "src": "20336:65:13", + "src": "21282:113:7", "value": { "arguments": [ { - "name": "value", + "name": "base", "nodeType": "YulIdentifier", - "src": "20351:5:13" + "src": "21312:4:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20358:42:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "21318:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21328:66:7", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { - "name": "and", + "name": "checked_exp_unsigned", "nodeType": "YulIdentifier", - "src": "20347:3:13" + "src": "21291:20:7" }, "nodeType": "YulFunctionCall", - "src": "20347:54:13" + "src": "21291:104:7" }, "variableNames": [ { - "name": "cleaned", + "name": "power", "nodeType": "YulIdentifier", - "src": "20336:7:13" + "src": "21282:5:7" } ] } ] }, - "name": "cleanup_t_uint160", + "name": "checked_exp_t_uint256_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", - "nodeType": "YulTypedName", - "src": "20308:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", + "name": "base", "nodeType": "YulTypedName", - "src": "20318:7:13", + "src": "21158:4:7", "type": "" - } - ], - "src": "20281:126:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20458:32:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20468:16:13", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20479:5:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "20468:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ + }, { - "name": "value", + "name": "exponent", "nodeType": "YulTypedName", - "src": "20440:5:13", + "src": "21164:8:7", "type": "" } ], "returnVariables": [ { - "name": "cleaned", + "name": "power", "nodeType": "YulTypedName", - "src": "20450:7:13", + "src": "21177:5:7", "type": "" } ], - "src": "20413:77:13" + "src": "21117:285:7" }, { "body": { "nodeType": "YulBlock", - "src": "20539:43:13", + "src": "21468:1013:7", "statements": [ { - "nodeType": "YulAssignment", - "src": "20549:27:13", - "value": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "21663:20:7", + "statements": [ { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20564:5:13" + "nodeType": "YulAssignment", + "src": "21665:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21674:1:7", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "21665:5:7" + } + ] }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20571:4:13", - "type": "", - "value": "0xff" + "nodeType": "YulLeave", + "src": "21676:5:7" } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "20560:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "20560:16:13" + ] }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "20549:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "20521:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "20531:7:13", - "type": "" - } - ], - "src": "20496:86:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20671:89:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20681:73:13", - "value": { + "condition": { "arguments": [ { - "name": "value", + "name": "exponent", "nodeType": "YulIdentifier", - "src": "20748:5:13" + "src": "21653:8:7" } ], "functionName": { - "name": "convert_t_contract$_IERC20Metadata_$1724_to_t_uint160", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "20694:53:13" + "src": "21646:6:7" }, "nodeType": "YulFunctionCall", - "src": "20694:60:13" + "src": "21646:16:7" }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "20681:9:13" - } - ] - } - ] - }, - "name": "convert_t_contract$_IERC20Metadata_$1724_to_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "20651:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "20661:9:13", - "type": "" - } - ], - "src": "20588:172:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20849:53:13", - "statements": [ + "nodeType": "YulIf", + "src": "21643:2:7" + }, { - "nodeType": "YulAssignment", - "src": "20859:37:13", - "value": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "21708:20:7", + "statements": [ { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20890:5:13" + "nodeType": "YulAssignment", + "src": "21710:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21719:1:7", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "21710:5:7" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "21721:5:7" } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "20872:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "20872:24:13" + ] }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "20859:9:13" - } - ] - } - ] - }, - "name": "convert_t_contract$_IERC20Metadata_$1724_to_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "20829:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "20839:9:13", - "type": "" - } - ], - "src": "20766:136:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20983:81:13", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20993:65:13", - "value": { + "condition": { "arguments": [ { - "name": "value", + "name": "base", "nodeType": "YulIdentifier", - "src": "21052:5:13" + "src": "21702:4:7" } ], "functionName": { - "name": "convert_t_contract$_IStaker_$964_to_t_uint160", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "21006:45:13" + "src": "21695:6:7" }, "nodeType": "YulFunctionCall", - "src": "21006:52:13" + "src": "21695:12:7" }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "20993:9:13" - } - ] - } - ] - }, - "name": "convert_t_contract$_IStaker_$964_to_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "20963:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "20973:9:13", - "type": "" - } - ], - "src": "20908:156:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21145:53:13", - "statements": [ + "nodeType": "YulIf", + "src": "21692:2:7" + }, { - "nodeType": "YulAssignment", - "src": "21155:37:13", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21186:5:13" + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "21838:20:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21840:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21849:1:7", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "21840:5:7" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "21851:5:7" + } + ] + }, + "nodeType": "YulCase", + "src": "21831:27:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21836:1:7", + "type": "", + "value": "1" } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "21168:17:13" }, - "nodeType": "YulFunctionCall", - "src": "21168:24:13" - }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "21155:9:13" - } - ] - } - ] - }, - "name": "convert_t_contract$_IStaker_$964_to_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "21125:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "21135:9:13", - "type": "" - } - ], - "src": "21070:128:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21253:258:13", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "21263:10:13", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21272:1:13", - "type": "", - "value": "0" - }, - "variables": [ { - "name": "i", - "nodeType": "YulTypedName", - "src": "21267:1:13", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21332:63:13", - "statements": [ - { - "expression": { - "arguments": [ - { + "body": { + "nodeType": "YulBlock", + "src": "21882:176:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "21917:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "21919:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "21919:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "21919:18:7" + } + ] + }, + "condition": { "arguments": [ { - "name": "dst", + "name": "exponent", "nodeType": "YulIdentifier", - "src": "21357:3:13" + "src": "21902:8:7" }, { - "name": "i", - "nodeType": "YulIdentifier", - "src": "21362:1:13" + "kind": "number", + "nodeType": "YulLiteral", + "src": "21912:3:7", + "type": "", + "value": "255" } ], "functionName": { - "name": "add", + "name": "gt", "nodeType": "YulIdentifier", - "src": "21353:3:13" + "src": "21899:2:7" }, "nodeType": "YulFunctionCall", - "src": "21353:11:13" + "src": "21899:17:7" }, - { + "nodeType": "YulIf", + "src": "21896:2:7" + }, + { + "nodeType": "YulAssignment", + "src": "21952:25:7", + "value": { "arguments": [ { - "arguments": [ - { - "name": "src", + "kind": "number", + "nodeType": "YulLiteral", + "src": "21965:1:7", + "type": "", + "value": "2" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "21968:8:7" + } + ], + "functionName": { + "name": "exp", + "nodeType": "YulIdentifier", + "src": "21961:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "21961:16:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "21952:5:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22008:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "21376:3:13" + "src": "22010:16:7" }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "21381:1:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21372:3:13" + "nodeType": "YulFunctionCall", + "src": "22010:18:7" }, - "nodeType": "YulFunctionCall", - "src": "21372:11:13" + "nodeType": "YulExpressionStatement", + "src": "22010:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "21996:5:7" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "22003:3:7" } ], "functionName": { - "name": "mload", + "name": "gt", "nodeType": "YulIdentifier", - "src": "21366:5:13" + "src": "21993:2:7" }, "nodeType": "YulFunctionCall", - "src": "21366:18:13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21346:6:13" + "src": "21993:14:7" + }, + "nodeType": "YulIf", + "src": "21990:2:7" }, - "nodeType": "YulFunctionCall", - "src": "21346:39:13" - }, - "nodeType": "YulExpressionStatement", - "src": "21346:39:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "21293:1:13" + { + "nodeType": "YulLeave", + "src": "22043:5:7" + } + ] }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21296:6:13" + "nodeType": "YulCase", + "src": "21867:191:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21872:1:7", + "type": "", + "value": "2" } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "21290:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "21290:13:13" + } + ], + "expression": { + "name": "base", + "nodeType": "YulIdentifier", + "src": "21788:4:7" }, - "nodeType": "YulForLoop", - "post": { + "nodeType": "YulSwitch", + "src": "21781:277:7" + }, + { + "body": { "nodeType": "YulBlock", - "src": "21304:19:13", + "src": "22190:123:7", "statements": [ { "nodeType": "YulAssignment", - "src": "21306:15:13", + "src": "22204:28:7", "value": { "arguments": [ { - "name": "i", + "name": "base", "nodeType": "YulIdentifier", - "src": "21315:1:13" + "src": "22217:4:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21318:2:13", - "type": "", - "value": "32" + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "22223:8:7" } ], "functionName": { - "name": "add", + "name": "exp", "nodeType": "YulIdentifier", - "src": "21311:3:13" + "src": "22213:3:7" }, "nodeType": "YulFunctionCall", - "src": "21311:10:13" + "src": "22213:19:7" }, "variableNames": [ { - "name": "i", + "name": "power", "nodeType": "YulIdentifier", - "src": "21306:1:13" + "src": "22204:5:7" } ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "21286:3:13", - "statements": [] - }, - "src": "21282:113:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21429:76:13", - "statements": [ + }, { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "22263:22:7", + "statements": [ { - "arguments": [ - { - "name": "dst", + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "21479:3:13" + "src": "22265:16:7" }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21484:6:13" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21475:3:13" + "nodeType": "YulFunctionCall", + "src": "22265:18:7" }, - "nodeType": "YulFunctionCall", - "src": "21475:16:13" + "nodeType": "YulExpressionStatement", + "src": "22265:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "22251:5:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21493:1:13", - "type": "", - "value": "0" + "name": "max", + "nodeType": "YulIdentifier", + "src": "22258:3:7" } ], "functionName": { - "name": "mstore", + "name": "gt", "nodeType": "YulIdentifier", - "src": "21468:6:13" + "src": "22248:2:7" }, "nodeType": "YulFunctionCall", - "src": "21468:27:13" + "src": "22248:14:7" }, - "nodeType": "YulExpressionStatement", - "src": "21468:27:13" + "nodeType": "YulIf", + "src": "22245:2:7" + }, + { + "nodeType": "YulLeave", + "src": "22298:5:7" } ] }, "condition": { "arguments": [ { - "name": "i", - "nodeType": "YulIdentifier", - "src": "21410:1:13" + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "22093:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22099:2:7", + "type": "", + "value": "11" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "22090:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "22090:12:7" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "22107:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22117:2:7", + "type": "", + "value": "78" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "22104:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "22104:16:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "22086:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "22086:35:7" }, { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21413:6:13" + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "22142:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22148:3:7", + "type": "", + "value": "307" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "22139:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "22139:13:7" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "22157:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22167:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "22154:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "22154:16:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "22135:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "22135:36:7" } ], "functionName": { - "name": "gt", + "name": "or", "nodeType": "YulIdentifier", - "src": "21407:2:13" + "src": "22070:2:7" }, "nodeType": "YulFunctionCall", - "src": "21407:13:13" + "src": "22070:111:7" }, "nodeType": "YulIf", - "src": "21404:2:13" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "21235:3:13", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "21240:3:13", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "21245:6:13", - "type": "" - } - ], - "src": "21204:307:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21568:269:13", - "statements": [ + "src": "22067:2:7" + }, { "nodeType": "YulAssignment", - "src": "21578:22:13", + "src": "22323:57:7", "value": { "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "21592:4:13" - }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21598:1:13", + "src": "22357:1:7", "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "21588:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "21588:12:13" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21578:6:13" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21609:38:13", - "value": { - "arguments": [ + "value": "1" + }, { - "name": "data", + "name": "base", "nodeType": "YulIdentifier", - "src": "21639:4:13" + "src": "22360:4:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21645:1:13", - "type": "", - "value": "1" + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "22366:8:7" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "22376:3:7" } ], "functionName": { - "name": "and", + "name": "checked_exp_helper", "nodeType": "YulIdentifier", - "src": "21635:3:13" + "src": "22338:18:7" }, "nodeType": "YulFunctionCall", - "src": "21635:12:13" + "src": "22338:42:7" }, - "variables": [ + "variableNames": [ { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "21613:18:13", - "type": "" + "name": "power", + "nodeType": "YulIdentifier", + "src": "22323:5:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "22330:4:7" } ] }, { "body": { "nodeType": "YulBlock", - "src": "21686:51:13", + "src": "22419:22:7", "statements": [ { - "nodeType": "YulAssignment", - "src": "21700:27:13", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21714:6:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21722:4:13", - "type": "", - "value": "0x7f" - } - ], + "expression": { + "arguments": [], "functionName": { - "name": "and", + "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "21710:3:13" + "src": "22421:16:7" }, "nodeType": "YulFunctionCall", - "src": "21710:17:13" + "src": "22421:18:7" }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21700:6:13" - } - ] + "nodeType": "YulExpressionStatement", + "src": "22421:18:7" } ] }, "condition": { "arguments": [ { - "name": "outOfPlaceEncoding", + "name": "power", "nodeType": "YulIdentifier", - "src": "21666:18:13" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21659:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "21659:26:13" - }, - "nodeType": "YulIf", - "src": "21656:2:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21789:42:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nodeType": "YulIdentifier", - "src": "21803:16:13" - }, - "nodeType": "YulFunctionCall", - "src": "21803:18:13" - }, - "nodeType": "YulExpressionStatement", - "src": "21803:18:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "21753:18:13" + "src": "22396:5:7" }, { "arguments": [ { - "name": "length", + "name": "max", "nodeType": "YulIdentifier", - "src": "21776:6:13" + "src": "22407:3:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21784:2:13", - "type": "", - "value": "32" + "name": "base", + "nodeType": "YulIdentifier", + "src": "22412:4:7" } ], "functionName": { - "name": "lt", + "name": "div", "nodeType": "YulIdentifier", - "src": "21773:2:13" + "src": "22403:3:7" }, "nodeType": "YulFunctionCall", - "src": "21773:14:13" + "src": "22403:14:7" } ], "functionName": { - "name": "eq", + "name": "gt", "nodeType": "YulIdentifier", - "src": "21750:2:13" + "src": "22393:2:7" }, "nodeType": "YulFunctionCall", - "src": "21750:38:13" + "src": "22393:25:7" }, "nodeType": "YulIf", - "src": "21747:2:13" + "src": "22390:2:7" + }, + { + "nodeType": "YulAssignment", + "src": "22450:25:7", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "22463:5:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "22470:4:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "22459:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "22459:16:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "22450:5:7" + } + ] } ] }, - "name": "extract_byte_array_length", + "name": "checked_exp_unsigned", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "data", + "name": "base", + "nodeType": "YulTypedName", + "src": "21438:4:7", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "21444:8:7", + "type": "" + }, + { + "name": "max", "nodeType": "YulTypedName", - "src": "21552:4:13", + "src": "21454:3:7", "type": "" } ], "returnVariables": [ { - "name": "length", + "name": "power", "nodeType": "YulTypedName", - "src": "21561:6:13", + "src": "21462:5:7", "type": "" } ], - "src": "21517:320:13" + "src": "21408:1073:7" }, { "body": { "nodeType": "YulBlock", - "src": "21871:152:13", + "src": "22535:300:7", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "22545:25:7", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21888:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21891:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + "name": "x", + "nodeType": "YulIdentifier", + "src": "22568:1:7" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "21881:6:13" + "src": "22550:17:7" }, "nodeType": "YulFunctionCall", - "src": "21881:88:13" + "src": "22550:20:7" }, - "nodeType": "YulExpressionStatement", - "src": "21881:88:13" + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "22545:1:7" + } + ] }, { - "expression": { + "nodeType": "YulAssignment", + "src": "22579:25:7", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21985:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21988:4:13", - "type": "", - "value": "0x11" + "name": "y", + "nodeType": "YulIdentifier", + "src": "22602:1:7" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "21978:6:13" + "src": "22584:17:7" }, "nodeType": "YulFunctionCall", - "src": "21978:15:13" + "src": "22584:20:7" }, - "nodeType": "YulExpressionStatement", - "src": "21978:15:13" + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "22579:1:7" + } + ] }, { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22009:1:13", - "type": "", - "value": "0" - }, + "body": { + "nodeType": "YulBlock", + "src": "22777:22:7", + "statements": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22012:4:13", - "type": "", - "value": "0x24" + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "22779:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "22779:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "22779:18:7" } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22002:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22002:15:13" + ] }, - "nodeType": "YulExpressionStatement", - "src": "22002:15:13" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "21843:180:13" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22057:152:13", - "statements": [ - { - "expression": { + "condition": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22074:1:13", - "type": "", - "value": "0" + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "22689:1:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "22682:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "22682:9:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "22675:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "22675:17:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22077:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "22697:1:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22704:66:7", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "22772:1:7" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "22700:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "22700:74:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "22694:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "22694:81:7" } ], "functionName": { - "name": "mstore", + "name": "and", "nodeType": "YulIdentifier", - "src": "22067:6:13" + "src": "22671:3:7" }, "nodeType": "YulFunctionCall", - "src": "22067:88:13" + "src": "22671:105:7" }, - "nodeType": "YulExpressionStatement", - "src": "22067:88:13" + "nodeType": "YulIf", + "src": "22668:2:7" }, { - "expression": { + "nodeType": "YulAssignment", + "src": "22809:20:7", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22171:1:13", - "type": "", - "value": "4" + "name": "x", + "nodeType": "YulIdentifier", + "src": "22824:1:7" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22174:4:13", - "type": "", - "value": "0x12" + "name": "y", + "nodeType": "YulIdentifier", + "src": "22827:1:7" } ], "functionName": { - "name": "mstore", + "name": "mul", "nodeType": "YulIdentifier", - "src": "22164:6:13" + "src": "22820:3:7" }, "nodeType": "YulFunctionCall", - "src": "22164:15:13" + "src": "22820:9:7" }, - "nodeType": "YulExpressionStatement", - "src": "22164:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22195:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22198:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", + "variableNames": [ + { + "name": "product", "nodeType": "YulIdentifier", - "src": "22188:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22188:15:13" - }, - "nodeType": "YulExpressionStatement", - "src": "22188:15:13" + "src": "22809:7:7" + } + ] } ] }, - "name": "panic_error_0x12", + "name": "checked_mul_t_uint256", "nodeType": "YulFunctionDefinition", - "src": "22029:180:13" + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "22518:1:7", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "22521:1:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "22527:7:7", + "type": "" + } + ], + "src": "22487:348:7" }, { "body": { "nodeType": "YulBlock", - "src": "22243:152:13", + "src": "22886:51:7", "statements": [ { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22260:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22263:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22253:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22253:88:13" - }, - "nodeType": "YulExpressionStatement", - "src": "22253:88:13" - }, - { - "expression": { + "nodeType": "YulAssignment", + "src": "22896:35:7", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22357:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22360:4:13", - "type": "", - "value": "0x22" + "name": "value", + "nodeType": "YulIdentifier", + "src": "22925:5:7" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "22350:6:13" + "src": "22907:17:7" }, "nodeType": "YulFunctionCall", - "src": "22350:15:13" + "src": "22907:24:7" }, - "nodeType": "YulExpressionStatement", - "src": "22350:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22381:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22384:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", + "variableNames": [ + { + "name": "cleaned", "nodeType": "YulIdentifier", - "src": "22374:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22374:15:13" - }, - "nodeType": "YulExpressionStatement", - "src": "22374:15:13" + "src": "22896:7:7" + } + ] } ] }, - "name": "panic_error_0x22", + "name": "cleanup_t_address", "nodeType": "YulFunctionDefinition", - "src": "22215:180:13" + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "22868:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "22878:7:7", + "type": "" + } + ], + "src": "22841:96:7" }, { "body": { "nodeType": "YulBlock", - "src": "22449:54:13", + "src": "22985:48:7", "statements": [ { "nodeType": "YulAssignment", - "src": "22459:38:13", + "src": "22995:32:7", "value": { "arguments": [ { @@ -14063,584 +13918,1811 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "22477:5:13" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22484:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22473:3:13" - }, - "nodeType": "YulFunctionCall", - "src": "22473:14:13" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22493:2:13", - "type": "", - "value": "31" + "src": "23020:5:7" } ], "functionName": { - "name": "not", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "22489:3:13" + "src": "23013:6:7" }, "nodeType": "YulFunctionCall", - "src": "22489:7:13" + "src": "23013:13:7" } ], "functionName": { - "name": "and", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "22469:3:13" + "src": "23006:6:7" }, "nodeType": "YulFunctionCall", - "src": "22469:28:13" + "src": "23006:21:7" }, "variableNames": [ { - "name": "result", + "name": "cleaned", "nodeType": "YulIdentifier", - "src": "22459:6:13" + "src": "22995:7:7" } ] } ] }, - "name": "round_up_to_mul_of_32", + "name": "cleanup_t_bool", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "22432:5:13", + "src": "22967:5:7", "type": "" } ], "returnVariables": [ { - "name": "result", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "22442:6:13", + "src": "22977:7:7", "type": "" } ], - "src": "22401:102:13" + "src": "22943:90:7" }, { "body": { "nodeType": "YulBlock", - "src": "22560:51:13", + "src": "23084:81:7", "statements": [ { "nodeType": "YulAssignment", - "src": "22570:34:13", + "src": "23094:65:7", "value": { "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23109:5:7" + }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22595:1:13", + "src": "23116:42:7", "type": "", - "value": "1" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22598:5:13" + "value": "0xffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { - "name": "shr", + "name": "and", "nodeType": "YulIdentifier", - "src": "22591:3:13" + "src": "23105:3:7" }, "nodeType": "YulFunctionCall", - "src": "22591:13:13" + "src": "23105:54:7" }, "variableNames": [ { - "name": "newValue", + "name": "cleaned", "nodeType": "YulIdentifier", - "src": "22570:8:13" + "src": "23094:7:7" } ] } ] }, - "name": "shift_right_1_unsigned", + "name": "cleanup_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "22541:5:13", + "src": "23066:5:7", "type": "" } ], "returnVariables": [ { - "name": "newValue", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "22551:8:13", + "src": "23076:7:7", "type": "" } ], - "src": "22509:102:13" + "src": "23039:126:7" }, { "body": { "nodeType": "YulBlock", - "src": "22660:79:13", + "src": "23216:32:7", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "22717:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22726:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22729:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22719:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22719:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "22719:12:13" - } - ] + "nodeType": "YulAssignment", + "src": "23226:16:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23237:5:7" }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22683:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22708:5:13" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "22690:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "22690:24:13" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "22680:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "22680:35:13" - } - ], - "functionName": { - "name": "iszero", + "variableNames": [ + { + "name": "cleaned", "nodeType": "YulIdentifier", - "src": "22673:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22673:43:13" - }, - "nodeType": "YulIf", - "src": "22670:2:13" + "src": "23226:7:7" + } + ] } ] }, - "name": "validator_revert_t_address", + "name": "cleanup_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "22653:5:13", + "src": "23198:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "23208:7:7", "type": "" } ], - "src": "22617:122:13" + "src": "23171:77:7" }, { "body": { "nodeType": "YulBlock", - "src": "22785:76:13", + "src": "23297:43:7", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "22839:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22848:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22851:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22841:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22841:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "22841:12:13" - } - ] - }, - "condition": { + "nodeType": "YulAssignment", + "src": "23307:27:7", + "value": { "arguments": [ { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22808:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22830:5:13" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nodeType": "YulIdentifier", - "src": "22815:14:13" - }, - "nodeType": "YulFunctionCall", - "src": "22815:21:13" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "22805:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "22805:32:13" + "name": "value", + "nodeType": "YulIdentifier", + "src": "23322:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23329:4:7", + "type": "", + "value": "0xff" } ], "functionName": { - "name": "iszero", + "name": "and", "nodeType": "YulIdentifier", - "src": "22798:6:13" + "src": "23318:3:7" }, "nodeType": "YulFunctionCall", - "src": "22798:40:13" + "src": "23318:16:7" }, - "nodeType": "YulIf", - "src": "22795:2:13" + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "23307:7:7" + } + ] } ] }, - "name": "validator_revert_t_bool", + "name": "cleanup_t_uint8", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "22778:5:13", + "src": "23279:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "23289:7:7", "type": "" } ], - "src": "22745:116:13" + "src": "23254:86:7" }, { "body": { "nodeType": "YulBlock", - "src": "22910:79:13", + "src": "23428:88:7", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "22967:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22976:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22979:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22969:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "22969:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "22969:12:13" - } - ] - }, - "condition": { + "nodeType": "YulAssignment", + "src": "23438:72:7", + "value": { "arguments": [ { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22933:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22958:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "22940:17:13" - }, - "nodeType": "YulFunctionCall", - "src": "22940:24:13" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "22930:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "22930:35:13" + "name": "value", + "nodeType": "YulIdentifier", + "src": "23504:5:7" } ], "functionName": { - "name": "iszero", + "name": "convert_t_contract$_IERC20Metadata_$899_to_t_uint160", "nodeType": "YulIdentifier", - "src": "22923:6:13" + "src": "23451:52:7" }, "nodeType": "YulFunctionCall", - "src": "22923:43:13" + "src": "23451:59:7" }, - "nodeType": "YulIf", - "src": "22920:2:13" + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "23438:9:7" + } + ] } ] }, - "name": "validator_revert_t_uint256", + "name": "convert_t_contract$_IERC20Metadata_$899_to_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "22903:5:13", + "src": "23408:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "23418:9:7", "type": "" } ], - "src": "22867:122:13" + "src": "23346:170:7" }, { "body": { "nodeType": "YulBlock", - "src": "23036:77:13", + "src": "23604:53:7", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "23091:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23100:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23103:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "23093:6:13" - }, - "nodeType": "YulFunctionCall", - "src": "23093:12:13" - }, - "nodeType": "YulExpressionStatement", - "src": "23093:12:13" - } - ] - }, - "condition": { + "nodeType": "YulAssignment", + "src": "23614:37:7", + "value": { "arguments": [ { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23059:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23082:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "23066:15:13" - }, - "nodeType": "YulFunctionCall", - "src": "23066:22:13" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "23056:2:13" - }, - "nodeType": "YulFunctionCall", - "src": "23056:33:13" + "name": "value", + "nodeType": "YulIdentifier", + "src": "23645:5:7" } ], "functionName": { - "name": "iszero", + "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "23049:6:13" + "src": "23627:17:7" }, "nodeType": "YulFunctionCall", - "src": "23049:41:13" + "src": "23627:24:7" }, - "nodeType": "YulIf", - "src": "23046:2:13" + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "23614:9:7" + } + ] } ] }, - "name": "validator_revert_t_uint8", + "name": "convert_t_contract$_IERC20Metadata_$899_to_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "23029:5:13", + "src": "23584:5:7", "type": "" } ], - "src": "22995:118:13" - } - ] - }, - "contents": "{\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_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\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_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\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_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\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 abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8_fromMemory(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_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_contract$_IERC20Metadata_$1724_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IERC20Metadata_$1724_to_t_address(value))\n }\n\n function abi_encode_t_contract$_IStaker_$964_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IStaker_$964_to_t_address(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n\n mstore(add(pos, 0), \"Not Valid Eth Amount\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n\n mstore(add(pos, 0), \"Not registered\")\n\n end := add(pos, 32)\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\n mstore(add(pos, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(pos, 32), \"ddress\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n\n mstore(add(pos, 0), \"Already registered\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 15)\n\n mstore(add(pos, 0), \"invalid Pool no\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n\n mstore(add(pos, 0), \"Already Initialized\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n\n mstore(add(pos, 0), \"Already Purchased\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n\n mstore(add(pos, 0), \"Can't Participate in the Pool\")\n\n end := add(pos, 32)\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\n mstore(add(pos, 0), \"Ownable: caller is not the owner\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n\n mstore(add(pos, 0), \"Values Can't Be Zero\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n\n mstore(add(pos, 0), \"Not in Registration Period\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n\n mstore(add(pos, 0), \"Not in Sale Period\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n\n mstore(add(pos, 0), \"ReentrancyGuard: reentrant call\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n\n mstore(add(pos, 0), \"Not Initialized Yet\")\n\n end := add(pos, 32)\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_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_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\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 abi_encode_tuple_t_bool_t_uint256_t_bool__to_t_bool_t_uint256_t_bool__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bool_to_t_bool_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_contract$_IERC20Metadata_$1724__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IERC20Metadata_$1724_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_contract$_IStaker_$964__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IStaker_$964_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6__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_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5__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_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5_to_t_string_memory_ptr_fromStack( tail)\n\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 abi_encode_tuple_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2__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_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6__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_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8__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_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726__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_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591__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_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4__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_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4__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_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df__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_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__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_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923__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_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function 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 checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function convert_t_contract$_IERC20Metadata_$1724_to_t_address(value) -> converted {\n converted := convert_t_contract$_IERC20Metadata_$1724_to_t_uint160(value)\n }\n\n function convert_t_contract$_IERC20Metadata_$1724_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function convert_t_contract$_IStaker_$964_to_t_address(value) -> converted {\n converted := convert_t_contract$_IStaker_$964_to_t_uint160(value)\n }\n\n function convert_t_contract$_IStaker_$964_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\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 validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n}\n", - "id": 13, - "language": "Yul", - "name": "#utility.yul" - } - ], - "sourceMap": "381:4631:0:-:0;;;2674:860;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;867:17:5;887:12;:10;;;:12;;:::i;:::-;867:32;;918:9;909:6;;:18;;;;;;;;;;;;;;;;;;975:9;942:43;;971:1;942:43;;;;;;;;;;;;842:150;1637:1:6;1743:7;:22;;;;2893:14:0;2875:7;;:33;;;;;;;;;;;;;;;;;;2948:19;2919:11;;:49;;;;;;;;;;;;;;;;;;3005:16;2979:8;;:43;;;;;;;;;;;;;;;;;;3045:10;3033:9;:22;;;;3077:6;3066:8;:17;;;;3096:11;3118;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3110:31;;3096:45;;3152:5;3163:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3180:1;3163:25;;;;3183:1;3163:25;;;;3186:1;3163:25;;;3152:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3200:5;3211:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3240:3;3236:2;:7;;;;:::i;:::-;3230:3;:13;;;;:::i;:::-;3211:39;;;;3245:1;3211:39;;;;3248:1;3211:39;;;3200:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3262:5;3273:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3302:3;3298:2;:7;;;;:::i;:::-;3292:3;:13;;;;:::i;:::-;3273:39;;;;3307:1;3273:39;;;;3310:1;3273:39;;;3262:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3324:5;3335:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3363:3;3359:2;:7;;;;:::i;:::-;3352:4;:14;;;;:::i;:::-;3335:38;;;;3368:1;3335:38;;;;3371:1;3335:38;;;3324:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:5;3396:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3424:3;3420:2;:7;;;;:::i;:::-;3413:4;:14;;;;:::i;:::-;3396:38;;;;3429:1;3396:38;;;;3432:1;3396:38;;;3385:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3446:5;3457:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3486:3;3482:2;:7;;;;:::i;:::-;3475:4;:14;;;;:::i;:::-;3457:39;;;;3491:1;3457:39;;;;3494:1;3457:39;;;3446:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3522:2;3508:11;:16;;;;2674:860;;;;;;381:4631;;586:96:11;639:7;665:10;658:17;;586:96;:::o;381:4631:0:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:143:13:-;;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:143::-;;244:6;238:13;229:22;;260:33;287:5;260:33;:::i;:::-;219:80;;;;:::o;305:139::-;;391:6;385:13;376:22;;407:31;432:5;407:31;:::i;:::-;366:78;;;;:::o;450:910::-;;;;;;637:3;625:9;616:7;612:23;608:33;605:2;;;654:1;651;644:12;605:2;697:1;722:64;778:7;769:6;758:9;754:22;722:64;:::i;:::-;712:74;;668:128;835:2;861:64;917:7;908:6;897:9;893:22;861:64;:::i;:::-;851:74;;806:129;974:2;1000:64;1056:7;1047:6;1036:9;1032:22;1000:64;:::i;:::-;990:74;;945:129;1113:2;1139:64;1195:7;1186:6;1175:9;1171:22;1139:64;:::i;:::-;1129:74;;1084:129;1252:3;1279:64;1335:7;1326:6;1315:9;1311:22;1279:64;:::i;:::-;1269:74;;1223:130;595:765;;;;;;;;:::o;1366:280::-;;1483:2;1471:9;1462:7;1458:23;1454:32;1451:2;;;1499:1;1496;1489:12;1451:2;1542:1;1567:62;1621:7;1612:6;1601:9;1597:22;1567:62;:::i;:::-;1557:72;;1513:126;1441:205;;;;:::o;1652:848::-;;;1744:6;1735:15;;1768:5;1759:14;;1782:712;1803:1;1793:8;1790:15;1782:712;;;1898:4;1893:3;1889:14;1883:4;1880:24;1877:2;;;1907:18;;:::i;:::-;1877:2;1957:1;1947:8;1943:16;1940:2;;;2372:4;2365:5;2361:16;2352:25;;1940:2;2422:4;2416;2412:15;2404:23;;2452:32;2475:8;2452:32;:::i;:::-;2440:44;;1782:712;;;1725:775;;;;;;;:::o;2506:285::-;;2590:23;2608:4;2590:23;:::i;:::-;2582:31;;2634:27;2652:8;2634:27;:::i;:::-;2622:39;;2680:104;2717:66;2707:8;2701:4;2680:104;:::i;:::-;2671:113;;2572:219;;;;:::o;2797:1073::-;;3042:8;3032:2;;3063:1;3054:10;;3065:5;;3032:2;3091:4;3081:2;;3108:1;3099:10;;3110:5;;3081:2;3177:4;3225:1;3220:27;;;;3261:1;3256:191;;;;3170:277;;3220:27;3238:1;3229:10;;3240:5;;;3256:191;3301:3;3291:8;3288:17;3285:2;;;3308:18;;:::i;:::-;3285:2;3357:8;3354:1;3350:16;3341:25;;3392:3;3385:5;3382:14;3379:2;;;3399:18;;:::i;:::-;3379:2;3432:5;;;3170:277;;3556:2;3546:8;3543:16;3537:3;3531:4;3528:13;3524:36;3506:2;3496:8;3493:16;3488:2;3482:4;3479:12;3475:35;3459:111;3456:2;;;3612:8;3606:4;3602:19;3593:28;;3647:3;3640:5;3637:14;3634:2;;;3654:18;;:::i;:::-;3634:2;3687:5;;3456:2;3727:42;3765:3;3755:8;3749:4;3746:1;3727:42;:::i;:::-;3712:57;;;;3801:4;3796:3;3792:14;3785:5;3782:25;3779:2;;;3810:18;;:::i;:::-;3779:2;3859:4;3852:5;3848:16;3839:25;;2857:1013;;;;;;:::o;3876:348::-;;3939:20;3957:1;3939:20;:::i;:::-;3934:25;;3973:20;3991:1;3973:20;:::i;:::-;3968:25;;4161:1;4093:66;4089:74;4086:1;4083:81;4078:1;4071:9;4064:17;4060:105;4057:2;;;4168:18;;:::i;:::-;4057:2;4216:1;4213;4209:9;4198:20;;3924:300;;;;:::o;4230:96::-;;4296:24;4314:5;4296:24;:::i;:::-;4285:35;;4275:51;;;:::o;4332:126::-;;4409:42;4402:5;4398:54;4387:65;;4377:81;;;:::o;4464:77::-;;4530:5;4519:16;;4509:32;;;:::o;4547:86::-;;4622:4;4615:5;4611:16;4600:27;;4590:43;;;:::o;4639:320::-;;4720:1;4714:4;4710:12;4700:22;;4767:1;4761:4;4757:12;4788:18;4778:2;;4844:4;4836:6;4832:17;4822:27;;4778:2;4906;4898:6;4895:14;4875:18;4872:38;4869:2;;;4925:18;;:::i;:::-;4869:2;4690:269;;;;:::o;4965:180::-;5013:77;5010:1;5003:88;5110:4;5107:1;5100:15;5134:4;5131:1;5124:15;5151:180;5199:77;5196:1;5189:88;5296:4;5293:1;5286:15;5320:4;5317:1;5310:15;5337:102;;5426:5;5423:1;5419:13;5398:34;;5388:51;;;:::o;5445:122::-;5518:24;5536:5;5518:24;:::i;:::-;5511:5;5508:35;5498:2;;5557:1;5554;5547:12;5498:2;5488:79;:::o;5573:122::-;5646:24;5664:5;5646:24;:::i;:::-;5639:5;5636:35;5626:2;;5685:1;5682;5675:12;5626:2;5616:79;:::o;5701:118::-;5772:22;5788:5;5772:22;:::i;:::-;5765:5;5762:33;5752:2;;5809:1;5806;5799:12;5752:2;5742:77;:::o;381:4631:0:-;;;;;;;", - "deployedSourceMap": "381:4631:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;769:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4055:518;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;954:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1240:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1189:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;1700:145:5;;;;;;;;;;;;;:::i;:::-;;1068:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;724:38:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1495:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4581:426;;;:::i;:::-;;1009:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;828:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1465:23;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;582:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;431:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;644:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;520:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;460:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;882:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3704:343;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1994:240:5;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1040:25:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3542:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;769:52;755:7;808:6;:13;;;;:::i;:::-;769:52;:::o;4055:518::-;4116:7;4125;4147:21;4171:5;4177:7;4171:14;;;;;;;;;;;;;;;;;;;;;;;;;;4147:38;;4212:1;4201:7;:12;:38;;;;4238:1;4217:4;:17;;;:22;4201:38;4198:83;;;4264:1;4267;4256:13;;;;;;;4198:83;4291:11;4313:8;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4305:28;;4291:42;;4344:19;4409:4;:17;;;4395:11;;:31;;;;:::i;:::-;4379:4;:11;;;4367:9;;:23;;;;:::i;:::-;4366:61;;;;:::i;:::-;4344:83;;4471:13;4521:3;4515:2;:9;;;;:::i;:::-;4502:8;;4488:11;:22;;;;:::i;:::-;4487:38;;;;:::i;:::-;4471:54;;4546:11;4559:5;4538:27;;;;;;;;4055:518;;;;:::o;954:48::-;755:7;993:2;:9;;;;:::i;:::-;954:48;:::o;1240:25::-;;;;;;;;;;;;;:::o;1189:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1700:145:5:-;1291:12;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1806:1:::1;1769:40;;1790:6;::::0;::::1;;;;;;;;1769:40;;;;;;;;;;;;1836:1;1819:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1700:145::o:0;1068:85::-;1114:7;1140:6;;;;;;;;;;;1133:13;;1068:85;:::o;724:38:0:-;755:7;724:38;:::o;1495:26::-;;;;:::o;4581:426::-;2187:9;2199:15;2187:27;;2235:13;;;;;;;;;;;2227:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;2291:7;:19;2299:10;2291:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;2283:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2362:7;:19;2370:10;2362:19;;;;;;;;;;;;;;;:29;;;;;;;;;;;;2361:30;2353:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;2446:1;2432:10;;:15;;:49;;;;;755:7;993:2;:9;;;;:::i;:::-;2456:10;;:25;;;;:::i;:::-;2451:1;:30;;2432:49;2424:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1:6::1;2260:7;;:19;;2252:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1;2390:7;:18;;;;4667:19:0::2;4689:7;:19;4697:10;4689:19;;;;;;;;;;;;;;;4667:41;;4720:14;4736:13:::0;4753:34:::2;4768:3;:18;;;4753:14;:34::i;:::-;4719:68;;;;4815:1;4806:5;:10;;:25;;;;;4830:1;4820:6;:11;;4806:25;4798:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4884:9;4875:5;:18;4867:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;4947:4;4931:3;:13;;;:20;;;;;;;;;;;;;;;;;;4962:8;;;;;;;;;;;:17;;;4980:10;4992:6;4962:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2419:1:6;;;1637::::1;2563:7:::0;:22:::1;;;;4581:426:0::0;:::o;1009:24::-;;;;:::o;828:47::-;755:7;866:2;:9;;;;:::i;:::-;828:47;:::o;1465:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;582:24::-;;;;:::o;431:22::-;;;;;;;;;;;;;:::o;644:23::-;;;;:::o;520:30::-;;;;;;;;;;;;;:::o;460:33::-;;;;;;;;;;;;;:::o;882:65::-;755:7;938:2;:9;;;;:::i;:::-;755:7;866:2;:9;;;;:::i;:::-;924:23;;;;:::i;:::-;882:65;:::o;3704:343::-;1871:9;1883:15;1871:27;;1919:13;;;;;;;;;;;1911:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;1976:7;:19;1984:10;1976:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;1975:33;1967:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;2063:1;2050:9;;:14;;:46;;;;;755:7;866:2;:9;;;;:::i;:::-;2073;;:23;;;;:::i;:::-;2068:1;:28;;2050:46;2042:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3795:7:::1;1591;1586:1;:12;;:28;;;;;1613:1;1602:7;:12;;1586:28;1578:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1647:20;1670:7;;;;;;;;;;;:21;;;1692:10;1670:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1647:56;;1755:12;1722:5;1728:7;1722:14;;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;:45;;1714:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1:6::2;2260:7;;:19;;2252:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1;2390:7;:18;;;;3868:4:0::3;3833:7;:19;3841:10;3833:19;;;;;;;;;;;;;;;:32;;;:39;;;;;;;;;;;;;;;;;;3920:7;3883;:19;3891:10;3883:19;;;;;;;;;;;;;;;:34;;:44;;;;3969:1;3938:5;3944:7;3938:14;;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;:32;;;;;;;:::i;:::-;;;;;;;;3983:7;;;;;;;;;;;:12;;;3996:10;755:7;808:6;:13;;;;:::i;:::-;4008:15;:30;;;;:::i;:::-;3983:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;1637:1:6::2;2563:7:::0;:22:::2;;;;2138:1:0::1;;3704:343:::0;;:::o;1994:240:5:-;1291:12;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2102:1:::1;2082:22;;:8;:22;;;;2074:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2191:8;2162:38;;2183:6;::::0;::::1;;;;;;;;2162:38;;;;;;;;;;;;2219:8;2210:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1994:240:::0;:::o;1040:25:0:-;;;;:::o;3542:154::-;1291:12:5;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2578:13:0::1;;;;;;;;;;;2577:14;2569:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3633:4:::2;3621:9;:16;;;;755:7;938:2;:9;;;;:::i;:::-;755:7;866:2;:9;;;;:::i;:::-;924:23;;;;:::i;:::-;3661:9;;:27;;;;:::i;:::-;3648:10;:40;;;;2654:4:::1;2638:13;;:20;;;;;;;;;;;;;;;;;;3542:154:::0;:::o;586:96:11:-;639:7;665:10;658:17;;586:96;:::o;7:139:13:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:137::-;;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;212:77;;;;:::o;295:139::-;;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;347:87;;;;:::o;440:143::-;;528:6;522:13;513:22;;544:33;571:5;544:33;:::i;:::-;503:80;;;;:::o;589:139::-;;675:6;669:13;660:22;;691:31;716:5;691:31;:::i;:::-;650:78;;;;:::o;734:262::-;;842:2;830:9;821:7;817:23;813:32;810:2;;;858:1;855;848:12;810:2;901:1;926:53;971:7;962:6;951:9;947:22;926:53;:::i;:::-;916:63;;872:117;800:196;;;;:::o;1002:278::-;;1118:2;1106:9;1097:7;1093:23;1089:32;1086:2;;;1134:1;1131;1124:12;1086:2;1177:1;1202:61;1255:7;1246:6;1235:9;1231:22;1202:61;:::i;:::-;1192:71;;1148:125;1076:204;;;;:::o;1286:262::-;;1394:2;1382:9;1373:7;1369:23;1365:32;1362:2;;;1410:1;1407;1400:12;1362:2;1453:1;1478:53;1523:7;1514:6;1503:9;1499:22;1478:53;:::i;:::-;1468:63;;1424:117;1352:196;;;;:::o;1554:284::-;;1673:2;1661:9;1652:7;1648:23;1644:32;1641:2;;;1689:1;1686;1679:12;1641:2;1732:1;1757:64;1813:7;1804:6;1793:9;1789:22;1757:64;:::i;:::-;1747:74;;1703:128;1631:207;;;;:::o;1844:280::-;;1961:2;1949:9;1940:7;1936:23;1932:32;1929:2;;;1977:1;1974;1967:12;1929:2;2020:1;2045:62;2099:7;2090:6;2079:9;2075:22;2045:62;:::i;:::-;2035:72;;1991:126;1919:205;;;;:::o;2130:118::-;2217:24;2235:5;2217:24;:::i;:::-;2212:3;2205:37;2195:53;;:::o;2254:109::-;2335:21;2350:5;2335:21;:::i;:::-;2330:3;2323:34;2313:50;;:::o;2369:177::-;2479:60;2533:5;2479:60;:::i;:::-;2474:3;2467:73;2457:89;;:::o;2552:161::-;2654:52;2700:5;2654:52;:::i;:::-;2649:3;2642:65;2632:81;;:::o;2719:364::-;;2835:39;2868:5;2835:39;:::i;:::-;2890:71;2954:6;2949:3;2890:71;:::i;:::-;2883:78;;2970:52;3015:6;3010:3;3003:4;2996:5;2992:16;2970:52;:::i;:::-;3047:29;3069:6;3047:29;:::i;:::-;3042:3;3038:39;3031:46;;2811:272;;;;;:::o;3089:318::-;;3252:67;3316:2;3311:3;3252:67;:::i;:::-;3245:74;;3349:22;3345:1;3340:3;3336:11;3329:43;3398:2;3393:3;3389:12;3382:19;;3235:172;;;:::o;3413:312::-;;3576:67;3640:2;3635:3;3576:67;:::i;:::-;3569:74;;3673:16;3669:1;3664:3;3660:11;3653:37;3716:2;3711:3;3707:12;3700:19;;3559:166;;;:::o;3731:370::-;;3894:67;3958:2;3953:3;3894:67;:::i;:::-;3887:74;;3991:34;3987:1;3982:3;3978:11;3971:55;4057:8;4052:2;4047:3;4043:12;4036:30;4092:2;4087:3;4083:12;4076:19;;3877:224;;;:::o;4107:316::-;;4270:67;4334:2;4329:3;4270:67;:::i;:::-;4263:74;;4367:20;4363:1;4358:3;4354:11;4347:41;4414:2;4409:3;4405:12;4398:19;;4253:170;;;:::o;4429:313::-;;4592:67;4656:2;4651:3;4592:67;:::i;:::-;4585:74;;4689:17;4685:1;4680:3;4676:11;4669:38;4733:2;4728:3;4724:12;4717:19;;4575:167;;;:::o;4748:317::-;;4911:67;4975:2;4970:3;4911:67;:::i;:::-;4904:74;;5008:21;5004:1;4999:3;4995:11;4988:42;5056:2;5051:3;5047:12;5040:19;;4894:171;;;:::o;5071:315::-;;5234:67;5298:2;5293:3;5234:67;:::i;:::-;5227:74;;5331:19;5327:1;5322:3;5318:11;5311:40;5377:2;5372:3;5368:12;5361:19;;5217:169;;;:::o;5392:327::-;;5555:67;5619:2;5614:3;5555:67;:::i;:::-;5548:74;;5652:31;5648:1;5643:3;5639:11;5632:52;5710:2;5705:3;5701:12;5694:19;;5538:181;;;:::o;5725:330::-;;5888:67;5952:2;5947:3;5888:67;:::i;:::-;5881:74;;5985:34;5981:1;5976:3;5972:11;5965:55;6046:2;6041:3;6037:12;6030:19;;5871:184;;;:::o;6061:318::-;;6224:67;6288:2;6283:3;6224:67;:::i;:::-;6217:74;;6321:22;6317:1;6312:3;6308:11;6301:43;6370:2;6365:3;6361:12;6354:19;;6207:172;;;:::o;6385:324::-;;6548:67;6612:2;6607:3;6548:67;:::i;:::-;6541:74;;6645:28;6641:1;6636:3;6632:11;6625:49;6700:2;6695:3;6691:12;6684:19;;6531:178;;;:::o;6715:316::-;;6878:67;6942:2;6937:3;6878:67;:::i;:::-;6871:74;;6975:20;6971:1;6966:3;6962:11;6955:41;7022:2;7017:3;7013:12;7006:19;;6861:170;;;:::o;7037:329::-;;7200:67;7264:2;7259:3;7200:67;:::i;:::-;7193:74;;7297:33;7293:1;7288:3;7284:11;7277:54;7357:2;7352:3;7348:12;7341:19;;7183:183;;;:::o;7372:317::-;;7535:67;7599:2;7594:3;7535:67;:::i;:::-;7528:74;;7632:21;7628:1;7623:3;7619:11;7612:42;7680:2;7675:3;7671:12;7664:19;;7518:171;;;:::o;7695:118::-;7782:24;7800:5;7782:24;:::i;:::-;7777:3;7770:37;7760:53;;:::o;7819:222::-;;7950:2;7939:9;7935:18;7927:26;;7963:71;8031:1;8020:9;8016:17;8007:6;7963:71;:::i;:::-;7917:124;;;;:::o;8047:332::-;;8206:2;8195:9;8191:18;8183:26;;8219:71;8287:1;8276:9;8272:17;8263:6;8219:71;:::i;:::-;8300:72;8368:2;8357:9;8353:18;8344:6;8300:72;:::i;:::-;8173:206;;;;;:::o;8385:210::-;;8510:2;8499:9;8495:18;8487:26;;8523:65;8585:1;8574:9;8570:17;8561:6;8523:65;:::i;:::-;8477:118;;;;:::o;8601:418::-;;8776:2;8765:9;8761:18;8753:26;;8789:65;8851:1;8840:9;8836:17;8827:6;8789:65;:::i;:::-;8864:72;8932:2;8921:9;8917:18;8908:6;8864:72;:::i;:::-;8946:66;9008:2;8997:9;8993:18;8984:6;8946:66;:::i;:::-;8743:276;;;;;;:::o;9025:268::-;;9179:2;9168:9;9164:18;9156:26;;9192:94;9283:1;9272:9;9268:17;9259:6;9192:94;:::i;:::-;9146:147;;;;:::o;9299:252::-;;9445:2;9434:9;9430:18;9422:26;;9458:86;9541:1;9530:9;9526:17;9517:6;9458:86;:::i;:::-;9412:139;;;;:::o;9557:644::-;;9792:3;9781:9;9777:19;9769:27;;9842:9;9836:4;9832:20;9828:1;9817:9;9813:17;9806:47;9870:78;9943:4;9934:6;9870:78;:::i;:::-;9862:86;;9958:72;10026:2;10015:9;10011:18;10002:6;9958:72;:::i;:::-;10040;10108:2;10097:9;10093:18;10084:6;10040:72;:::i;:::-;10122;10190:2;10179:9;10175:18;10166:6;10122:72;:::i;:::-;9759:442;;;;;;;:::o;10207:419::-;;10411:2;10400:9;10396:18;10388:26;;10460:9;10454:4;10450:20;10446:1;10435:9;10431:17;10424:47;10488:131;10614:4;10488:131;:::i;:::-;10480:139;;10378:248;;;:::o;10632:419::-;;10836:2;10825:9;10821:18;10813:26;;10885:9;10879:4;10875:20;10871:1;10860:9;10856:17;10849:47;10913:131;11039:4;10913:131;:::i;:::-;10905:139;;10803:248;;;:::o;11057:419::-;;11261:2;11250:9;11246:18;11238:26;;11310:9;11304:4;11300:20;11296:1;11285:9;11281:17;11274:47;11338:131;11464:4;11338:131;:::i;:::-;11330:139;;11228:248;;;:::o;11482:419::-;;11686:2;11675:9;11671:18;11663:26;;11735:9;11729:4;11725:20;11721:1;11710:9;11706:17;11699:47;11763:131;11889:4;11763:131;:::i;:::-;11755:139;;11653:248;;;:::o;11907:419::-;;12111:2;12100:9;12096:18;12088:26;;12160:9;12154:4;12150:20;12146:1;12135:9;12131:17;12124:47;12188:131;12314:4;12188:131;:::i;:::-;12180:139;;12078:248;;;:::o;12332:419::-;;12536:2;12525:9;12521:18;12513:26;;12585:9;12579:4;12575:20;12571:1;12560:9;12556:17;12549:47;12613:131;12739:4;12613:131;:::i;:::-;12605:139;;12503:248;;;:::o;12757:419::-;;12961:2;12950:9;12946:18;12938:26;;13010:9;13004:4;13000:20;12996:1;12985:9;12981:17;12974:47;13038:131;13164:4;13038:131;:::i;:::-;13030:139;;12928:248;;;:::o;13182:419::-;;13386:2;13375:9;13371:18;13363:26;;13435:9;13429:4;13425:20;13421:1;13410:9;13406:17;13399:47;13463:131;13589:4;13463:131;:::i;:::-;13455:139;;13353:248;;;:::o;13607:419::-;;13811:2;13800:9;13796:18;13788:26;;13860:9;13854:4;13850:20;13846:1;13835:9;13831:17;13824:47;13888:131;14014:4;13888:131;:::i;:::-;13880:139;;13778:248;;;:::o;14032:419::-;;14236:2;14225:9;14221:18;14213:26;;14285:9;14279:4;14275:20;14271:1;14260:9;14256:17;14249:47;14313:131;14439:4;14313:131;:::i;:::-;14305:139;;14203:248;;;:::o;14457:419::-;;14661:2;14650:9;14646:18;14638:26;;14710:9;14704:4;14700:20;14696:1;14685:9;14681:17;14674:47;14738:131;14864:4;14738:131;:::i;:::-;14730:139;;14628:248;;;:::o;14882:419::-;;15086:2;15075:9;15071:18;15063:26;;15135:9;15129:4;15125:20;15121:1;15110:9;15106:17;15099:47;15163:131;15289:4;15163:131;:::i;:::-;15155:139;;15053:248;;;:::o;15307:419::-;;15511:2;15500:9;15496:18;15488:26;;15560:9;15554:4;15550:20;15546:1;15535:9;15531:17;15524:47;15588:131;15714:4;15588:131;:::i;:::-;15580:139;;15478:248;;;:::o;15732:419::-;;15936:2;15925:9;15921:18;15913:26;;15985:9;15979:4;15975:20;15971:1;15960:9;15956:17;15949:47;16013:131;16139:4;16013:131;:::i;:::-;16005:139;;15903:248;;;:::o;16157:222::-;;16288:2;16277:9;16273:18;16265:26;;16301:71;16369:1;16358:9;16354:17;16345:6;16301:71;:::i;:::-;16255:124;;;;:::o;16385:332::-;;16544:2;16533:9;16529:18;16521:26;;16557:71;16625:1;16614:9;16610:17;16601:6;16557:71;:::i;:::-;16638:72;16706:2;16695:9;16691:18;16682:6;16638:72;:::i;:::-;16511:206;;;;;:::o;16723:99::-;;16809:5;16803:12;16793:22;;16782:40;;;:::o;16828:169::-;;16946:6;16941:3;16934:19;16986:4;16981:3;16977:14;16962:29;;16924:73;;;;:::o;17003:305::-;;17062:20;17080:1;17062:20;:::i;:::-;17057:25;;17096:20;17114:1;17096:20;:::i;:::-;17091:25;;17250:1;17182:66;17178:74;17175:1;17172:81;17169:2;;;17256:18;;:::i;:::-;17169:2;17300:1;17297;17293:9;17286:16;;17047:261;;;;:::o;17314:185::-;;17371:20;17389:1;17371:20;:::i;:::-;17366:25;;17405:20;17423:1;17405:20;:::i;:::-;17400:25;;17444:1;17434:2;;17449:18;;:::i;:::-;17434:2;17491:1;17488;17484:9;17479:14;;17356:143;;;;:::o;17505:848::-;;;17597:6;17588:15;;17621:5;17612:14;;17635:712;17656:1;17646:8;17643:15;17635:712;;;17751:4;17746:3;17742:14;17736:4;17733:24;17730:2;;;17760:18;;:::i;:::-;17730:2;17810:1;17800:8;17796:16;17793:2;;;18225:4;18218:5;18214:16;18205:25;;17793:2;18275:4;18269;18265:15;18257:23;;18305:32;18328:8;18305:32;:::i;:::-;18293:44;;17635:712;;;17578:775;;;;;;;:::o;18359:285::-;;18443:23;18461:4;18443:23;:::i;:::-;18435:31;;18487:27;18505:8;18487:27;:::i;:::-;18475:39;;18533:104;18570:66;18560:8;18554:4;18533:104;:::i;:::-;18524:113;;18425:219;;;;:::o;18650:1073::-;;18895:8;18885:2;;18916:1;18907:10;;18918:5;;18885:2;18944:4;18934:2;;18961:1;18952:10;;18963:5;;18934:2;19030:4;19078:1;19073:27;;;;19114:1;19109:191;;;;19023:277;;19073:27;19091:1;19082:10;;19093:5;;;19109:191;19154:3;19144:8;19141:17;19138:2;;;19161:18;;:::i;:::-;19138:2;19210:8;19207:1;19203:16;19194:25;;19245:3;19238:5;19235:14;19232:2;;;19252:18;;:::i;:::-;19232:2;19285:5;;;19023:277;;19409:2;19399:8;19396:16;19390:3;19384:4;19381:13;19377:36;19359:2;19349:8;19346:16;19341:2;19335:4;19332:12;19328:35;19312:111;19309:2;;;19465:8;19459:4;19455:19;19446:28;;19500:3;19493:5;19490:14;19487:2;;;19507:18;;:::i;:::-;19487:2;19540:5;;19309:2;19580:42;19618:3;19608:8;19602:4;19599:1;19580:42;:::i;:::-;19565:57;;;;19654:4;19649:3;19645:14;19638:5;19635:25;19632:2;;;19663:18;;:::i;:::-;19632:2;19712:4;19705:5;19701:16;19692:25;;18710:1013;;;;;;:::o;19729:348::-;;19792:20;19810:1;19792:20;:::i;:::-;19787:25;;19826:20;19844:1;19826:20;:::i;:::-;19821:25;;20014:1;19946:66;19942:74;19939:1;19936:81;19931:1;19924:9;19917:17;19913:105;19910:2;;;20021:18;;:::i;:::-;19910:2;20069:1;20066;20062:9;20051:20;;19777:300;;;;:::o;20083:96::-;;20149:24;20167:5;20149:24;:::i;:::-;20138:35;;20128:51;;;:::o;20185:90::-;;20262:5;20255:13;20248:21;20237:32;;20227:48;;;:::o;20281:126::-;;20358:42;20351:5;20347:54;20336:65;;20326:81;;;:::o;20413:77::-;;20479:5;20468:16;;20458:32;;;:::o;20496:86::-;;20571:4;20564:5;20560:16;20549:27;;20539:43;;;:::o;20588:172::-;;20694:60;20748:5;20694:60;:::i;:::-;20681:73;;20671:89;;;:::o;20766:136::-;;20872:24;20890:5;20872:24;:::i;:::-;20859:37;;20849:53;;;:::o;20908:156::-;;21006:52;21052:5;21006:52;:::i;:::-;20993:65;;20983:81;;;:::o;21070:128::-;;21168:24;21186:5;21168:24;:::i;:::-;21155:37;;21145:53;;;:::o;21204:307::-;21272:1;21282:113;21296:6;21293:1;21290:13;21282:113;;;21381:1;21376:3;21372:11;21366:18;21362:1;21357:3;21353:11;21346:39;21318:2;21315:1;21311:10;21306:15;;21282:113;;;21413:6;21410:1;21407:13;21404:2;;;21493:1;21484:6;21479:3;21475:16;21468:27;21404:2;21253:258;;;;:::o;21517:320::-;;21598:1;21592:4;21588:12;21578:22;;21645:1;21639:4;21635:12;21666:18;21656:2;;21722:4;21714:6;21710:17;21700:27;;21656:2;21784;21776:6;21773:14;21753:18;21750:38;21747:2;;;21803:18;;:::i;:::-;21747:2;21568:269;;;;:::o;21843:180::-;21891:77;21888:1;21881:88;21988:4;21985:1;21978:15;22012:4;22009:1;22002:15;22029:180;22077:77;22074:1;22067:88;22174:4;22171:1;22164:15;22198:4;22195:1;22188:15;22215:180;22263:77;22260:1;22253:88;22360:4;22357:1;22350:15;22384:4;22381:1;22374:15;22401:102;;22493:2;22489:7;22484:2;22477:5;22473:14;22469:28;22459:38;;22449:54;;;:::o;22509:102::-;;22598:5;22595:1;22591:13;22570:34;;22560:51;;;:::o;22617:122::-;22690:24;22708:5;22690:24;:::i;:::-;22683:5;22680:35;22670:2;;22729:1;22726;22719:12;22670:2;22660:79;:::o;22745:116::-;22815:21;22830:5;22815:21;:::i;:::-;22808:5;22805:32;22795:2;;22851:1;22848;22841:12;22795:2;22785:76;:::o;22867:122::-;22940:24;22958:5;22940:24;:::i;:::-;22933:5;22930:35;22920:2;;22979:1;22976;22969:12;22920:2;22910:79;:::o;22995:118::-;23066:22;23082:5;23066:22;:::i;:::-;23059:5;23056:33;23046:2;;23103:1;23100;23093:12;23046:2;23036:77;:::o", - "source": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.0;\r\n\r\nimport './../interfaces/IStaker.sol';\r\nimport \"openzeppelin-solidity/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\r\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\r\nimport \"openzeppelin-solidity/contracts/utils/Context.sol\";\r\nimport \"openzeppelin-solidity/contracts/security/ReentrancyGuard.sol\";\r\n\r\ncontract IDO is Ownable, ReentrancyGuard {\r\n\r\n IStaker public iStaker;\r\n IERC20Metadata public nativeToken; // The token staked\r\n IERC20Metadata public idoToken; // The token sale in iDO\r\n uint256 public idoAmount; // Amount of Tokens to be Sold\r\n uint256 public idoPrice; // Price of 1 Tokens in Wei\r\n\r\n // Time Stamps\r\n uint256 public constant unit = 1 hours;\r\n uint256 public constant lockDuration = 7 * 24 * unit;\r\n uint256 public constant regDuration = 48 * unit;\r\n uint256 public constant saleStartsAfter = regDuration + 24 * unit;\r\n uint256 public constant saleDuration = 12 * unit;\r\n uint256 public regStarts;\r\n uint256 public saleStarts;\r\n\r\n struct UserLog {\r\n bool isRegistered;\r\n uint256 registeredPool;\r\n bool purchased;\r\n }\r\n mapping(address => UserLog) public userlog;\r\n\r\n bool public isInitialized;\r\n\r\n struct PoolInfo {\r\n string name;\r\n uint256 minNativeToken; // min token required to particitate in the pool\r\n uint256 weight;\r\n uint256 participants;\r\n } \r\n PoolInfo[] public pools;\r\n uint256 public totalWeight;\r\n\r\n modifier verifyPool(uint256 _poolNo) {\r\n require(1 <= _poolNo && _poolNo <= 5, \"invalid Pool no\");\r\n\r\n uint256 stakedAmount = iStaker.stakedBalance(msg.sender);\r\n require(pools[_poolNo].minNativeToken <= stakedAmount, \"Can't Participate in the Pool\");\r\n\r\n _;\r\n }\r\n\r\n modifier validRegistration() {\r\n uint256 t = block.timestamp;\r\n\r\n require(isInitialized, \"Not Initialized Yet\");\r\n require(!userlog[msg.sender].isRegistered, \"Already registered\");\r\n require(regStarts <= t && t <= regStarts + regDuration, \"Not in Registration Period\");\r\n _;\r\n }\r\n\r\n modifier validSale() {\r\n uint256 t = block.timestamp;\r\n\r\n require(isInitialized, \"Not Initialized Yet\");\r\n require(userlog[msg.sender].isRegistered, \"Not registered\");\r\n require(!userlog[msg.sender].purchased, \"Already Purchased\");\r\n require(saleStarts <= t && t <= saleStarts + saleDuration, \"Not in Sale Period\");\r\n _;\r\n }\r\n\r\n modifier notInitialized() {\r\n require(!isInitialized, \"Already Initialized\");\r\n _;\r\n isInitialized = true;\r\n }\r\n\r\n constructor (\r\n address _stakerAddress,\r\n address _nativeTokenAddress,\r\n address _idoTokenAddress,\r\n uint256 _idoAmount,\r\n uint256 _price\r\n ) {\r\n \r\n iStaker = IStaker(_stakerAddress);\r\n nativeToken = IERC20Metadata(_nativeTokenAddress);\r\n idoToken = IERC20Metadata(_idoTokenAddress);\r\n idoAmount = _idoAmount;\r\n idoPrice = _price;\r\n\r\n uint256 dec = uint256(nativeToken.decimals());\r\n pools.push(PoolInfo(\"Null\", 0, 0, 0));\r\n pools.push(PoolInfo(\"Knight\", 100 * 10**dec, 2, 0));\r\n pools.push(PoolInfo(\"Bishop\", 500 * 10**dec, 3, 0));\r\n pools.push(PoolInfo(\"Rook\", 1000 * 10**dec, 4, 0));\r\n pools.push(PoolInfo(\"King\", 2000 * 10**dec, 5, 0));\r\n pools.push(PoolInfo(\"Queen\", 4000 * 10**dec, 6, 0));\r\n totalWeight = 20;\r\n\r\n }\r\n\r\n function initialize(uint256 time) external onlyOwner notInitialized {\r\n regStarts = time;\r\n saleStarts = regStarts + saleStartsAfter;\r\n }\r\n\r\n function register(uint256 _poolNo) \r\n external \r\n validRegistration \r\n verifyPool(_poolNo)\r\n nonReentrant {\r\n userlog[msg.sender].isRegistered = true;\r\n userlog[msg.sender].registeredPool = _poolNo;\r\n pools[_poolNo].participants += 1;\r\n\r\n iStaker.lock(msg.sender, block.timestamp + lockDuration);\r\n }\r\n\r\n function tokensAndPrice(uint256 _poolNo) public view returns(uint256, uint256) {\r\n\r\n PoolInfo storage pool = pools[_poolNo];\r\n\r\n if(_poolNo == 0 || pool.participants == 0) {\r\n return (0, 0);\r\n }\r\n uint256 dec = uint256(idoToken.decimals());\r\n uint256 tokenAmount = (idoAmount * pool.weight) / (totalWeight * pool.participants); // Token Amount per Participants\r\n uint256 price = (tokenAmount * idoPrice) / (10 ** dec);\r\n\r\n return (tokenAmount, price);\r\n }\r\n\r\n function buyNow() external \r\n payable \r\n validSale\r\n nonReentrant {\r\n UserLog storage usr = userlog[msg.sender];\r\n (uint256 amount, uint256 price) = tokensAndPrice(usr.registeredPool);\r\n require(price != 0 && amount != 0, \"Values Can't Be Zero\");\r\n require(price == msg.value, \"Not Valid Eth Amount\");\r\n\r\n usr.purchased = true;\r\n idoToken.transfer(msg.sender, amount);\r\n }\r\n\r\n}", - "sourcePath": "C:/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol", - "ast": { - "absolutePath": "/C/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol", - "exportedSymbols": { - "Context": [ - 2043 - ], - "IDO": [ - 550 - ], - "IERC20": [ - 1699 - ], - "IERC20Metadata": [ - 1724 - ], - "IStaker": [ - 964 - ], - "Ownable": [ - 1074 - ], - "ReentrancyGuard": [ - 1114 + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "23594:9:7", + "type": "" + } + ], + "src": "23522:135:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23738:81:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23748:65:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23807:5:7" + } + ], + "functionName": { + "name": "convert_t_contract$_IStaker_$646_to_t_uint160", + "nodeType": "YulIdentifier", + "src": "23761:45:7" + }, + "nodeType": "YulFunctionCall", + "src": "23761:52:7" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "23748:9:7" + } + ] + } + ] + }, + "name": "convert_t_contract$_IStaker_$646_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23718:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "23728:9:7", + "type": "" + } + ], + "src": "23663:156:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23900:53:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23910:37:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23941:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "23923:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "23923:24:7" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "23910:9:7" + } + ] + } + ] + }, + "name": "convert_t_contract$_IStaker_$646_to_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23880:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "23890:9:7", + "type": "" + } + ], + "src": "23825:128:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24008:258:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24018:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24027:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "24022:1:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24087:63:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "24112:3:7" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24117:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24108:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "24108:11:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "24131:3:7" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24136:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24127:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "24127:11:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24121:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "24121:18:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24101:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24101:39:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24101:39:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24048:1:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24051:6:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "24045:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "24045:13:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "24059:19:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24061:15:7", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24070:1:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24073:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24066:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "24066:10:7" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24061:1:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "24041:3:7", + "statements": [] + }, + "src": "24037:113:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24184:76:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "24234:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24239:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24230:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "24230:16:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24248:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24223:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24223:27:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24223:27:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24165:1:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24168:6:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "24162:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "24162:13:7" + }, + "nodeType": "YulIf", + "src": "24159:2:7" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "23990:3:7", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "23995:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24000:6:7", + "type": "" + } + ], + "src": "23959:307:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24323:269:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24333:22:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "24347:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24353:1:7", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "24343:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "24343:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24333:6:7" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "24364:38:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "24394:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24400:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "24390:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "24390:12:7" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "24368:18:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24441:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24455:27:7", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24469:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24477:4:7", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "24465:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "24465:17:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24455:6:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "24421:18:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24414:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24414:26:7" + }, + "nodeType": "YulIf", + "src": "24411:2:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24544:42:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "24558:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "24558:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24558:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "24508:18:7" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24531:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24539:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "24528:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "24528:14:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24505:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "24505:38:7" + }, + "nodeType": "YulIf", + "src": "24502:2:7" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "24307:4:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24316:6:7", + "type": "" + } + ], + "src": "24272:320:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24626:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24643:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24646:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24636:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24636:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24636:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24740:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24743:4:7", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24733:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24733:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24733:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24764:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24767:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24757:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24757:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24757:15:7" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "24598:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24812:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24829:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24832:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24822:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24822:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24822:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24926:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24929:4:7", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24919:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24919:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24919:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24950:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24953:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24943:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "24943:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "24943:15:7" + } + ] + }, + "name": "panic_error_0x12", + "nodeType": "YulFunctionDefinition", + "src": "24784:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24998:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25015:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25018:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25008:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25008:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "25008:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25112:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25115:4:7", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25105:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25105:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "25105:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25136:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25139:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25129:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25129:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "25129:15:7" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "24970:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25204:54:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25214:38:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25232:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25239:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25228:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "25228:14:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25248:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "25244:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "25244:7:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "25224:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "25224:28:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "25214:6:7" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25187:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "25197:6:7", + "type": "" + } + ], + "src": "25156:102:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25315:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25325:34:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25350:1:7", + "type": "", + "value": "1" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25353:5:7" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "25346:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "25346:13:7" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "25325:8:7" + } + ] + } + ] + }, + "name": "shift_right_1_unsigned", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25296:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "25306:8:7", + "type": "" + } + ], + "src": "25264:102:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25415:79:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "25472:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25481:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25484:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25474:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25474:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "25474:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25438:5:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25463:5:7" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "25445:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "25445:24:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "25435:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "25435:35:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25428:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25428:43:7" + }, + "nodeType": "YulIf", + "src": "25425:2:7" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25408:5:7", + "type": "" + } + ], + "src": "25372:122:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25540:76:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "25594:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25603:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25606:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25596:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25596:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "25596:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25563:5:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25585:5:7" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "25570:14:7" + }, + "nodeType": "YulFunctionCall", + "src": "25570:21:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "25560:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "25560:32:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25553:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25553:40:7" + }, + "nodeType": "YulIf", + "src": "25550:2:7" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25533:5:7", + "type": "" + } + ], + "src": "25500:116:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25665:79:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "25722:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25731:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25734:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25724:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25724:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "25724:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25688:5:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25713:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25695:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "25695:24:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "25685:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "25685:35:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25678:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25678:43:7" + }, + "nodeType": "YulIf", + "src": "25675:2:7" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25658:5:7", + "type": "" + } + ], + "src": "25622:122:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25791:77:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "25846:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25855:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25858:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25848:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25848:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "25848:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25814:5:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25837:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "25821:15:7" + }, + "nodeType": "YulFunctionCall", + "src": "25821:22:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "25811:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "25811:33:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25804:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "25804:41:7" + }, + "nodeType": "YulIf", + "src": "25801:2:7" + } + ] + }, + "name": "validator_revert_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25784:5:7", + "type": "" + } + ], + "src": "25750:118:7" + } + ] + }, + "contents": "{\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_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\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_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\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 function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\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_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\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 abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8_fromMemory(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_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_contract$_IERC20Metadata_$899_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IERC20Metadata_$899_to_t_address(value))\n }\n\n function abi_encode_t_contract$_IStaker_$646_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IStaker_$646_to_t_address(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n\n mstore(add(pos, 0), \"Not Valid Eth Amount\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n\n mstore(add(pos, 0), \"Not registered\")\n\n end := add(pos, 32)\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\n mstore(add(pos, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(pos, 32), \"ddress\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n\n mstore(add(pos, 0), \"Already registered\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 15)\n\n mstore(add(pos, 0), \"invalid Pool no\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n\n mstore(add(pos, 0), \"Already Initialized\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n\n mstore(add(pos, 0), \"Already Purchased\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n\n mstore(add(pos, 0), \"Can't Participate in the Pool\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n\n mstore(add(pos, 0), \"Unable To Recover Eth\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n\n mstore(add(pos, 0), \"Not Enough Tokens In Contract\")\n\n end := add(pos, 32)\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\n mstore(add(pos, 0), \"Ownable: caller is not the owner\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n\n mstore(add(pos, 0), \"Values Can't Be Zero\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n\n mstore(add(pos, 0), \"Not in Registration Period\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, 0)\n\n end := add(pos, 0)\n }\n\n function abi_encode_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n\n mstore(add(pos, 0), \"Not in Sale Period\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n\n mstore(add(pos, 0), \"ReentrancyGuard: reentrant call\")\n\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n\n mstore(add(pos, 0), \"Not Initialized Yet\")\n\n end := add(pos, 32)\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_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n pos := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\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_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\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 abi_encode_tuple_t_bool_t_uint256_t_bool__to_t_bool_t_uint256_t_bool__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bool_to_t_bool_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_contract$_IERC20Metadata_$899__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IERC20Metadata_$899_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_contract$_IStaker_$646__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IStaker_$646_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6__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_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5__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_1eb9ad53e16416e14d33846438c096000c11083a5bcbbae89aefd174c6489af5_to_t_string_memory_ptr_fromStack( tail)\n\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 abi_encode_tuple_t_stringliteral_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2__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_4935f8dc8deae1355305b992e890d0242809a3705c9c83131ed47acca0dd4fe2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6__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_4a25d1c9bb63474f756003e6aabffc710d02eb826827058a581b29ea52cabca6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8__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_50310c88f859e9d046552d0be86f16003ea8f26e3891e716c19fbdbf56bba3e8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726__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_669bf8e349ab7e13ac9ac286fa39196f7ded8da1a871b82dd62363a7a752c726_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591__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_6927242b566de9a8c3a10b414f567c7bec8e655d1cf7cdd38574d731b2bf5591_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478__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_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c__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_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4__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_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4__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_c131dadfd7fd8acdb7c3f6710ce77d3aa35c878c5744188a85654579fc9ba9e4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df__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_d08b05d97ec534f1e500f416e801746e4a025387042271a3a5f5d383ecfc51df_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__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_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923__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_ec58ff08170616cfe55c33c22cdc2f1d0392f1432971ef38d84b236fa4b43923_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function 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 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 checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function convert_t_contract$_IERC20Metadata_$899_to_t_address(value) -> converted {\n converted := convert_t_contract$_IERC20Metadata_$899_to_t_uint160(value)\n }\n\n function convert_t_contract$_IERC20Metadata_$899_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function convert_t_contract$_IStaker_$646_to_t_address(value) -> converted {\n converted := convert_t_contract$_IStaker_$646_to_t_uint160(value)\n }\n\n function convert_t_contract$_IStaker_$646_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\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 validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 7, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "381:5157:0:-:0;;;2674:860;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;867:17:2;887:12;:10;;;:12;;:::i;:::-;867:32;;918:9;909:6;;:18;;;;;;;;;;;;;;;;;;975:9;942:43;;971:1;942:43;;;;;;;;;;;;842:150;1637:1:3;1743:7;:22;;;;2893:14:0;2875:7;;:33;;;;;;;;;;;;;;;;;;2948:19;2919:11;;:49;;;;;;;;;;;;;;;;;;3005:16;2979:8;;:43;;;;;;;;;;;;;;;;;;3045:10;3033:9;:22;;;;3077:6;3066:8;:17;;;;3096:11;3118;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3110:31;;3096:45;;3152:5;3163:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3180:1;3163:25;;;;3183:1;3163:25;;;;3186:1;3163:25;;;3152:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3200:5;3211:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3240:3;3236:2;:7;;;;:::i;:::-;3230:3;:13;;;;:::i;:::-;3211:39;;;;3245:1;3211:39;;;;3248:1;3211:39;;;3200:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3262:5;3273:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3302:3;3298:2;:7;;;;:::i;:::-;3292:3;:13;;;;:::i;:::-;3273:39;;;;3307:1;3273:39;;;;3310:1;3273:39;;;3262:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3324:5;3335:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3363:3;3359:2;:7;;;;:::i;:::-;3352:4;:14;;;;:::i;:::-;3335:38;;;;3368:1;3335:38;;;;3371:1;3335:38;;;3324:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:5;3396:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3424:3;3420:2;:7;;;;:::i;:::-;3413:4;:14;;;;:::i;:::-;3396:38;;;;3429:1;3396:38;;;;3432:1;3396:38;;;3385:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3446:5;3457:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3486:3;3482:2;:7;;;;:::i;:::-;3475:4;:14;;;;:::i;:::-;3457:39;;;;3491:1;3457:39;;;;3494:1;3457:39;;;3446:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3522:2;3508:11;:16;;;;2674:860;;;;;;381:5157;;586:96:6;639:7;665:10;658:17;;586:96;:::o;381:5157:0:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:143:7:-;;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:143::-;;244:6;238:13;229:22;;260:33;287:5;260:33;:::i;:::-;219:80;;;;:::o;305:139::-;;391:6;385:13;376:22;;407:31;432:5;407:31;:::i;:::-;366:78;;;;:::o;450:910::-;;;;;;637:3;625:9;616:7;612:23;608:33;605:2;;;654:1;651;644:12;605:2;697:1;722:64;778:7;769:6;758:9;754:22;722:64;:::i;:::-;712:74;;668:128;835:2;861:64;917:7;908:6;897:9;893:22;861:64;:::i;:::-;851:74;;806:129;974:2;1000:64;1056:7;1047:6;1036:9;1032:22;1000:64;:::i;:::-;990:74;;945:129;1113:2;1139:64;1195:7;1186:6;1175:9;1171:22;1139:64;:::i;:::-;1129:74;;1084:129;1252:3;1279:64;1335:7;1326:6;1315:9;1311:22;1279:64;:::i;:::-;1269:74;;1223:130;595:765;;;;;;;;:::o;1366:280::-;;1483:2;1471:9;1462:7;1458:23;1454:32;1451:2;;;1499:1;1496;1489:12;1451:2;1542:1;1567:62;1621:7;1612:6;1601:9;1597:22;1567:62;:::i;:::-;1557:72;;1513:126;1441:205;;;;:::o;1652:848::-;;;1744:6;1735:15;;1768:5;1759:14;;1782:712;1803:1;1793:8;1790:15;1782:712;;;1898:4;1893:3;1889:14;1883:4;1880:24;1877:2;;;1907:18;;:::i;:::-;1877:2;1957:1;1947:8;1943:16;1940:2;;;2372:4;2365:5;2361:16;2352:25;;1940:2;2422:4;2416;2412:15;2404:23;;2452:32;2475:8;2452:32;:::i;:::-;2440:44;;1782:712;;;1725:775;;;;;;;:::o;2506:285::-;;2590:23;2608:4;2590:23;:::i;:::-;2582:31;;2634:27;2652:8;2634:27;:::i;:::-;2622:39;;2680:104;2717:66;2707:8;2701:4;2680:104;:::i;:::-;2671:113;;2572:219;;;;:::o;2797:1073::-;;3042:8;3032:2;;3063:1;3054:10;;3065:5;;3032:2;3091:4;3081:2;;3108:1;3099:10;;3110:5;;3081:2;3177:4;3225:1;3220:27;;;;3261:1;3256:191;;;;3170:277;;3220:27;3238:1;3229:10;;3240:5;;;3256:191;3301:3;3291:8;3288:17;3285:2;;;3308:18;;:::i;:::-;3285:2;3357:8;3354:1;3350:16;3341:25;;3392:3;3385:5;3382:14;3379:2;;;3399:18;;:::i;:::-;3379:2;3432:5;;;3170:277;;3556:2;3546:8;3543:16;3537:3;3531:4;3528:13;3524:36;3506:2;3496:8;3493:16;3488:2;3482:4;3479:12;3475:35;3459:111;3456:2;;;3612:8;3606:4;3602:19;3593:28;;3647:3;3640:5;3637:14;3634:2;;;3654:18;;:::i;:::-;3634:2;3687:5;;3456:2;3727:42;3765:3;3755:8;3749:4;3746:1;3727:42;:::i;:::-;3712:57;;;;3801:4;3796:3;3792:14;3785:5;3782:25;3779:2;;;3810:18;;:::i;:::-;3779:2;3859:4;3852:5;3848:16;3839:25;;2857:1013;;;;;;:::o;3876:348::-;;3939:20;3957:1;3939:20;:::i;:::-;3934:25;;3973:20;3991:1;3973:20;:::i;:::-;3968:25;;4161:1;4093:66;4089:74;4086:1;4083:81;4078:1;4071:9;4064:17;4060:105;4057:2;;;4168:18;;:::i;:::-;4057:2;4216:1;4213;4209:9;4198:20;;3924:300;;;;:::o;4230:96::-;;4296:24;4314:5;4296:24;:::i;:::-;4285:35;;4275:51;;;:::o;4332:126::-;;4409:42;4402:5;4398:54;4387:65;;4377:81;;;:::o;4464:77::-;;4530:5;4519:16;;4509:32;;;:::o;4547:86::-;;4622:4;4615:5;4611:16;4600:27;;4590:43;;;:::o;4639:320::-;;4720:1;4714:4;4710:12;4700:22;;4767:1;4761:4;4757:12;4788:18;4778:2;;4844:4;4836:6;4832:17;4822:27;;4778:2;4906;4898:6;4895:14;4875:18;4872:38;4869:2;;;4925:18;;:::i;:::-;4869:2;4690:269;;;;:::o;4965:180::-;5013:77;5010:1;5003:88;5110:4;5107:1;5100:15;5134:4;5131:1;5124:15;5151:180;5199:77;5196:1;5189:88;5296:4;5293:1;5286:15;5320:4;5317:1;5310:15;5337:102;;5426:5;5423:1;5419:13;5398:34;;5388:51;;;:::o;5445:122::-;5518:24;5536:5;5518:24;:::i;:::-;5511:5;5508:35;5498:2;;5557:1;5554;5547:12;5498:2;5488:79;:::o;5573:122::-;5646:24;5664:5;5646:24;:::i;:::-;5639:5;5636:35;5626:2;;5685:1;5682;5675:12;5626:2;5616:79;:::o;5701:118::-;5772:22;5788:5;5772:22;:::i;:::-;5765:5;5762:33;5752:2;;5809:1;5806;5799:12;5752:2;5742:77;:::o;381:5157:0:-;;;;;;;", + "deployedSourceMap": "381:5157:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;769:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4154:518;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;954:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1240:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1189:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;1700:145:2;;;;;;;;;;;;;:::i;:::-;;5114:185:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5307:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1068:85:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;724:38:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1495:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4680:426;;;:::i;:::-;;1009:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;828:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1465:23;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;582:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;431:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;644:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;520:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;460:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;882:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3803:343;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1994:240:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1040:25:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3542:253;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;769:52;755:7;808:6;:13;;;;:::i;:::-;769:52;:::o;4154:518::-;4215:7;4224;4246:21;4270:5;4276:7;4270:14;;;;;;;;;;;;;;;;;;;;;;;;;;4246:38;;4311:1;4300:7;:12;:38;;;;4337:1;4316:4;:17;;;:22;4300:38;4297:83;;;4363:1;4366;4355:13;;;;;;;4297:83;4390:11;4412:8;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4404:28;;4390:42;;4443:19;4508:4;:17;;;4494:11;;:31;;;;:::i;:::-;4478:4;:11;;;4466:9;;:23;;;;:::i;:::-;4465:61;;;;:::i;:::-;4443:83;;4570:13;4620:3;4614:2;:9;;;;:::i;:::-;4601:8;;4587:11;:22;;;;:::i;:::-;4586:38;;;;:::i;:::-;4570:54;;4645:11;4658:5;4637:27;;;;;;;;4154:518;;;;:::o;954:48::-;755:7;993:2;:9;;;;:::i;:::-;954:48;:::o;1240:25::-;;;;;;;;;;;;;:::o;1189:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1700:145:2:-;1291:12;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1806:1:::1;1769:40;;1790:6;::::0;::::1;;;;;;;;1769:40;;;;;;;;;;;;1836:1;1819:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1700:145::o:0;5114:185:0:-;1291:12:2;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5177:9:0::1;5199:2;5191:16;;5216:21;5191:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5176:66;;;5261:4;5253:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1350:1:2;5114:185:0::0;:::o;5307:226::-;1291:12:2;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5419:18:0::1;5455:12;5419:49;;5479:3;:12;;;5492:2;5496:3;:13;;;5518:4;5496:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5479:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1350:1:2;5307:226:0::0;;:::o;1068:85:2:-;1114:7;1140:6;;;;;;;;;;;1133:13;;1068:85;:::o;724:38:0:-;755:7;724:38;:::o;1495:26::-;;;;:::o;4680:426::-;2187:9;2199:15;2187:27;;2235:13;;;;;;;;;;;2227:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;2291:7;:19;2299:10;2291:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;2283:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2362:7;:19;2370:10;2362:19;;;;;;;;;;;;;;;:29;;;;;;;;;;;;2361:30;2353:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;2446:1;2432:10;;:15;;:49;;;;;755:7;993:2;:9;;;;:::i;:::-;2456:10;;:25;;;;:::i;:::-;2451:1;:30;;2432:49;2424:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1:3::1;2260:7;;:19;;2252:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1;2390:7;:18;;;;4766:19:0::2;4788:7;:19;4796:10;4788:19;;;;;;;;;;;;;;;4766:41;;4819:14;4835:13:::0;4852:34:::2;4867:3;:18;;;4852:14;:34::i;:::-;4818:68;;;;4914:1;4905:5;:10;;:25;;;;;4929:1;4919:6;:11;;4905:25;4897:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4983:9;4974:5;:18;4966:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;5046:4;5030:3;:13;;;:20;;;;;;;;;;;;;;;;;;5061:8;;;;;;;;;;;:17;;;5079:10;5091:6;5061:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2419:1:3;;;1637::::1;2563:7:::0;:22:::1;;;;4680:426:0::0;:::o;1009:24::-;;;;:::o;828:47::-;755:7;866:2;:9;;;;:::i;:::-;828:47;:::o;1465:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;582:24::-;;;;:::o;431:22::-;;;;;;;;;;;;;:::o;644:23::-;;;;:::o;520:30::-;;;;;;;;;;;;;:::o;460:33::-;;;;;;;;;;;;;:::o;882:65::-;755:7;938:2;:9;;;;:::i;:::-;755:7;866:2;:9;;;;:::i;:::-;924:23;;;;:::i;:::-;882:65;:::o;3803:343::-;1871:9;1883:15;1871:27;;1919:13;;;;;;;;;;;1911:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;1976:7;:19;1984:10;1976:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;1975:33;1967:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;2063:1;2050:9;;:14;;:46;;;;;755:7;866:2;:9;;;;:::i;:::-;2073;;:23;;;;:::i;:::-;2068:1;:28;;2050:46;2042:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3894:7:::1;1591;1586:1;:12;;:28;;;;;1613:1;1602:7;:12;;1586:28;1578:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1647:20;1670:7;;;;;;;;;;;:21;;;1692:10;1670:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1647:56;;1755:12;1722:5;1728:7;1722:14;;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;:45;;1714:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1:3::2;2260:7;;:19;;2252:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1;2390:7;:18;;;;3967:4:0::3;3932:7;:19;3940:10;3932:19;;;;;;;;;;;;;;;:32;;;:39;;;;;;;;;;;;;;;;;;4019:7;3982;:19;3990:10;3982:19;;;;;;;;;;;;;;;:34;;:44;;;;4068:1;4037:5;4043:7;4037:14;;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;:32;;;;;;;:::i;:::-;;;;;;;;4082:7;;;;;;;;;;;:12;;;4095:10;755:7;808:6;:13;;;;:::i;:::-;4107:15;:30;;;;:::i;:::-;4082:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;1637:1:3::2;2563:7:::0;:22:::2;;;;2138:1:0::1;;3803:343:::0;;:::o;1994:240:2:-;1291:12;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2102:1:::1;2082:22;;:8;:22;;;;2074:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2191:8;2162:38;;2183:6;::::0;::::1;;;;;;;;2162:38;;;;;;;;;;;;2219:8;2210:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1994:240:::0;:::o;1040:25:0:-;;;;:::o;3542:253::-;1291:12:2;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2578:13:0::1;;;;;;;;;;;2577:14;2569:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3633:4:::2;3621:9;:16;;;;755:7;938:2;:9;;;;:::i;:::-;755:7;866:2;:9;;;;:::i;:::-;924:23;;;;:::i;:::-;3661:9;;:27;;;;:::i;:::-;3648:10;:40;;;;3744:9;;3707:8;;;;;;;;;;;:18;;;3734:4;3707:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;3699:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;2654:4:::1;2638:13;;:20;;;;;;;;;;;;;;;;;;3542:253:::0;:::o;586:96:6:-;639:7;665:10;658:17;;586:96;:::o;7:139:7:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:137::-;;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;212:77;;;;:::o;295:139::-;;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;347:87;;;;:::o;440:143::-;;528:6;522:13;513:22;;544:33;571:5;544:33;:::i;:::-;503:80;;;;:::o;589:139::-;;675:6;669:13;660:22;;691:31;716:5;691:31;:::i;:::-;650:78;;;;:::o;734:262::-;;842:2;830:9;821:7;817:23;813:32;810:2;;;858:1;855;848:12;810:2;901:1;926:53;971:7;962:6;951:9;947:22;926:53;:::i;:::-;916:63;;872:117;800:196;;;;:::o;1002:407::-;;;1127:2;1115:9;1106:7;1102:23;1098:32;1095:2;;;1143:1;1140;1133:12;1095:2;1186:1;1211:53;1256:7;1247:6;1236:9;1232:22;1211:53;:::i;:::-;1201:63;;1157:117;1313:2;1339:53;1384:7;1375:6;1364:9;1360:22;1339:53;:::i;:::-;1329:63;;1284:118;1085:324;;;;;:::o;1415:278::-;;1531:2;1519:9;1510:7;1506:23;1502:32;1499:2;;;1547:1;1544;1537:12;1499:2;1590:1;1615:61;1668:7;1659:6;1648:9;1644:22;1615:61;:::i;:::-;1605:71;;1561:125;1489:204;;;;:::o;1699:262::-;;1807:2;1795:9;1786:7;1782:23;1778:32;1775:2;;;1823:1;1820;1813:12;1775:2;1866:1;1891:53;1936:7;1927:6;1916:9;1912:22;1891:53;:::i;:::-;1881:63;;1837:117;1765:196;;;;:::o;1967:284::-;;2086:2;2074:9;2065:7;2061:23;2057:32;2054:2;;;2102:1;2099;2092:12;2054:2;2145:1;2170:64;2226:7;2217:6;2206:9;2202:22;2170:64;:::i;:::-;2160:74;;2116:128;2044:207;;;;:::o;2257:280::-;;2374:2;2362:9;2353:7;2349:23;2345:32;2342:2;;;2390:1;2387;2380:12;2342:2;2433:1;2458:62;2512:7;2503:6;2492:9;2488:22;2458:62;:::i;:::-;2448:72;;2404:126;2332:205;;;;:::o;2543:118::-;2630:24;2648:5;2630:24;:::i;:::-;2625:3;2618:37;2608:53;;:::o;2667:109::-;2748:21;2763:5;2748:21;:::i;:::-;2743:3;2736:34;2726:50;;:::o;2782:175::-;2891:59;2944:5;2891:59;:::i;:::-;2886:3;2879:72;2869:88;;:::o;2963:161::-;3065:52;3111:5;3065:52;:::i;:::-;3060:3;3053:65;3043:81;;:::o;3130:364::-;;3246:39;3279:5;3246:39;:::i;:::-;3301:71;3365:6;3360:3;3301:71;:::i;:::-;3294:78;;3381:52;3426:6;3421:3;3414:4;3407:5;3403:16;3381:52;:::i;:::-;3458:29;3480:6;3458:29;:::i;:::-;3453:3;3449:39;3442:46;;3222:272;;;;;:::o;3500:318::-;;3663:67;3727:2;3722:3;3663:67;:::i;:::-;3656:74;;3760:22;3756:1;3751:3;3747:11;3740:43;3809:2;3804:3;3800:12;3793:19;;3646:172;;;:::o;3824:312::-;;3987:67;4051:2;4046:3;3987:67;:::i;:::-;3980:74;;4084:16;4080:1;4075:3;4071:11;4064:37;4127:2;4122:3;4118:12;4111:19;;3970:166;;;:::o;4142:370::-;;4305:67;4369:2;4364:3;4305:67;:::i;:::-;4298:74;;4402:34;4398:1;4393:3;4389:11;4382:55;4468:8;4463:2;4458:3;4454:12;4447:30;4503:2;4498:3;4494:12;4487:19;;4288:224;;;:::o;4518:316::-;;4681:67;4745:2;4740:3;4681:67;:::i;:::-;4674:74;;4778:20;4774:1;4769:3;4765:11;4758:41;4825:2;4820:3;4816:12;4809:19;;4664:170;;;:::o;4840:313::-;;5003:67;5067:2;5062:3;5003:67;:::i;:::-;4996:74;;5100:17;5096:1;5091:3;5087:11;5080:38;5144:2;5139:3;5135:12;5128:19;;4986:167;;;:::o;5159:317::-;;5322:67;5386:2;5381:3;5322:67;:::i;:::-;5315:74;;5419:21;5415:1;5410:3;5406:11;5399:42;5467:2;5462:3;5458:12;5451:19;;5305:171;;;:::o;5482:315::-;;5645:67;5709:2;5704:3;5645:67;:::i;:::-;5638:74;;5742:19;5738:1;5733:3;5729:11;5722:40;5788:2;5783:3;5779:12;5772:19;;5628:169;;;:::o;5803:327::-;;5966:67;6030:2;6025:3;5966:67;:::i;:::-;5959:74;;6063:31;6059:1;6054:3;6050:11;6043:52;6121:2;6116:3;6112:12;6105:19;;5949:181;;;:::o;6136:319::-;;6299:67;6363:2;6358:3;6299:67;:::i;:::-;6292:74;;6396:23;6392:1;6387:3;6383:11;6376:44;6446:2;6441:3;6437:12;6430:19;;6282:173;;;:::o;6461:327::-;;6624:67;6688:2;6683:3;6624:67;:::i;:::-;6617:74;;6721:31;6717:1;6712:3;6708:11;6701:52;6779:2;6774:3;6770:12;6763:19;;6607:181;;;:::o;6794:330::-;;6957:67;7021:2;7016:3;6957:67;:::i;:::-;6950:74;;7054:34;7050:1;7045:3;7041:11;7034:55;7115:2;7110:3;7106:12;7099:19;;6940:184;;;:::o;7130:318::-;;7293:67;7357:2;7352:3;7293:67;:::i;:::-;7286:74;;7390:22;7386:1;7381:3;7377:11;7370:43;7439:2;7434:3;7430:12;7423:19;;7276:172;;;:::o;7454:324::-;;7617:67;7681:2;7676:3;7617:67;:::i;:::-;7610:74;;7714:28;7710:1;7705:3;7701:11;7694:49;7769:2;7764:3;7760:12;7753:19;;7600:178;;;:::o;7784:297::-;;7964:83;8045:1;8040:3;7964:83;:::i;:::-;7957:90;;8073:1;8068:3;8064:11;8057:18;;7947:134;;;:::o;8087:316::-;;8250:67;8314:2;8309:3;8250:67;:::i;:::-;8243:74;;8347:20;8343:1;8338:3;8334:11;8327:41;8394:2;8389:3;8385:12;8378:19;;8233:170;;;:::o;8409:329::-;;8572:67;8636:2;8631:3;8572:67;:::i;:::-;8565:74;;8669:33;8665:1;8660:3;8656:11;8649:54;8729:2;8724:3;8720:12;8713:19;;8555:183;;;:::o;8744:317::-;;8907:67;8971:2;8966:3;8907:67;:::i;:::-;8900:74;;9004:21;9000:1;8995:3;8991:11;8984:42;9052:2;9047:3;9043:12;9036:19;;8890:171;;;:::o;9067:118::-;9154:24;9172:5;9154:24;:::i;:::-;9149:3;9142:37;9132:53;;:::o;9191:379::-;;9397:147;9540:3;9397:147;:::i;:::-;9390:154;;9561:3;9554:10;;9379:191;;;:::o;9576:222::-;;9707:2;9696:9;9692:18;9684:26;;9720:71;9788:1;9777:9;9773:17;9764:6;9720:71;:::i;:::-;9674:124;;;;:::o;9804:332::-;;9963:2;9952:9;9948:18;9940:26;;9976:71;10044:1;10033:9;10029:17;10020:6;9976:71;:::i;:::-;10057:72;10125:2;10114:9;10110:18;10101:6;10057:72;:::i;:::-;9930:206;;;;;:::o;10142:210::-;;10267:2;10256:9;10252:18;10244:26;;10280:65;10342:1;10331:9;10327:17;10318:6;10280:65;:::i;:::-;10234:118;;;;:::o;10358:418::-;;10533:2;10522:9;10518:18;10510:26;;10546:65;10608:1;10597:9;10593:17;10584:6;10546:65;:::i;:::-;10621:72;10689:2;10678:9;10674:18;10665:6;10621:72;:::i;:::-;10703:66;10765:2;10754:9;10750:18;10741:6;10703:66;:::i;:::-;10500:276;;;;;;:::o;10782:266::-;;10935:2;10924:9;10920:18;10912:26;;10948:93;11038:1;11027:9;11023:17;11014:6;10948:93;:::i;:::-;10902:146;;;;:::o;11054:252::-;;11200:2;11189:9;11185:18;11177:26;;11213:86;11296:1;11285:9;11281:17;11272:6;11213:86;:::i;:::-;11167:139;;;;:::o;11312:644::-;;11547:3;11536:9;11532:19;11524:27;;11597:9;11591:4;11587:20;11583:1;11572:9;11568:17;11561:47;11625:78;11698:4;11689:6;11625:78;:::i;:::-;11617:86;;11713:72;11781:2;11770:9;11766:18;11757:6;11713:72;:::i;:::-;11795;11863:2;11852:9;11848:18;11839:6;11795:72;:::i;:::-;11877;11945:2;11934:9;11930:18;11921:6;11877:72;:::i;:::-;11514:442;;;;;;;:::o;11962:419::-;;12166:2;12155:9;12151:18;12143:26;;12215:9;12209:4;12205:20;12201:1;12190:9;12186:17;12179:47;12243:131;12369:4;12243:131;:::i;:::-;12235:139;;12133:248;;;:::o;12387:419::-;;12591:2;12580:9;12576:18;12568:26;;12640:9;12634:4;12630:20;12626:1;12615:9;12611:17;12604:47;12668:131;12794:4;12668:131;:::i;:::-;12660:139;;12558:248;;;:::o;12812:419::-;;13016:2;13005:9;13001:18;12993:26;;13065:9;13059:4;13055:20;13051:1;13040:9;13036:17;13029:47;13093:131;13219:4;13093:131;:::i;:::-;13085:139;;12983:248;;;:::o;13237:419::-;;13441:2;13430:9;13426:18;13418:26;;13490:9;13484:4;13480:20;13476:1;13465:9;13461:17;13454:47;13518:131;13644:4;13518:131;:::i;:::-;13510:139;;13408:248;;;:::o;13662:419::-;;13866:2;13855:9;13851:18;13843:26;;13915:9;13909:4;13905:20;13901:1;13890:9;13886:17;13879:47;13943:131;14069:4;13943:131;:::i;:::-;13935:139;;13833:248;;;:::o;14087:419::-;;14291:2;14280:9;14276:18;14268:26;;14340:9;14334:4;14330:20;14326:1;14315:9;14311:17;14304:47;14368:131;14494:4;14368:131;:::i;:::-;14360:139;;14258:248;;;:::o;14512:419::-;;14716:2;14705:9;14701:18;14693:26;;14765:9;14759:4;14755:20;14751:1;14740:9;14736:17;14729:47;14793:131;14919:4;14793:131;:::i;:::-;14785:139;;14683:248;;;:::o;14937:419::-;;15141:2;15130:9;15126:18;15118:26;;15190:9;15184:4;15180:20;15176:1;15165:9;15161:17;15154:47;15218:131;15344:4;15218:131;:::i;:::-;15210:139;;15108:248;;;:::o;15362:419::-;;15566:2;15555:9;15551:18;15543:26;;15615:9;15609:4;15605:20;15601:1;15590:9;15586:17;15579:47;15643:131;15769:4;15643:131;:::i;:::-;15635:139;;15533:248;;;:::o;15787:419::-;;15991:2;15980:9;15976:18;15968:26;;16040:9;16034:4;16030:20;16026:1;16015:9;16011:17;16004:47;16068:131;16194:4;16068:131;:::i;:::-;16060:139;;15958:248;;;:::o;16212:419::-;;16416:2;16405:9;16401:18;16393:26;;16465:9;16459:4;16455:20;16451:1;16440:9;16436:17;16429:47;16493:131;16619:4;16493:131;:::i;:::-;16485:139;;16383:248;;;:::o;16637:419::-;;16841:2;16830:9;16826:18;16818:26;;16890:9;16884:4;16880:20;16876:1;16865:9;16861:17;16854:47;16918:131;17044:4;16918:131;:::i;:::-;16910:139;;16808:248;;;:::o;17062:419::-;;17266:2;17255:9;17251:18;17243:26;;17315:9;17309:4;17305:20;17301:1;17290:9;17286:17;17279:47;17343:131;17469:4;17343:131;:::i;:::-;17335:139;;17233:248;;;:::o;17487:419::-;;17691:2;17680:9;17676:18;17668:26;;17740:9;17734:4;17730:20;17726:1;17715:9;17711:17;17704:47;17768:131;17894:4;17768:131;:::i;:::-;17760:139;;17658:248;;;:::o;17912:419::-;;18116:2;18105:9;18101:18;18093:26;;18165:9;18159:4;18155:20;18151:1;18140:9;18136:17;18129:47;18193:131;18319:4;18193:131;:::i;:::-;18185:139;;18083:248;;;:::o;18337:419::-;;18541:2;18530:9;18526:18;18518:26;;18590:9;18584:4;18580:20;18576:1;18565:9;18561:17;18554:47;18618:131;18744:4;18618:131;:::i;:::-;18610:139;;18508:248;;;:::o;18762:222::-;;18893:2;18882:9;18878:18;18870:26;;18906:71;18974:1;18963:9;18959:17;18950:6;18906:71;:::i;:::-;18860:124;;;;:::o;18990:332::-;;19149:2;19138:9;19134:18;19126:26;;19162:71;19230:1;19219:9;19215:17;19206:6;19162:71;:::i;:::-;19243:72;19311:2;19300:9;19296:18;19287:6;19243:72;:::i;:::-;19116:206;;;;;:::o;19328:99::-;;19414:5;19408:12;19398:22;;19387:40;;;:::o;19433:147::-;;19571:3;19556:18;;19546:34;;;;:::o;19586:169::-;;19704:6;19699:3;19692:19;19744:4;19739:3;19735:14;19720:29;;19682:73;;;;:::o;19761:305::-;;19820:20;19838:1;19820:20;:::i;:::-;19815:25;;19854:20;19872:1;19854:20;:::i;:::-;19849:25;;20008:1;19940:66;19936:74;19933:1;19930:81;19927:2;;;20014:18;;:::i;:::-;19927:2;20058:1;20055;20051:9;20044:16;;19805:261;;;;:::o;20072:185::-;;20129:20;20147:1;20129:20;:::i;:::-;20124:25;;20163:20;20181:1;20163:20;:::i;:::-;20158:25;;20202:1;20192:2;;20207:18;;:::i;:::-;20192:2;20249:1;20246;20242:9;20237:14;;20114:143;;;;:::o;20263:848::-;;;20355:6;20346:15;;20379:5;20370:14;;20393:712;20414:1;20404:8;20401:15;20393:712;;;20509:4;20504:3;20500:14;20494:4;20491:24;20488:2;;;20518:18;;:::i;:::-;20488:2;20568:1;20558:8;20554:16;20551:2;;;20983:4;20976:5;20972:16;20963:25;;20551:2;21033:4;21027;21023:15;21015:23;;21063:32;21086:8;21063:32;:::i;:::-;21051:44;;20393:712;;;20336:775;;;;;;;:::o;21117:285::-;;21201:23;21219:4;21201:23;:::i;:::-;21193:31;;21245:27;21263:8;21245:27;:::i;:::-;21233:39;;21291:104;21328:66;21318:8;21312:4;21291:104;:::i;:::-;21282:113;;21183:219;;;;:::o;21408:1073::-;;21653:8;21643:2;;21674:1;21665:10;;21676:5;;21643:2;21702:4;21692:2;;21719:1;21710:10;;21721:5;;21692:2;21788:4;21836:1;21831:27;;;;21872:1;21867:191;;;;21781:277;;21831:27;21849:1;21840:10;;21851:5;;;21867:191;21912:3;21902:8;21899:17;21896:2;;;21919:18;;:::i;:::-;21896:2;21968:8;21965:1;21961:16;21952:25;;22003:3;21996:5;21993:14;21990:2;;;22010:18;;:::i;:::-;21990:2;22043:5;;;21781:277;;22167:2;22157:8;22154:16;22148:3;22142:4;22139:13;22135:36;22117:2;22107:8;22104:16;22099:2;22093:4;22090:12;22086:35;22070:111;22067:2;;;22223:8;22217:4;22213:19;22204:28;;22258:3;22251:5;22248:14;22245:2;;;22265:18;;:::i;:::-;22245:2;22298:5;;22067:2;22338:42;22376:3;22366:8;22360:4;22357:1;22338:42;:::i;:::-;22323:57;;;;22412:4;22407:3;22403:14;22396:5;22393:25;22390:2;;;22421:18;;:::i;:::-;22390:2;22470:4;22463:5;22459:16;22450:25;;21468:1013;;;;;;:::o;22487:348::-;;22550:20;22568:1;22550:20;:::i;:::-;22545:25;;22584:20;22602:1;22584:20;:::i;:::-;22579:25;;22772:1;22704:66;22700:74;22697:1;22694:81;22689:1;22682:9;22675:17;22671:105;22668:2;;;22779:18;;:::i;:::-;22668:2;22827:1;22824;22820:9;22809:20;;22535:300;;;;:::o;22841:96::-;;22907:24;22925:5;22907:24;:::i;:::-;22896:35;;22886:51;;;:::o;22943:90::-;;23020:5;23013:13;23006:21;22995:32;;22985:48;;;:::o;23039:126::-;;23116:42;23109:5;23105:54;23094:65;;23084:81;;;:::o;23171:77::-;;23237:5;23226:16;;23216:32;;;:::o;23254:86::-;;23329:4;23322:5;23318:16;23307:27;;23297:43;;;:::o;23346:170::-;;23451:59;23504:5;23451:59;:::i;:::-;23438:72;;23428:88;;;:::o;23522:135::-;;23627:24;23645:5;23627:24;:::i;:::-;23614:37;;23604:53;;;:::o;23663:156::-;;23761:52;23807:5;23761:52;:::i;:::-;23748:65;;23738:81;;;:::o;23825:128::-;;23923:24;23941:5;23923:24;:::i;:::-;23910:37;;23900:53;;;:::o;23959:307::-;24027:1;24037:113;24051:6;24048:1;24045:13;24037:113;;;24136:1;24131:3;24127:11;24121:18;24117:1;24112:3;24108:11;24101:39;24073:2;24070:1;24066:10;24061:15;;24037:113;;;24168:6;24165:1;24162:13;24159:2;;;24248:1;24239:6;24234:3;24230:16;24223:27;24159:2;24008:258;;;;:::o;24272:320::-;;24353:1;24347:4;24343:12;24333:22;;24400:1;24394:4;24390:12;24421:18;24411:2;;24477:4;24469:6;24465:17;24455:27;;24411:2;24539;24531:6;24528:14;24508:18;24505:38;24502:2;;;24558:18;;:::i;:::-;24502:2;24323:269;;;;:::o;24598:180::-;24646:77;24643:1;24636:88;24743:4;24740:1;24733:15;24767:4;24764:1;24757:15;24784:180;24832:77;24829:1;24822:88;24929:4;24926:1;24919:15;24953:4;24950:1;24943:15;24970:180;25018:77;25015:1;25008:88;25115:4;25112:1;25105:15;25139:4;25136:1;25129:15;25156:102;;25248:2;25244:7;25239:2;25232:5;25228:14;25224:28;25214:38;;25204:54;;;:::o;25264:102::-;;25353:5;25350:1;25346:13;25325:34;;25315:51;;;:::o;25372:122::-;25445:24;25463:5;25445:24;:::i;:::-;25438:5;25435:35;25425:2;;25484:1;25481;25474:12;25425:2;25415:79;:::o;25500:116::-;25570:21;25585:5;25570:21;:::i;:::-;25563:5;25560:32;25550:2;;25606:1;25603;25596:12;25550:2;25540:76;:::o;25622:122::-;25695:24;25713:5;25695:24;:::i;:::-;25688:5;25685:35;25675:2;;25734:1;25731;25724:12;25675:2;25665:79;:::o;25750:118::-;25821:22;25837:5;25821:22;:::i;:::-;25814:5;25811:33;25801:2;;25858:1;25855;25848:12;25801:2;25791:77;:::o", + "source": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.0;\r\n\r\nimport './../interfaces/IStaker.sol';\r\nimport \"openzeppelin-solidity/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\r\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\r\nimport \"openzeppelin-solidity/contracts/utils/Context.sol\";\r\nimport \"openzeppelin-solidity/contracts/security/ReentrancyGuard.sol\";\r\n\r\ncontract IDO is Ownable, ReentrancyGuard {\r\n\r\n IStaker public iStaker;\r\n IERC20Metadata public nativeToken; // The token staked\r\n IERC20Metadata public idoToken; // The token sale in iDO\r\n uint256 public idoAmount; // Amount of Tokens to be Sold\r\n uint256 public idoPrice; // Price of 1 Tokens in Wei\r\n\r\n // Time Stamps\r\n uint256 public constant unit = 1 hours;\r\n uint256 public constant lockDuration = 7 * 24 * unit;\r\n uint256 public constant regDuration = 48 * unit;\r\n uint256 public constant saleStartsAfter = regDuration + 24 * unit;\r\n uint256 public constant saleDuration = 12 * unit;\r\n uint256 public regStarts;\r\n uint256 public saleStarts;\r\n\r\n struct UserLog {\r\n bool isRegistered;\r\n uint256 registeredPool;\r\n bool purchased;\r\n }\r\n mapping(address => UserLog) public userlog;\r\n\r\n bool public isInitialized;\r\n\r\n struct PoolInfo {\r\n string name;\r\n uint256 minNativeToken; // min token required to particitate in the pool\r\n uint256 weight;\r\n uint256 participants;\r\n } \r\n PoolInfo[] public pools;\r\n uint256 public totalWeight;\r\n\r\n modifier verifyPool(uint256 _poolNo) {\r\n require(1 <= _poolNo && _poolNo <= 5, \"invalid Pool no\");\r\n\r\n uint256 stakedAmount = iStaker.stakedBalance(msg.sender);\r\n require(pools[_poolNo].minNativeToken <= stakedAmount, \"Can't Participate in the Pool\");\r\n\r\n _;\r\n }\r\n\r\n modifier validRegistration() {\r\n uint256 t = block.timestamp;\r\n\r\n require(isInitialized, \"Not Initialized Yet\");\r\n require(!userlog[msg.sender].isRegistered, \"Already registered\");\r\n require(regStarts <= t && t <= regStarts + regDuration, \"Not in Registration Period\");\r\n _;\r\n }\r\n\r\n modifier validSale() {\r\n uint256 t = block.timestamp;\r\n\r\n require(isInitialized, \"Not Initialized Yet\");\r\n require(userlog[msg.sender].isRegistered, \"Not registered\");\r\n require(!userlog[msg.sender].purchased, \"Already Purchased\");\r\n require(saleStarts <= t && t <= saleStarts + saleDuration, \"Not in Sale Period\");\r\n _;\r\n }\r\n\r\n modifier notInitialized() {\r\n require(!isInitialized, \"Already Initialized\");\r\n _;\r\n isInitialized = true;\r\n }\r\n\r\n constructor (\r\n address _stakerAddress,\r\n address _nativeTokenAddress,\r\n address _idoTokenAddress,\r\n uint256 _idoAmount,\r\n uint256 _price\r\n ) {\r\n \r\n iStaker = IStaker(_stakerAddress);\r\n nativeToken = IERC20Metadata(_nativeTokenAddress);\r\n idoToken = IERC20Metadata(_idoTokenAddress);\r\n idoAmount = _idoAmount;\r\n idoPrice = _price;\r\n\r\n uint256 dec = uint256(nativeToken.decimals());\r\n pools.push(PoolInfo(\"Null\", 0, 0, 0));\r\n pools.push(PoolInfo(\"Knight\", 100 * 10**dec, 2, 0));\r\n pools.push(PoolInfo(\"Bishop\", 500 * 10**dec, 3, 0));\r\n pools.push(PoolInfo(\"Rook\", 1000 * 10**dec, 4, 0));\r\n pools.push(PoolInfo(\"King\", 2000 * 10**dec, 5, 0));\r\n pools.push(PoolInfo(\"Queen\", 4000 * 10**dec, 6, 0));\r\n totalWeight = 20;\r\n\r\n }\r\n\r\n function initialize(uint256 time) external onlyOwner notInitialized {\r\n regStarts = time;\r\n saleStarts = regStarts + saleStartsAfter;\r\n require(idoToken.balanceOf(address(this)) >= idoAmount, \"Not Enough Tokens In Contract\");\r\n }\r\n\r\n function register(uint256 _poolNo) \r\n external \r\n validRegistration \r\n verifyPool(_poolNo)\r\n nonReentrant {\r\n userlog[msg.sender].isRegistered = true;\r\n userlog[msg.sender].registeredPool = _poolNo;\r\n pools[_poolNo].participants += 1;\r\n\r\n iStaker.lock(msg.sender, block.timestamp + lockDuration);\r\n }\r\n\r\n function tokensAndPrice(uint256 _poolNo) public view returns(uint256, uint256) {\r\n\r\n PoolInfo storage pool = pools[_poolNo];\r\n\r\n if(_poolNo == 0 || pool.participants == 0) {\r\n return (0, 0);\r\n }\r\n uint256 dec = uint256(idoToken.decimals());\r\n uint256 tokenAmount = (idoAmount * pool.weight) / (totalWeight * pool.participants); // Token Amount per Participants\r\n uint256 price = (tokenAmount * idoPrice) / (10 ** dec);\r\n\r\n return (tokenAmount, price);\r\n }\r\n\r\n function buyNow() external \r\n payable \r\n validSale\r\n nonReentrant {\r\n UserLog storage usr = userlog[msg.sender];\r\n (uint256 amount, uint256 price) = tokensAndPrice(usr.registeredPool);\r\n require(price != 0 && amount != 0, \"Values Can't Be Zero\");\r\n require(price == msg.value, \"Not Valid Eth Amount\");\r\n\r\n usr.purchased = true;\r\n idoToken.transfer(msg.sender, amount);\r\n }\r\n\r\n function recoverEth(address to) external onlyOwner {\r\n (bool sent,) = address(to).call{value : address(this).balance}(\"\");\r\n require(sent, 'Unable To Recover Eth');\r\n }\r\n\r\n function recoverERC20(\r\n address tokenAddress, \r\n address to\r\n ) external onlyOwner {\r\n IERC20Metadata tok = IERC20Metadata(tokenAddress);\r\n tok.transfer(to, tok.balanceOf(address(this)));\r\n }\r\n\r\n}", + "sourcePath": "C:/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol", + "ast": { + "absolutePath": "/C/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol", + "exportedSymbols": { + "Context": [ + 922 + ], + "IDO": [ + 622 + ], + "IERC20": [ + 874 + ], + "IERC20Metadata": [ + 899 + ], + "IStaker": [ + 646 + ], + "Ownable": [ + 756 + ], + "ReentrancyGuard": [ + 796 ] }, - "id": 551, + "id": 623, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -14660,8 +15742,8 @@ "file": "./../interfaces/IStaker.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 965, + "scope": 623, + "sourceUnit": 647, "src": "60:37:0", "symbolAliases": [], "unitAlias": "" @@ -14671,8 +15753,8 @@ "file": "openzeppelin-solidity/contracts/token/ERC20/extensions/IERC20Metadata.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 1725, + "scope": 623, + "sourceUnit": 900, "src": "99:83:0", "symbolAliases": [], "unitAlias": "" @@ -14682,8 +15764,8 @@ "file": "openzeppelin-solidity/contracts/access/Ownable.sol", "id": 4, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 1075, + "scope": 623, + "sourceUnit": 757, "src": "184:60:0", "symbolAliases": [], "unitAlias": "" @@ -14693,8 +15775,8 @@ "file": "openzeppelin-solidity/contracts/utils/Context.sol", "id": 5, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 2044, + "scope": 623, + "sourceUnit": 923, "src": "246:59:0", "symbolAliases": [], "unitAlias": "" @@ -14704,8 +15786,8 @@ "file": "openzeppelin-solidity/contracts/security/ReentrancyGuard.sol", "id": 6, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 1115, + "scope": 623, + "sourceUnit": 797, "src": "307:70:0", "symbolAliases": [], "unitAlias": "" @@ -14718,7 +15800,7 @@ "id": 7, "name": "Ownable", "nodeType": "IdentifierPath", - "referencedDeclaration": 1074, + "referencedDeclaration": 756, "src": "397:7:0" }, "id": 8, @@ -14730,7 +15812,7 @@ "id": 9, "name": "ReentrancyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 1114, + "referencedDeclaration": 796, "src": "406:15:0" }, "id": 10, @@ -14739,18 +15821,18 @@ } ], "contractDependencies": [ - 1074, - 1114, - 2043 + 756, + 796, + 922 ], "contractKind": "contract", "fullyImplemented": true, - "id": 550, + "id": 622, "linearizedBaseContracts": [ - 550, - 1114, - 1074, - 2043 + 622, + 796, + 756, + 922 ], "name": "IDO", "nodeType": "ContractDefinition", @@ -14762,12 +15844,12 @@ "mutability": "mutable", "name": "iStaker", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "431:22:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" }, "typeName": { @@ -14777,13 +15859,13 @@ "id": 11, "name": "IStaker", "nodeType": "IdentifierPath", - "referencedDeclaration": 964, + "referencedDeclaration": 646, "src": "431:7:0" }, - "referencedDeclaration": 964, + "referencedDeclaration": 646, "src": "431:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, @@ -14796,12 +15878,12 @@ "mutability": "mutable", "name": "nativeToken", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "460:33:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" }, "typeName": { @@ -14811,13 +15893,13 @@ "id": 14, "name": "IERC20Metadata", "nodeType": "IdentifierPath", - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "460:14:0" }, - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "460:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -14830,12 +15912,12 @@ "mutability": "mutable", "name": "idoToken", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "520:30:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" }, "typeName": { @@ -14845,13 +15927,13 @@ "id": 17, "name": "IERC20Metadata", "nodeType": "IdentifierPath", - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "520:14:0" }, - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "520:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -14864,7 +15946,7 @@ "mutability": "mutable", "name": "idoAmount", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "582:24:0", "stateVariable": true, "storageLocation": "default", @@ -14891,7 +15973,7 @@ "mutability": "mutable", "name": "idoPrice", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "644:23:0", "stateVariable": true, "storageLocation": "default", @@ -14918,7 +16000,7 @@ "mutability": "constant", "name": "unit", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "724:38:0", "stateVariable": true, "storageLocation": "default", @@ -14962,7 +16044,7 @@ "mutability": "constant", "name": "lockDuration", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "769:52:0", "stateVariable": true, "storageLocation": "default", @@ -15069,7 +16151,7 @@ "mutability": "constant", "name": "regDuration", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "828:47:0", "stateVariable": true, "storageLocation": "default", @@ -15142,7 +16224,7 @@ "mutability": "constant", "name": "saleStartsAfter", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "882:65:0", "stateVariable": true, "storageLocation": "default", @@ -15245,7 +16327,7 @@ "mutability": "constant", "name": "saleDuration", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "954:48:0", "stateVariable": true, "storageLocation": "default", @@ -15318,7 +16400,7 @@ "mutability": "mutable", "name": "regStarts", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1009:24:0", "stateVariable": true, "storageLocation": "default", @@ -15345,7 +16427,7 @@ "mutability": "mutable", "name": "saleStarts", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1040:25:0", "stateVariable": true, "storageLocation": "default", @@ -15450,7 +16532,7 @@ ], "name": "UserLog", "nodeType": "StructDefinition", - "scope": 550, + "scope": 622, "src": "1074:109:0", "visibility": "public" }, @@ -15461,7 +16543,7 @@ "mutability": "mutable", "name": "userlog", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1189:42:0", "stateVariable": true, "storageLocation": "default", @@ -15514,7 +16596,7 @@ "mutability": "mutable", "name": "isInitialized", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1240:25:0", "stateVariable": true, "storageLocation": "default", @@ -15645,7 +16727,7 @@ ], "name": "PoolInfo", "nodeType": "StructDefinition", - "scope": 550, + "scope": 622, "src": "1274:184:0", "visibility": "public" }, @@ -15656,7 +16738,7 @@ "mutability": "mutable", "name": "pools", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1465:23:0", "stateVariable": true, "storageLocation": "default", @@ -15699,7 +16781,7 @@ "mutability": "mutable", "name": "totalWeight", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1495:26:0", "stateVariable": true, "storageLocation": "default", @@ -15976,7 +17058,7 @@ "referencedDeclaration": 13, "src": "1670:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, @@ -15987,7 +17069,7 @@ "lValueRequested": false, "memberName": "stakedBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 949, + "referencedDeclaration": 631, "src": "1670:21:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -17530,7 +18612,7 @@ "referencedDeclaration": 13, "src": "2875:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, @@ -17562,10 +18644,10 @@ "name": "IStaker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, + "referencedDeclaration": 646, "src": "2885:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStaker_$964_$", + "typeIdentifier": "t_type$_t_contract$_IStaker_$646_$", "typeString": "type(contract IStaker)" } }, @@ -17580,13 +18662,13 @@ "src": "2885:23:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, "src": "2875:33:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, @@ -17609,7 +18691,7 @@ "referencedDeclaration": 16, "src": "2919:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -17641,10 +18723,10 @@ "name": "IERC20Metadata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "2933:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$1724_$", + "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$899_$", "typeString": "type(contract IERC20Metadata)" } }, @@ -17659,13 +18741,13 @@ "src": "2933:35:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, "src": "2919:49:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -17688,7 +18770,7 @@ "referencedDeclaration": 19, "src": "2979:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -17720,10 +18802,10 @@ "name": "IERC20Metadata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "2990:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$1724_$", + "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$899_$", "typeString": "type(contract IERC20Metadata)" } }, @@ -17738,13 +18820,13 @@ "src": "2990:32:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, "src": "2979:43:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -17885,7 +18967,7 @@ "referencedDeclaration": 16, "src": "3118:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -17896,7 +18978,7 @@ "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1723, + "referencedDeclaration": 898, "src": "3118:20:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", @@ -18718,7 +19800,238 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3371:1:0", + "src": "3371:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_254e2e61d684f556d49f8ffa50450c7cedfd6749b28e062a853bd1a498dfec54", + "typeString": "literal_string \"Rook\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 307, + "name": "PoolInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "3335:8:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PoolInfo_$77_storage_ptr_$", + "typeString": "type(struct IDO.PoolInfo storage pointer)" + } + }, + "id": 316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3335:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PoolInfo_$77_memory_ptr", + "typeString": "struct IDO.PoolInfo memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PoolInfo_$77_memory_ptr", + "typeString": "struct IDO.PoolInfo memory" + } + ], + "expression": { + "id": 304, + "name": "pools", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "3324:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", + "typeString": "struct IDO.PoolInfo storage ref[] storage ref" + } + }, + "id": 306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "3324:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_PoolInfo_$77_storage_$returns$__$", + "typeString": "function (struct IDO.PoolInfo storage ref)" + } + }, + "id": 317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3324:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 318, + "nodeType": "ExpressionStatement", + "src": "3324:50:0" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "4b696e67", + "id": 323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3405:6:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5bae99b750447a0001dc582a3661e26d1ff0338f074d54b49b28b9157fd7db63", + "typeString": "literal_string \"King\"" + }, + "value": "King" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32303030", + "id": 324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3413:4:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000_by_1", + "typeString": "int_const 2000" + }, + "value": "2000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3420:2:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "id": 326, + "name": "dec", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 255, + "src": "3424:3:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3420:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3413:14:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "35", + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3429:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + { + "hexValue": "30", + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3432:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -18729,34 +20042,34 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_254e2e61d684f556d49f8ffa50450c7cedfd6749b28e062a853bd1a498dfec54", - "typeString": "literal_string \"Rook\"" + "typeIdentifier": "t_stringliteral_5bae99b750447a0001dc582a3661e26d1ff0338f074d54b49b28b9157fd7db63", + "typeString": "literal_string \"King\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" }, { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], - "id": 307, + "id": 322, "name": "PoolInfo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "3335:8:0", + "src": "3396:8:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_PoolInfo_$77_storage_ptr_$", "typeString": "type(struct IDO.PoolInfo storage pointer)" } }, - "id": 316, + "id": 331, "isConstant": false, "isLValue": false, "isPure": false, @@ -18764,7 +20077,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3335:38:0", + "src": "3396:38:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_PoolInfo_$77_memory_ptr", @@ -18780,31 +20093,31 @@ } ], "expression": { - "id": 304, + "id": 319, "name": "pools", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3324:5:0", + "src": "3385:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", "typeString": "struct IDO.PoolInfo storage ref[] storage ref" } }, - "id": 306, + "id": 321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", - "src": "3324:10:0", + "src": "3385:10:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_PoolInfo_$77_storage_$returns$__$", "typeString": "function (struct IDO.PoolInfo storage ref)" } }, - "id": 317, + "id": 332, "isConstant": false, "isLValue": false, "isPure": false, @@ -18812,16 +20125,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3324:50:0", + "src": "3385:50:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 318, + "id": 333, "nodeType": "ExpressionStatement", - "src": "3324:50:0" + "src": "3385:50:0" }, { "expression": { @@ -18829,46 +20142,46 @@ { "arguments": [ { - "hexValue": "4b696e67", - "id": 323, + "hexValue": "517565656e", + "id": 338, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3405:6:0", + "src": "3466:7:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5bae99b750447a0001dc582a3661e26d1ff0338f074d54b49b28b9157fd7db63", - "typeString": "literal_string \"King\"" + "typeIdentifier": "t_stringliteral_0a074de4f05fb0f6af7b4aa33f28413b38f65ab78085e2590083ee85d3c0965b", + "typeString": "literal_string \"Queen\"" }, - "value": "King" + "value": "Queen" }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 328, + "id": 343, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "hexValue": "32303030", - "id": 324, + "hexValue": "34303030", + "id": 339, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3413:4:0", + "src": "3475:4:0", "typeDescriptions": { - "typeIdentifier": "t_rational_2000_by_1", - "typeString": "int_const 2000" + "typeIdentifier": "t_rational_4000_by_1", + "typeString": "int_const 4000" }, - "value": "2000" + "value": "4000" }, "nodeType": "BinaryOperation", "operator": "*", @@ -18877,21 +20190,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 327, + "id": 342, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3130", - "id": 325, + "id": 340, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3420:2:0", + "src": "3482:2:0", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -18901,55 +20214,55 @@ "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { - "id": 326, + "id": 341, "name": "dec", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 255, - "src": "3424:3:0", + "src": "3486:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3420:7:0", + "src": "3482:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3413:14:0", + "src": "3475:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "hexValue": "35", - "id": 329, + "hexValue": "36", + "id": 344, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3429:1:0", + "src": "3491:1:0", "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" }, - "value": "5" + "value": "6" }, { "hexValue": "30", - "id": 330, + "id": 345, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3432:1:0", + "src": "3494:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -18960,34 +20273,34 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_5bae99b750447a0001dc582a3661e26d1ff0338f074d54b49b28b9157fd7db63", - "typeString": "literal_string \"King\"" + "typeIdentifier": "t_stringliteral_0a074de4f05fb0f6af7b4aa33f28413b38f65ab78085e2590083ee85d3c0965b", + "typeString": "literal_string \"Queen\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" }, { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], - "id": 322, + "id": 337, "name": "PoolInfo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "3396:8:0", + "src": "3457:8:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_PoolInfo_$77_storage_ptr_$", "typeString": "type(struct IDO.PoolInfo storage pointer)" } }, - "id": 331, + "id": 346, "isConstant": false, "isLValue": false, "isPure": false, @@ -18995,7 +20308,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3396:38:0", + "src": "3457:39:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_PoolInfo_$77_memory_ptr", @@ -19011,454 +20324,625 @@ } ], "expression": { - "id": 319, + "id": 334, "name": "pools", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3385:5:0", + "src": "3446:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", "typeString": "struct IDO.PoolInfo storage ref[] storage ref" } }, - "id": 321, + "id": 336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", - "src": "3385:10:0", + "src": "3446:10:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_PoolInfo_$77_storage_$returns$__$", "typeString": "function (struct IDO.PoolInfo storage ref)" } }, - "id": 332, + "id": 347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3446:51:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 348, + "nodeType": "ExpressionStatement", + "src": "3446:51:0" + }, + { + "expression": { + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 349, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "3508:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3230", + "id": 350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3522:2:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "3508:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 352, + "nodeType": "ExpressionStatement", + "src": "3508:16:0" + } + ] + }, + "id": 354, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 217, + "mutability": "mutable", + "name": "_stakerAddress", + "nodeType": "VariableDeclaration", + "scope": 354, + "src": "2697:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2697:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 219, + "mutability": "mutable", + "name": "_nativeTokenAddress", + "nodeType": "VariableDeclaration", + "scope": 354, + "src": "2730:27:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2730:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 221, + "mutability": "mutable", + "name": "_idoTokenAddress", + "nodeType": "VariableDeclaration", + "scope": 354, + "src": "2768:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2768:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 223, + "mutability": "mutable", + "name": "_idoAmount", + "nodeType": "VariableDeclaration", + "scope": 354, + "src": "2803:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 222, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2803:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 225, + "mutability": "mutable", + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 354, + "src": "2832:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 224, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2832:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2686:167:0" + }, + "returnParameters": { + "id": 227, + "nodeType": "ParameterList", + "parameters": [], + "src": "2854:0:0" + }, + "scope": 622, + "src": "2674:860:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 386, + "nodeType": "Block", + "src": "3610:185:0", + "statements": [ + { + "expression": { + "id": 365, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3385:50:0", - "tryCall": false, + "leftHandSide": { + "id": 363, + "name": "regStarts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 52, + "src": "3621:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 364, + "name": "time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 356, + "src": "3633:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3621:16:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 333, + "id": 366, "nodeType": "ExpressionStatement", - "src": "3385:50:0" + "src": "3621:16:0" }, { "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "517565656e", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3466:7:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0a074de4f05fb0f6af7b4aa33f28413b38f65ab78085e2590083ee85d3c0965b", - "typeString": "literal_string \"Queen\"" - }, - "value": "Queen" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "34303030", - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3475:4:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_4000_by_1", - "typeString": "int_const 4000" - }, - "value": "4000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 340, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 367, + "name": "saleStarts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "3648:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 368, + "name": "regStarts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 52, + "src": "3661:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 369, + "name": "saleStartsAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "3673:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3661:27:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3648:40:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 372, + "nodeType": "ExpressionStatement", + "src": "3648:40:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 378, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "3734:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + ], + "id": 377, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "3482:2:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "3726:7:0", "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 341, - "name": "dec", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "3486:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeName": { + "id": 376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3726:7:0", + "typeDescriptions": {} } }, - "src": "3482:7:0", + "id": 379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3726:13:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "src": "3475:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - }, - { - "hexValue": "36", - "id": 344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3491:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 374, + "name": "idoToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "3707:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" + } }, - "value": "6" - }, - { - "hexValue": "30", - "id": 345, + "id": 375, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "3494:1:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 813, + "src": "3707:18:0", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_0a074de4f05fb0f6af7b4aa33f28413b38f65ab78085e2590083ee85d3c0965b", - "typeString": "literal_string \"Queen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" } - ], - "id": 337, - "name": "PoolInfo", + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3707:33:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 381, + "name": "idoAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "3457:8:0", + "referencedDeclaration": 21, + "src": "3744:9:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PoolInfo_$77_storage_ptr_$", - "typeString": "type(struct IDO.PoolInfo storage pointer)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 346, + "src": "3707:46:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420456e6f75676820546f6b656e7320496e20436f6e7472616374", + "id": 383, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", + "isPure": true, + "kind": "string", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3457:39:0", - "tryCall": false, + "nodeType": "Literal", + "src": "3755:31:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_memory_ptr", - "typeString": "struct IDO.PoolInfo memory" - } + "typeIdentifier": "t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c", + "typeString": "literal_string \"Not Enough Tokens In Contract\"" + }, + "value": "Not Enough Tokens In Contract" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_PoolInfo_$77_memory_ptr", - "typeString": "struct IDO.PoolInfo memory" + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c", + "typeString": "literal_string \"Not Enough Tokens In Contract\"" } ], - "expression": { - "id": 334, - "name": "pools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "3446:5:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", - "typeString": "struct IDO.PoolInfo storage ref[] storage ref" - } - }, - "id": 336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "3446:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_PoolInfo_$77_storage_$returns$__$", - "typeString": "function (struct IDO.PoolInfo storage ref)" - } - }, - "id": 347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3446:51:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 348, - "nodeType": "ExpressionStatement", - "src": "3446:51:0" - }, - { - "expression": { - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 349, - "name": "totalWeight", + "id": 373, + "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "3508:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "3230", - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:2:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3699:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } }, - "src": "3508:16:0", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3699:88:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 352, + "id": 385, "nodeType": "ExpressionStatement", - "src": "3508:16:0" + "src": "3699:88:0" } ] }, - "id": 354, + "functionSelector": "fe4b84df", + "id": 387, "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", + "kind": "function", + "modifiers": [ + { + "id": 359, + "modifierName": { + "id": 358, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 705, + "src": "3585:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "3585:9:0" + }, + { + "id": 361, + "modifierName": { + "id": 360, + "name": "notInitialized", + "nodeType": "IdentifierPath", + "referencedDeclaration": 215, + "src": "3595:14:0" + }, + "nodeType": "ModifierInvocation", + "src": "3595:14:0" + } + ], + "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 226, + "id": 357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 217, - "mutability": "mutable", - "name": "_stakerAddress", - "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2697:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 216, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2697:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 219, - "mutability": "mutable", - "name": "_nativeTokenAddress", - "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2730:27:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2730:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 221, - "mutability": "mutable", - "name": "_idoTokenAddress", - "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2768:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 220, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2768:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 223, - "mutability": "mutable", - "name": "_idoAmount", - "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2803:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 222, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2803:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 225, + "id": 356, "mutability": "mutable", - "name": "_price", + "name": "time", "nodeType": "VariableDeclaration", - "scope": 354, - "src": "2832:14:0", + "scope": 387, + "src": "3562:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19466,10 +20950,10 @@ "typeString": "uint256" }, "typeName": { - "id": 224, + "id": 355, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2832:7:0", + "src": "3562:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19478,40 +20962,195 @@ "visibility": "internal" } ], - "src": "2686:167:0" + "src": "3561:14:0" }, "returnParameters": { - "id": 227, + "id": 362, "nodeType": "ParameterList", "parameters": [], - "src": "2854:0:0" + "src": "3610:0:0" }, - "scope": 550, - "src": "2674:860:0", + "scope": 622, + "src": "3542:253:0", "stateMutability": "nonpayable", "virtual": false, - "visibility": "public" + "visibility": "external" }, { "body": { - "id": 373, + "id": 433, "nodeType": "Block", - "src": "3610:86:0", + "src": "3921:225:0", "statements": [ { "expression": { - "id": 365, + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 399, + "name": "userlog", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3932:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", + "typeString": "mapping(address => struct IDO.UserLog storage ref)" + } + }, + "id": 402, + "indexExpression": { + "expression": { + "id": 400, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3940:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3940:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3932:19:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserLog_$61_storage", + "typeString": "struct IDO.UserLog storage ref" + } + }, + "id": 403, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 56, + "src": "3932:32:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3967:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3932:39:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 406, + "nodeType": "ExpressionStatement", + "src": "3932:39:0" + }, + { + "expression": { + "id": 413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 363, - "name": "regStarts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "3621:9:0", + "expression": { + "baseExpression": { + "id": 407, + "name": "userlog", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "3982:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", + "typeString": "mapping(address => struct IDO.UserLog storage ref)" + } + }, + "id": 410, + "indexExpression": { + "expression": { + "id": 408, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3990:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3990:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3982:19:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserLog_$61_storage", + "typeString": "struct IDO.UserLog storage ref" + } + }, + "id": 411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "registeredPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "3982:34:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19520,146 +21159,328 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 364, - "name": "time", + "id": 412, + "name": "_poolNo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 356, - "src": "3633:4:0", + "referencedDeclaration": 389, + "src": "4019:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3621:16:0", + "src": "3982:44:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 366, + "id": 414, "nodeType": "ExpressionStatement", - "src": "3621:16:0" + "src": "3982:44:0" }, { "expression": { - "id": 371, + "id": 420, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 367, - "name": "saleStarts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "3648:10:0", + "expression": { + "baseExpression": { + "id": 415, + "name": "pools", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4037:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", + "typeString": "struct IDO.PoolInfo storage ref[] storage ref" + } + }, + "id": 417, + "indexExpression": { + "id": 416, + "name": "_poolNo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "4043:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4037:14:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PoolInfo_$77_storage", + "typeString": "struct IDO.PoolInfo storage ref" + } + }, + "id": 418, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "participants", + "nodeType": "MemberAccess", + "referencedDeclaration": 76, + "src": "4037:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", - "operator": "=", + "operator": "+=", "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 370, + "hexValue": "31", + "id": 419, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "id": 368, - "name": "regStarts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "3661:9:0", + "nodeType": "Literal", + "src": "4068:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4037:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 421, + "nodeType": "ExpressionStatement", + "src": "4037:32:0" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 425, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4095:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4095:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 427, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "4107:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4107:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 429, + "name": "lockDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "4125:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4107:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 369, - "name": "saleStartsAfter", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 422, + "name": "iStaker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 45, - "src": "3673:15:0", + "referencedDeclaration": 13, + "src": "4082:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IStaker_$646", + "typeString": "contract IStaker" } }, - "src": "3661:27:0", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lock", + "nodeType": "MemberAccess", + "referencedDeclaration": 645, + "src": "4082:12:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" } }, - "src": "3648:40:0", + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4082:56:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 372, + "id": 432, "nodeType": "ExpressionStatement", - "src": "3648:40:0" + "src": "4082:56:0" } ] }, - "functionSelector": "fe4b84df", - "id": 374, + "functionSelector": "f207564e", + "id": 434, "implemented": true, "kind": "function", "modifiers": [ { - "id": 359, + "id": 392, "modifierName": { - "id": 358, - "name": "onlyOwner", + "id": 391, + "name": "validRegistration", "nodeType": "IdentifierPath", - "referencedDeclaration": 1023, - "src": "3585:9:0" + "referencedDeclaration": 155, + "src": "3859:17:0" }, "nodeType": "ModifierInvocation", - "src": "3585:9:0" + "src": "3859:17:0" }, { - "id": 361, + "arguments": [ + { + "id": 394, + "name": "_poolNo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "3894:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 395, "modifierName": { - "id": 360, - "name": "notInitialized", + "id": 393, + "name": "verifyPool", "nodeType": "IdentifierPath", - "referencedDeclaration": 215, - "src": "3595:14:0" + "referencedDeclaration": 118, + "src": "3883:10:0" }, "nodeType": "ModifierInvocation", - "src": "3595:14:0" + "src": "3883:19:0" + }, + { + "id": 397, + "modifierName": { + "id": 396, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 795, + "src": "3908:12:0" + }, + "nodeType": "ModifierInvocation", + "src": "3908:12:0" } ], - "name": "initialize", + "name": "register", "nodeType": "FunctionDefinition", "parameters": { - "id": 357, + "id": 390, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 356, + "id": 389, "mutability": "mutable", - "name": "time", + "name": "_poolNo", "nodeType": "VariableDeclaration", - "scope": 374, - "src": "3562:12:0", + "scope": 434, + "src": "3821:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19667,10 +21488,10 @@ "typeString": "uint256" }, "typeName": { - "id": 355, + "id": 388, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3562:7:0", + "src": "3821:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19679,973 +21500,1063 @@ "visibility": "internal" } ], - "src": "3561:14:0" + "src": "3820:17:0" }, "returnParameters": { - "id": 362, + "id": 398, "nodeType": "ParameterList", "parameters": [], - "src": "3610:0:0" + "src": "3921:0:0" }, - "scope": 550, - "src": "3542:154:0", + "scope": 622, + "src": "3803:343:0", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 420, + "id": 503, "nodeType": "Block", - "src": "3822:225:0", + "src": "4233:439:0", "statements": [ { - "expression": { - "id": 392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 386, - "name": "userlog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3833:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", - "typeString": "mapping(address => struct IDO.UserLog storage ref)" - } - }, - "id": 389, - "indexExpression": { - "expression": { - "id": 387, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3841:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3841:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3833:19:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage", - "typeString": "struct IDO.UserLog storage ref" - } - }, - "id": 390, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 56, - "src": "3833:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3868:4:0", + "assignments": [ + 445 + ], + "declarations": [ + { + "constant": false, + "id": 445, + "mutability": "mutable", + "name": "pool", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4246:21:0", + "stateVariable": false, + "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", + "typeString": "struct IDO.PoolInfo" }, - "value": "true" - }, - "src": "3833:39:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 393, - "nodeType": "ExpressionStatement", - "src": "3833:39:0" - }, - { - "expression": { - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 394, - "name": "userlog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "3883:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", - "typeString": "mapping(address => struct IDO.UserLog storage ref)" - } - }, - "id": 397, - "indexExpression": { - "expression": { - "id": 395, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3891:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3891:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeName": { + "id": 444, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 443, + "name": "PoolInfo", + "nodeType": "IdentifierPath", + "referencedDeclaration": 77, + "src": "4246:8:0" }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3883:19:0", + "referencedDeclaration": 77, + "src": "4246:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage", - "typeString": "struct IDO.UserLog storage ref" + "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", + "typeString": "struct IDO.PoolInfo" } }, - "id": 398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "registeredPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 58, - "src": "3883:34:0", + "visibility": "internal" + } + ], + "id": 449, + "initialValue": { + "baseExpression": { + "id": 446, + "name": "pools", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4270:5:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", + "typeString": "struct IDO.PoolInfo storage ref[] storage ref" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 399, + "id": 448, + "indexExpression": { + "id": 447, "name": "_poolNo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 376, - "src": "3920:7:0", + "referencedDeclaration": 436, + "src": "4276:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3883:44:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4270:14:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PoolInfo_$77_storage", + "typeString": "struct IDO.PoolInfo storage ref" } }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "3883:44:0" + "nodeType": "VariableDeclarationStatement", + "src": "4246:38:0" }, { - "expression": { - "id": 407, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 457, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 402, - "name": "pools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "3938:5:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", - "typeString": "struct IDO.PoolInfo storage ref[] storage ref" - } - }, - "id": 404, - "indexExpression": { - "id": 403, - "name": "_poolNo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 376, - "src": "3944:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 450, + "name": "_poolNo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "4300:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 451, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3938:14:0", + "nodeType": "Literal", + "src": "4311:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage", - "typeString": "struct IDO.PoolInfo storage ref" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "id": 405, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "participants", - "nodeType": "MemberAccess", - "referencedDeclaration": 76, - "src": "3938:27:0", + "src": "4300:12:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 406, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 456, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "3969:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3938:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 408, - "nodeType": "ExpressionStatement", - "src": "3938:32:0" - }, - { - "expression": { - "arguments": [ - { + "leftExpression": { "expression": { - "id": 412, - "name": "msg", + "id": 453, + "name": "pool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3996:3:0", + "referencedDeclaration": 445, + "src": "4316:4:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", + "typeString": "struct IDO.PoolInfo storage pointer" } }, - "id": 413, + "id": 454, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "sender", + "memberName": "participants", "nodeType": "MemberAccess", - "src": "3996:10:0", + "referencedDeclaration": 76, + "src": "4316:17:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "id": 417, + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 455, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 414, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967292, - "src": "4008:5:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" + "nodeType": "Literal", + "src": "4337:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4316:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4300:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 463, + "nodeType": "IfStatement", + "src": "4297:83:0", + "trueBody": { + "id": 462, + "nodeType": "Block", + "src": "4340:40:0", + "statements": [ + { + "expression": { + "components": [ + { + "hexValue": "30", + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4363:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "30", + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4366:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } - }, - "id": 415, + ], + "id": 460, "isConstant": false, + "isInlineArray": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "4008:15:0", + "nodeType": "TupleExpression", + "src": "4362:6:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", + "typeString": "tuple(int_const 0,int_const 0)" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 416, - "name": "lockDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 33, - "src": "4026:12:0", + "functionReturnParameters": 442, + "id": 461, + "nodeType": "Return", + "src": "4355:13:0" + } + ] + } + }, + { + "assignments": [ + 465 + ], + "declarations": [ + { + "constant": false, + "id": 465, + "mutability": "mutable", + "name": "dec", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4390:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 464, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4390:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 472, + "initialValue": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 468, + "name": "idoToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "4412:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" + } + }, + "id": 469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 898, + "src": "4412:17:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", + "typeString": "function () view external returns (uint8)" } }, - "src": "4008:30:0", + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4412:19:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } ], - "expression": { - "id": 409, - "name": "iStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "3983:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", - "typeString": "contract IStaker" - } - }, - "id": 411, + "id": 467, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberName": "lock", - "nodeType": "MemberAccess", - "referencedDeclaration": 963, - "src": "3983:12:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "4404:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4404:7:0", + "typeDescriptions": {} } }, - "id": 418, + "id": 471, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3983:56:0", + "src": "4404:28:0", "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "3983:56:0" - } - ] - }, - "functionSelector": "f207564e", - "id": 421, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 379, - "modifierName": { - "id": 378, - "name": "validRegistration", - "nodeType": "IdentifierPath", - "referencedDeclaration": 155, - "src": "3760:17:0" - }, - "nodeType": "ModifierInvocation", - "src": "3760:17:0" - }, - { - "arguments": [ - { - "id": 381, - "name": "_poolNo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 376, - "src": "3795:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "id": 382, - "modifierName": { - "id": 380, - "name": "verifyPool", - "nodeType": "IdentifierPath", - "referencedDeclaration": 118, - "src": "3784:10:0" - }, - "nodeType": "ModifierInvocation", - "src": "3784:19:0" - }, - { - "id": 384, - "modifierName": { - "id": 383, - "name": "nonReentrant", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1113, - "src": "3809:12:0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4390:42:0" }, - "nodeType": "ModifierInvocation", - "src": "3809:12:0" - } - ], - "name": "register", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 377, - "nodeType": "ParameterList", - "parameters": [ { - "constant": false, - "id": 376, - "mutability": "mutable", - "name": "_poolNo", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3722:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3722:7:0", + "assignments": [ + 474 + ], + "declarations": [ + { + "constant": false, + "id": 474, + "mutability": "mutable", + "name": "tokenAmount", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4443:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4443:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 486, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 475, + "name": "idoAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "4466:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "expression": { + "id": 476, + "name": "pool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "4478:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", + "typeString": "struct IDO.PoolInfo storage pointer" + } + }, + "id": 477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 74, + "src": "4478:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4466:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 479, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4465:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 480, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "4494:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "expression": { + "id": 481, + "name": "pool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "4508:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", + "typeString": "struct IDO.PoolInfo storage pointer" + } + }, + "id": 482, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "participants", + "nodeType": "MemberAccess", + "referencedDeclaration": 76, + "src": "4508:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4494:31:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 484, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4493:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4465:61:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "visibility": "internal" - } - ], - "src": "3721:17:0" - }, - "returnParameters": { - "id": 385, - "nodeType": "ParameterList", - "parameters": [], - "src": "3822:0:0" - }, - "scope": 550, - "src": "3704:343:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 490, - "nodeType": "Block", - "src": "4134:439:0", - "statements": [ + "nodeType": "VariableDeclarationStatement", + "src": "4443:83:0" + }, { "assignments": [ - 432 + 488 ], "declarations": [ { "constant": false, - "id": 432, + "id": 488, "mutability": "mutable", - "name": "pool", + "name": "price", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "4147:21:0", + "scope": 503, + "src": "4570:13:0", "stateVariable": false, - "storageLocation": "storage", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", - "typeString": "struct IDO.PoolInfo" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 431, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 430, - "name": "PoolInfo", - "nodeType": "IdentifierPath", - "referencedDeclaration": 77, - "src": "4147:8:0" - }, - "referencedDeclaration": 77, - "src": "4147:8:0", + "id": 487, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4570:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", - "typeString": "struct IDO.PoolInfo" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" } ], - "id": 436, + "id": 498, "initialValue": { - "baseExpression": { - "id": 433, - "name": "pools", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "4171:5:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", - "typeString": "struct IDO.PoolInfo storage ref[] storage ref" - } - }, - "id": 435, - "indexExpression": { - "id": 434, - "name": "_poolNo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4177:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4171:14:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage", - "typeString": "struct IDO.PoolInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4147:38:0" - }, - { - "condition": { "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 444, + "id": 497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 439, + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 489, + "name": "tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 474, + "src": "4587:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 490, + "name": "idoPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "4601:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4587:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 492, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "id": 437, - "name": "_poolNo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4201:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4212:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4201:12:0", + "nodeType": "TupleExpression", + "src": "4586:24:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "||", + "operator": "/", "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 443, + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4614:2:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "id": 494, + "name": "dec", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4620:3:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4614:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 496, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 440, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "4217:4:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", - "typeString": "struct IDO.PoolInfo storage pointer" - } - }, - "id": 441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participants", - "nodeType": "MemberAccess", - "referencedDeclaration": 76, - "src": "4217:17:0", + "nodeType": "TupleExpression", + "src": "4613:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4586:38:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4570:54:0" + }, + { + "expression": { + "components": [ + { + "id": 499, + "name": "tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 474, + "src": "4645:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4238:1:0", + { + "id": 500, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 488, + "src": "4658:5:0", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4217:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "src": "4201:38:0", + ], + "id": 501, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4644:20:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } }, - "id": 450, - "nodeType": "IfStatement", - "src": "4198:83:0", - "trueBody": { - "id": 449, - "nodeType": "Block", - "src": "4241:40:0", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4264:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4267:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 447, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4263:6:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 0,int_const 0)" - } - }, - "functionReturnParameters": 429, - "id": 448, - "nodeType": "Return", - "src": "4256:13:0" - } - ] - } + "functionReturnParameters": 442, + "id": 502, + "nodeType": "Return", + "src": "4637:27:0" + } + ] + }, + "functionSelector": "236bcd58", + "id": 504, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokensAndPrice", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "_poolNo", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "4178:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4178:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4177:17:0" + }, + "returnParameters": { + "id": 442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 439, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "4215:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4215:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" }, + { + "constant": false, + "id": 441, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "4224:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4224:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4214:18:0" + }, + "scope": 622, + "src": "4154:518:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 561, + "nodeType": "Block", + "src": "4755:351:0", + "statements": [ { "assignments": [ - 452 + 513 ], "declarations": [ { "constant": false, - "id": 452, + "id": 513, "mutability": "mutable", - "name": "dec", + "name": "usr", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "4291:11:0", + "scope": 561, + "src": "4766:19:0", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", + "typeString": "struct IDO.UserLog" }, "typeName": { - "id": 451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4291:7:0", + "id": 512, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 511, + "name": "UserLog", + "nodeType": "IdentifierPath", + "referencedDeclaration": 61, + "src": "4766:7:0" + }, + "referencedDeclaration": 61, + "src": "4766:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", + "typeString": "struct IDO.UserLog" } }, "visibility": "internal" } ], - "id": 459, + "id": 518, "initialValue": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 455, - "name": "idoToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "4313:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", - "typeString": "contract IERC20Metadata" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 1723, - "src": "4313:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4313:19:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "baseExpression": { + "id": 514, + "name": "userlog", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "4788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", + "typeString": "mapping(address => struct IDO.UserLog storage ref)" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + }, + "id": 517, + "indexExpression": { + "expression": { + "id": 515, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4796:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" } - ], - "id": 454, + }, + "id": 516, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4305:7:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4796:10:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 453, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4305:7:0", - "typeDescriptions": {} + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 458, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "typeConversion", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:28:0", - "tryCall": false, + "nodeType": "IndexAccess", + "src": "4788:19:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UserLog_$61_storage", + "typeString": "struct IDO.UserLog storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "4291:42:0" + "src": "4766:41:0" }, { "assignments": [ - 461 + 520, + 522 ], "declarations": [ { "constant": false, - "id": 461, + "id": 520, "mutability": "mutable", - "name": "tokenAmount", + "name": "amount", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "4344:19:0", + "scope": 561, + "src": "4819:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20653,199 +22564,25 @@ "typeString": "uint256" }, "typeName": { - "id": 460, + "id": 519, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4344:7:0", + "src": "4819:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - } - ], - "id": 473, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 462, - "name": "idoAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "4367:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "expression": { - "id": 463, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "4379:4:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", - "typeString": "struct IDO.PoolInfo storage pointer" - } - }, - "id": 464, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 74, - "src": "4379:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4367:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 466, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4366:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 467, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "4395:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "expression": { - "id": 468, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "4409:4:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", - "typeString": "struct IDO.PoolInfo storage pointer" - } - }, - "id": 469, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participants", - "nodeType": "MemberAccess", - "referencedDeclaration": 76, - "src": "4409:17:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4395:31:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 471, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4394:33:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } }, - "src": "4366:61:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4344:83:0" - }, - { - "assignments": [ - 475 - ], - "declarations": [ { "constant": false, - "id": 475, + "id": 522, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "4471:13:0", + "scope": 561, + "src": "4835:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20853,10 +22590,10 @@ "typeString": "uint256" }, "typeName": { - "id": 474, + "id": 521, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4471:7:0", + "src": "4835:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20865,683 +22602,810 @@ "visibility": "internal" } ], - "id": 485, + "id": 527, "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "arguments": [ + { + "expression": { + "id": 524, + "name": "usr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 513, + "src": "4867:3:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", + "typeString": "struct IDO.UserLog storage pointer" + } + }, + "id": 525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registeredPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "4867:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 523, + "name": "tokensAndPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 504, + "src": "4852:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256,uint256)" + } }, - "id": 484, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { - "components": [ - { + "names": [], + "nodeType": "FunctionCall", + "src": "4852:34:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4818:68:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 478, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 476, - "name": "tokenAmount", + "id": 529, + "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "4488:11:0", + "referencedDeclaration": 522, + "src": "4905:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "*", + "operator": "!=", "rightExpression": { - "id": 477, - "name": "idoPrice", + "hexValue": "30", + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4914:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4905:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 532, + "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "4502:8:0", + "referencedDeclaration": 520, + "src": "4919:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4488:22:0", + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4929:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4919:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4905:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "56616c7565732043616e2774204265205a65726f", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4932:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4", + "typeString": "literal_string \"Values Can't Be Zero\"" + }, + "value": "Values Can't Be Zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4", + "typeString": "literal_string \"Values Can't Be Zero\"" + } + ], + "id": 528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4897:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4897:58:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 538, + "nodeType": "ExpressionStatement", + "src": "4897:58:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 540, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 522, + "src": "4974:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 541, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4983:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "4983:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "4974:18:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f742056616c69642045746820416d6f756e74", + "id": 544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4994:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6", + "typeString": "literal_string \"Not Valid Eth Amount\"" + }, + "value": "Not Valid Eth Amount" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6", + "typeString": "literal_string \"Not Valid Eth Amount\"" } ], - "id": 479, + "id": 539, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4966:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4966:51:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 546, + "nodeType": "ExpressionStatement", + "src": "4966:51:0" + }, + { + "expression": { + "id": 551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 547, + "name": "usr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 513, + "src": "5030:3:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", + "typeString": "struct IDO.UserLog storage pointer" + } + }, + "id": 549, "isConstant": false, - "isInlineArray": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4487:24:0", + "lValueRequested": true, + "memberName": "purchased", + "nodeType": "MemberAccess", + "referencedDeclaration": 60, + "src": "5030:13:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4515:2:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 481, - "name": "dec", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "4521:3:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4515:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 483, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 550, "isConstant": false, - "isInlineArray": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "bool", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4514:11:0", + "nodeType": "Literal", + "src": "5046:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" }, - "src": "4487:38:0", + "src": "5030:20:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4471:54:0" + "id": 552, + "nodeType": "ExpressionStatement", + "src": "5030:20:0" }, { "expression": { - "components": [ + "arguments": [ { - "id": 486, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "4546:11:0", + "expression": { + "id": 556, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5079:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5079:10:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 487, - "name": "price", + "id": 558, + "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "4559:5:0", + "referencedDeclaration": 520, + "src": "5091:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4545:20:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 429, - "id": 489, - "nodeType": "Return", - "src": "4538:27:0" - } - ] - }, - "functionSelector": "236bcd58", - "id": 491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokensAndPrice", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "_poolNo", - "nodeType": "VariableDeclaration", - "scope": 491, - "src": "4079:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4079:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4078:17:0" - }, - "returnParameters": { - "id": 429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 426, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 491, - "src": "4116:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4116:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 428, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 491, - "src": "4125:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4125:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4115:18:0" - }, - "scope": 550, - "src": "4055:518:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 548, - "nodeType": "Block", - "src": "4656:351:0", - "statements": [ - { - "assignments": [ - 500 - ], - "declarations": [ - { - "constant": false, - "id": 500, - "mutability": "mutable", - "name": "usr", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "4667:19:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", - "typeString": "struct IDO.UserLog" - }, - "typeName": { - "id": 499, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 498, - "name": "UserLog", - "nodeType": "IdentifierPath", - "referencedDeclaration": 61, - "src": "4667:7:0" + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "referencedDeclaration": 61, - "src": "4667:7:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", - "typeString": "struct IDO.UserLog" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "visibility": "internal" - } - ], - "id": 505, - "initialValue": { - "baseExpression": { - "id": 501, - "name": "userlog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "4689:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", - "typeString": "mapping(address => struct IDO.UserLog storage ref)" - } - }, - "id": 504, - "indexExpression": { + ], "expression": { - "id": 502, - "name": "msg", + "id": 553, + "name": "idoToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4697:3:0", + "referencedDeclaration": 19, + "src": "5061:8:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" } }, - "id": 503, + "id": 555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "sender", + "memberName": "transfer", "nodeType": "MemberAccess", - "src": "4697:10:0", + "referencedDeclaration": 823, + "src": "5061:17:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" } }, + "id": 559, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4689:19:0", + "names": [], + "nodeType": "FunctionCall", + "src": "5061:37:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage", - "typeString": "struct IDO.UserLog storage ref" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4667:41:0" + "id": 560, + "nodeType": "ExpressionStatement", + "src": "5061:37:0" + } + ] + }, + "functionSelector": "9c3962f0", + "id": 562, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 507, + "modifierName": { + "id": 506, + "name": "validSale", + "nodeType": "IdentifierPath", + "referencedDeclaration": 201, + "src": "4727:9:0" }, + "nodeType": "ModifierInvocation", + "src": "4727:9:0" + }, + { + "id": 509, + "modifierName": { + "id": 508, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 795, + "src": "4742:12:0" + }, + "nodeType": "ModifierInvocation", + "src": "4742:12:0" + } + ], + "name": "buyNow", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 505, + "nodeType": "ParameterList", + "parameters": [], + "src": "4695:2:0" + }, + "returnParameters": { + "id": 510, + "nodeType": "ParameterList", + "parameters": [], + "src": "4755:0:0" + }, + "scope": 622, + "src": "4680:426:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 590, + "nodeType": "Block", + "src": "5165:134:0", + "statements": [ { "assignments": [ - 507, - 509 + 570, + null ], "declarations": [ { "constant": false, - "id": 507, + "id": 570, "mutability": "mutable", - "name": "amount", + "name": "sent", "nodeType": "VariableDeclaration", - "scope": 548, - "src": "4720:14:0", + "scope": 590, + "src": "5177:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 506, - "name": "uint256", + "id": 569, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4720:7:0", + "src": "5177:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "internal" }, - { - "constant": false, - "id": 509, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "4736:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4736:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } + null ], - "id": 514, + "id": 584, "initialValue": { "arguments": [ { - "expression": { - "id": 511, - "name": "usr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 500, - "src": "4768:3:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", - "typeString": "struct IDO.UserLog storage pointer" - } - }, - "id": 512, + "hexValue": "", + "id": 582, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "memberName": "registeredPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 58, - "src": "4768:18:0", + "nodeType": "Literal", + "src": "5239:2:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" } ], - "id": 510, - "name": "tokensAndPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "4753:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256)" - } - }, - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4753:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4719:68:0" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 516, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 509, - "src": "4806:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "arguments": [ + { + "id": 573, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "5199:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 517, + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 572, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "4815:1:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "5191:7:0", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "value": "0" - }, - "src": "4806:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeName": { + "id": 571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5191:7:0", + "typeDescriptions": {} + } }, - "id": 521, + "id": 574, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "leftExpression": { - "id": 519, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "4820:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 520, + "names": [], + "nodeType": "FunctionCall", + "src": "5191:11:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5191:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "expression": { + "arguments": [ + { + "id": 578, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "5224:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + ], + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5216:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": {} + } + }, + "id": 579, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "4830:1:0", + "names": [], + "nodeType": "FunctionCall", + "src": "5216:13:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "src": "4820:11:0", + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "5216:21:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "src": "4806:25:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "56616c7565732043616e2774204265205a65726f", - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4833:22:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4", - "typeString": "literal_string \"Values Can't Be Zero\"" - }, - "value": "Values Can't Be Zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4", - "typeString": "literal_string \"Values Can't Be Zero\"" } ], - "id": 515, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4798:7:0", + "src": "5191:47:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 524, + "id": 583, "isConstant": false, "isLValue": false, "isPure": false, @@ -21549,91 +23413,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4798:58:0", + "src": "5191:51:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" } }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "4798:58:0" + "nodeType": "VariableDeclarationStatement", + "src": "5176:66:0" }, { "expression": { "arguments": [ { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 527, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 509, - "src": "4875:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 528, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4884:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4884:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4875:18:0", + "id": 586, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 570, + "src": "5261:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "4e6f742056616c69642045746820416d6f756e74", - "id": 531, + "hexValue": "556e61626c6520546f205265636f76657220457468", + "id": 587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4895:22:0", + "src": "5267:23:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6", - "typeString": "literal_string \"Not Valid Eth Amount\"" + "typeIdentifier": "t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478", + "typeString": "literal_string \"Unable To Recover Eth\"" }, - "value": "Not Valid Eth Amount" + "value": "Unable To Recover Eth" } ], "expression": { @@ -21643,11 +23462,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6", - "typeString": "literal_string \"Not Valid Eth Amount\"" + "typeIdentifier": "t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478", + "typeString": "literal_string \"Unable To Recover Eth\"" } ], - "id": 526, + "id": 585, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -21655,13 +23474,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4867:7:0", + "src": "5253:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 532, + "id": 588, "isConstant": false, "isLValue": false, "isPure": false, @@ -21669,115 +23488,299 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4867:51:0", + "src": "5253:38:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 533, + "id": 589, "nodeType": "ExpressionStatement", - "src": "4867:51:0" + "src": "5253:38:0" + } + ] + }, + "functionSelector": "7504db3e", + "id": 591, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 567, + "modifierName": { + "id": 566, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 705, + "src": "5155:9:0" }, + "nodeType": "ModifierInvocation", + "src": "5155:9:0" + } + ], + "name": "recoverEth", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 565, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 534, - "name": "usr", + "constant": false, + "id": 564, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 591, + "src": "5134:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5134:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5133:12:0" + }, + "returnParameters": { + "id": 568, + "nodeType": "ParameterList", + "parameters": [], + "src": "5165:0:0" + }, + "scope": 622, + "src": "5114:185:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 620, + "nodeType": "Block", + "src": "5408:125:0", + "statements": [ + { + "assignments": [ + 602 + ], + "declarations": [ + { + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "tok", + "nodeType": "VariableDeclaration", + "scope": 620, + "src": "5419:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" + }, + "typeName": { + "id": 601, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 600, + "name": "IERC20Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 899, + "src": "5419:14:0" + }, + "referencedDeclaration": 899, + "src": "5419:14:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" + } + }, + "visibility": "internal" + } + ], + "id": 606, + "initialValue": { + "arguments": [ + { + "id": 604, + "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 500, - "src": "4931:3:0", + "referencedDeclaration": 593, + "src": "5455:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", - "typeString": "struct IDO.UserLog storage pointer" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 536, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "purchased", - "nodeType": "MemberAccess", - "referencedDeclaration": 60, - "src": "4931:13:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4947:4:0", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 603, + "name": "IERC20Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "5440:14:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" + "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$899_$", + "typeString": "type(contract IERC20Metadata)" + } }, - "src": "4931:20:0", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5440:28:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" } }, - "id": 539, - "nodeType": "ExpressionStatement", - "src": "4931:20:0" + "nodeType": "VariableDeclarationStatement", + "src": "5419:49:0" }, { "expression": { "arguments": [ { + "id": 610, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "5492:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 615, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "5518:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + ], + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5510:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5510:7:0", + "typeDescriptions": {} + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5510:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], "expression": { - "id": 543, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4980:3:0", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 611, + "name": "tok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5496:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" + } + }, + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 813, + "src": "5496:13:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" } }, - "id": 544, + "id": 617, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4980:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 545, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "4992:6:0", + "names": [], + "nodeType": "FunctionCall", + "src": "5496:28:0", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21796,32 +23799,32 @@ } ], "expression": { - "id": 540, - "name": "idoToken", + "id": 607, + "name": "tok", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "4962:8:0", + "referencedDeclaration": 602, + "src": "5479:3:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, - "id": 542, + "id": 609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1648, - "src": "4962:17:0", + "referencedDeclaration": 823, + "src": "5479:12:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 546, + "id": 618, "isConstant": false, "isLValue": false, "isPure": false, @@ -21829,102 +23832,145 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4962:37:0", + "src": "5479:46:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 547, + "id": 619, "nodeType": "ExpressionStatement", - "src": "4962:37:0" + "src": "5479:46:0" } ] }, - "functionSelector": "9c3962f0", - "id": 549, + "functionSelector": "886f039a", + "id": 621, "implemented": true, "kind": "function", "modifiers": [ { - "id": 494, - "modifierName": { - "id": 493, - "name": "validSale", - "nodeType": "IdentifierPath", - "referencedDeclaration": 201, - "src": "4628:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "4628:9:0" - }, - { - "id": 496, + "id": 598, "modifierName": { - "id": 495, - "name": "nonReentrant", + "id": 597, + "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 1113, - "src": "4643:12:0" + "referencedDeclaration": 705, + "src": "5398:9:0" }, "nodeType": "ModifierInvocation", - "src": "4643:12:0" + "src": "5398:9:0" } ], - "name": "buyNow", + "name": "recoverERC20", "nodeType": "FunctionDefinition", "parameters": { - "id": 492, + "id": 596, "nodeType": "ParameterList", - "parameters": [], - "src": "4596:2:0" + "parameters": [ + { + "constant": false, + "id": 593, + "mutability": "mutable", + "name": "tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "5339:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5339:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 595, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "5371:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5371:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5328:60:0" }, "returnParameters": { - "id": 497, + "id": 599, "nodeType": "ParameterList", "parameters": [], - "src": "4656:0:0" + "src": "5408:0:0" }, - "scope": 550, - "src": "4581:426:0", - "stateMutability": "payable", + "scope": 622, + "src": "5307:226:0", + "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 551, - "src": "381:4631:0" + "scope": 623, + "src": "381:5157:0" } ], - "src": "33:4979:0" + "src": "33:5505:0" }, "legacyAST": { "absolutePath": "/C/Users/sudip/Desktop/Matic Project/Staking/contracts/IDOStaker/IDO.sol", "exportedSymbols": { "Context": [ - 2043 + 922 ], "IDO": [ - 550 + 622 ], "IERC20": [ - 1699 + 874 ], "IERC20Metadata": [ - 1724 + 899 ], "IStaker": [ - 964 + 646 ], "Ownable": [ - 1074 + 756 ], "ReentrancyGuard": [ - 1114 + 796 ] }, - "id": 551, + "id": 623, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -21944,8 +23990,8 @@ "file": "./../interfaces/IStaker.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 965, + "scope": 623, + "sourceUnit": 647, "src": "60:37:0", "symbolAliases": [], "unitAlias": "" @@ -21955,8 +24001,8 @@ "file": "openzeppelin-solidity/contracts/token/ERC20/extensions/IERC20Metadata.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 1725, + "scope": 623, + "sourceUnit": 900, "src": "99:83:0", "symbolAliases": [], "unitAlias": "" @@ -21966,8 +24012,8 @@ "file": "openzeppelin-solidity/contracts/access/Ownable.sol", "id": 4, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 1075, + "scope": 623, + "sourceUnit": 757, "src": "184:60:0", "symbolAliases": [], "unitAlias": "" @@ -21977,8 +24023,8 @@ "file": "openzeppelin-solidity/contracts/utils/Context.sol", "id": 5, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 2044, + "scope": 623, + "sourceUnit": 923, "src": "246:59:0", "symbolAliases": [], "unitAlias": "" @@ -21988,8 +24034,8 @@ "file": "openzeppelin-solidity/contracts/security/ReentrancyGuard.sol", "id": 6, "nodeType": "ImportDirective", - "scope": 551, - "sourceUnit": 1115, + "scope": 623, + "sourceUnit": 797, "src": "307:70:0", "symbolAliases": [], "unitAlias": "" @@ -22002,7 +24048,7 @@ "id": 7, "name": "Ownable", "nodeType": "IdentifierPath", - "referencedDeclaration": 1074, + "referencedDeclaration": 756, "src": "397:7:0" }, "id": 8, @@ -22014,7 +24060,7 @@ "id": 9, "name": "ReentrancyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 1114, + "referencedDeclaration": 796, "src": "406:15:0" }, "id": 10, @@ -22023,18 +24069,18 @@ } ], "contractDependencies": [ - 1074, - 1114, - 2043 + 756, + 796, + 922 ], "contractKind": "contract", "fullyImplemented": true, - "id": 550, + "id": 622, "linearizedBaseContracts": [ - 550, - 1114, - 1074, - 2043 + 622, + 796, + 756, + 922 ], "name": "IDO", "nodeType": "ContractDefinition", @@ -22046,12 +24092,12 @@ "mutability": "mutable", "name": "iStaker", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "431:22:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" }, "typeName": { @@ -22061,13 +24107,13 @@ "id": 11, "name": "IStaker", "nodeType": "IdentifierPath", - "referencedDeclaration": 964, + "referencedDeclaration": 646, "src": "431:7:0" }, - "referencedDeclaration": 964, + "referencedDeclaration": 646, "src": "431:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, @@ -22080,12 +24126,12 @@ "mutability": "mutable", "name": "nativeToken", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "460:33:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" }, "typeName": { @@ -22095,13 +24141,13 @@ "id": 14, "name": "IERC20Metadata", "nodeType": "IdentifierPath", - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "460:14:0" }, - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "460:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -22114,12 +24160,12 @@ "mutability": "mutable", "name": "idoToken", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "520:30:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" }, "typeName": { @@ -22129,13 +24175,13 @@ "id": 17, "name": "IERC20Metadata", "nodeType": "IdentifierPath", - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "520:14:0" }, - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "520:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -22148,7 +24194,7 @@ "mutability": "mutable", "name": "idoAmount", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "582:24:0", "stateVariable": true, "storageLocation": "default", @@ -22175,7 +24221,7 @@ "mutability": "mutable", "name": "idoPrice", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "644:23:0", "stateVariable": true, "storageLocation": "default", @@ -22202,7 +24248,7 @@ "mutability": "constant", "name": "unit", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "724:38:0", "stateVariable": true, "storageLocation": "default", @@ -22246,7 +24292,7 @@ "mutability": "constant", "name": "lockDuration", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "769:52:0", "stateVariable": true, "storageLocation": "default", @@ -22353,7 +24399,7 @@ "mutability": "constant", "name": "regDuration", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "828:47:0", "stateVariable": true, "storageLocation": "default", @@ -22426,7 +24472,7 @@ "mutability": "constant", "name": "saleStartsAfter", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "882:65:0", "stateVariable": true, "storageLocation": "default", @@ -22529,7 +24575,7 @@ "mutability": "constant", "name": "saleDuration", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "954:48:0", "stateVariable": true, "storageLocation": "default", @@ -22602,7 +24648,7 @@ "mutability": "mutable", "name": "regStarts", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1009:24:0", "stateVariable": true, "storageLocation": "default", @@ -22629,7 +24675,7 @@ "mutability": "mutable", "name": "saleStarts", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1040:25:0", "stateVariable": true, "storageLocation": "default", @@ -22734,7 +24780,7 @@ ], "name": "UserLog", "nodeType": "StructDefinition", - "scope": 550, + "scope": 622, "src": "1074:109:0", "visibility": "public" }, @@ -22745,7 +24791,7 @@ "mutability": "mutable", "name": "userlog", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1189:42:0", "stateVariable": true, "storageLocation": "default", @@ -22798,7 +24844,7 @@ "mutability": "mutable", "name": "isInitialized", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1240:25:0", "stateVariable": true, "storageLocation": "default", @@ -22929,7 +24975,7 @@ ], "name": "PoolInfo", "nodeType": "StructDefinition", - "scope": 550, + "scope": 622, "src": "1274:184:0", "visibility": "public" }, @@ -22940,7 +24986,7 @@ "mutability": "mutable", "name": "pools", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1465:23:0", "stateVariable": true, "storageLocation": "default", @@ -22983,7 +25029,7 @@ "mutability": "mutable", "name": "totalWeight", "nodeType": "VariableDeclaration", - "scope": 550, + "scope": 622, "src": "1495:26:0", "stateVariable": true, "storageLocation": "default", @@ -23260,7 +25306,7 @@ "referencedDeclaration": 13, "src": "1670:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, @@ -23271,7 +25317,7 @@ "lValueRequested": false, "memberName": "stakedBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 949, + "referencedDeclaration": 631, "src": "1670:21:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -24814,7 +26860,7 @@ "referencedDeclaration": 13, "src": "2875:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, @@ -24846,10 +26892,10 @@ "name": "IStaker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, + "referencedDeclaration": 646, "src": "2885:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStaker_$964_$", + "typeIdentifier": "t_type$_t_contract$_IStaker_$646_$", "typeString": "type(contract IStaker)" } }, @@ -24864,13 +26910,13 @@ "src": "2885:23:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, "src": "2875:33:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, @@ -24893,7 +26939,7 @@ "referencedDeclaration": 16, "src": "2919:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -24925,10 +26971,10 @@ "name": "IERC20Metadata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "2933:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$1724_$", + "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$899_$", "typeString": "type(contract IERC20Metadata)" } }, @@ -24943,13 +26989,13 @@ "src": "2933:35:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, "src": "2919:49:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -24972,7 +27018,7 @@ "referencedDeclaration": 19, "src": "2979:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -25004,10 +27050,10 @@ "name": "IERC20Metadata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1724, + "referencedDeclaration": 899, "src": "2990:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$1724_$", + "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$899_$", "typeString": "type(contract IERC20Metadata)" } }, @@ -25022,13 +27068,13 @@ "src": "2990:32:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, "src": "2979:43:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -25169,7 +27215,7 @@ "referencedDeclaration": 16, "src": "3118:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, @@ -25180,7 +27226,7 @@ "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1723, + "referencedDeclaration": 898, "src": "3118:20:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", @@ -26770,7 +28816,7 @@ "parameters": [], "src": "2854:0:0" }, - "scope": 550, + "scope": 622, "src": "2674:860:0", "stateMutability": "nonpayable", "virtual": false, @@ -26778,9 +28824,9 @@ }, { "body": { - "id": 373, + "id": 386, "nodeType": "Block", - "src": "3610:86:0", + "src": "3610:185:0", "statements": [ { "expression": { @@ -26864,44 +28910,245 @@ "referencedDeclaration": 52, "src": "3661:9:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 369, + "name": "saleStartsAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "3673:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3661:27:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3648:40:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 372, + "nodeType": "ExpressionStatement", + "src": "3648:40:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 378, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "3734:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + ], + "id": 377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3726:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3726:7:0", + "typeDescriptions": {} + } + }, + "id": 379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3726:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 374, + "name": "idoToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "3707:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" + } + }, + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 813, + "src": "3707:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3707:33:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 381, + "name": "idoAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "3744:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3707:46:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 369, - "name": "saleStartsAfter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45, - "src": "3673:15:0", + { + "hexValue": "4e6f7420456e6f75676820546f6b656e7320496e20436f6e7472616374", + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3755:31:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c", + "typeString": "literal_string \"Not Enough Tokens In Contract\"" + }, + "value": "Not Enough Tokens In Contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9745a5c15a77cc9b35fce4b1f6978ef7e067e3f39bd56f7c7009c6dd5f40403c", + "typeString": "literal_string \"Not Enough Tokens In Contract\"" } - }, - "src": "3661:27:0", + ], + "id": 373, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3699:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "src": "3648:40:0", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3699:88:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 372, + "id": 385, "nodeType": "ExpressionStatement", - "src": "3648:40:0" + "src": "3699:88:0" } ] }, "functionSelector": "fe4b84df", - "id": 374, + "id": 387, "implemented": true, "kind": "function", "modifiers": [ @@ -26911,7 +29158,7 @@ "id": 358, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 1023, + "referencedDeclaration": 705, "src": "3585:9:0" }, "nodeType": "ModifierInvocation", @@ -26942,7 +29189,7 @@ "mutability": "mutable", "name": "time", "nodeType": "VariableDeclaration", - "scope": 374, + "scope": 387, "src": "3562:12:0", "stateVariable": false, "storageLocation": "default", @@ -26971,21 +29218,21 @@ "parameters": [], "src": "3610:0:0" }, - "scope": 550, - "src": "3542:154:0", + "scope": 622, + "src": "3542:253:0", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 420, + "id": 433, "nodeType": "Block", - "src": "3822:225:0", + "src": "3921:225:0", "statements": [ { "expression": { - "id": 392, + "id": 405, "isConstant": false, "isLValue": false, "isPure": false, @@ -26993,39 +29240,39 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 386, + "id": 399, "name": "userlog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 66, - "src": "3833:7:0", + "src": "3932:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", "typeString": "mapping(address => struct IDO.UserLog storage ref)" } }, - "id": 389, + "id": 402, "indexExpression": { "expression": { - "id": 387, + "id": 400, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "3841:3:0", + "src": "3940:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 388, + "id": 401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3841:10:0", + "src": "3940:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27036,13 +29283,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3833:19:0", + "src": "3932:19:0", "typeDescriptions": { "typeIdentifier": "t_struct$_UserLog_$61_storage", "typeString": "struct IDO.UserLog storage ref" } }, - "id": 390, + "id": 403, "isConstant": false, "isLValue": true, "isPure": false, @@ -27050,7 +29297,7 @@ "memberName": "isRegistered", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "3833:32:0", + "src": "3932:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27060,33 +29307,33 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 391, + "id": 404, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3868:4:0", + "src": "3967:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "3833:39:0", + "src": "3932:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 393, + "id": 406, "nodeType": "ExpressionStatement", - "src": "3833:39:0" + "src": "3932:39:0" }, { "expression": { - "id": 400, + "id": 413, "isConstant": false, "isLValue": false, "isPure": false, @@ -27094,39 +29341,39 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 394, + "id": 407, "name": "userlog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 66, - "src": "3883:7:0", + "src": "3982:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", "typeString": "mapping(address => struct IDO.UserLog storage ref)" } }, - "id": 397, + "id": 410, "indexExpression": { "expression": { - "id": 395, + "id": 408, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "3891:3:0", + "src": "3990:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 396, + "id": 409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3891:10:0", + "src": "3990:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27137,13 +29384,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3883:19:0", + "src": "3982:19:0", "typeDescriptions": { "typeIdentifier": "t_struct$_UserLog_$61_storage", "typeString": "struct IDO.UserLog storage ref" } }, - "id": 398, + "id": 411, "isConstant": false, "isLValue": true, "isPure": false, @@ -27151,7 +29398,7 @@ "memberName": "registeredPool", "nodeType": "MemberAccess", "referencedDeclaration": 58, - "src": "3883:34:0", + "src": "3982:34:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27160,30 +29407,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 399, + "id": 412, "name": "_poolNo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 376, - "src": "3920:7:0", + "referencedDeclaration": 389, + "src": "4019:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3883:44:0", + "src": "3982:44:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 401, + "id": 414, "nodeType": "ExpressionStatement", - "src": "3883:44:0" + "src": "3982:44:0" }, { "expression": { - "id": 407, + "id": 420, "isConstant": false, "isLValue": false, "isPure": false, @@ -27191,25 +29438,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 402, + "id": 415, "name": "pools", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "3938:5:0", + "src": "4037:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", "typeString": "struct IDO.PoolInfo storage ref[] storage ref" } }, - "id": 404, + "id": 417, "indexExpression": { - "id": 403, + "id": 416, "name": "_poolNo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 376, - "src": "3944:7:0", + "referencedDeclaration": 389, + "src": "4043:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27220,13 +29467,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3938:14:0", + "src": "4037:14:0", "typeDescriptions": { "typeIdentifier": "t_struct$_PoolInfo_$77_storage", "typeString": "struct IDO.PoolInfo storage ref" } }, - "id": 405, + "id": 418, "isConstant": false, "isLValue": true, "isPure": false, @@ -27234,7 +29481,7 @@ "memberName": "participants", "nodeType": "MemberAccess", "referencedDeclaration": 76, - "src": "3938:27:0", + "src": "4037:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27244,54 +29491,54 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 406, + "id": 419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3969:1:0", + "src": "4068:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "3938:32:0", + "src": "4037:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 408, + "id": 421, "nodeType": "ExpressionStatement", - "src": "3938:32:0" + "src": "4037:32:0" }, { "expression": { "arguments": [ { "expression": { - "id": 412, + "id": 425, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "3996:3:0", + "src": "4095:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 413, + "id": 426, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3996:10:0", + "src": "4095:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27302,32 +29549,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 417, + "id": 430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 414, + "id": 427, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967292, - "src": "4008:5:0", + "src": "4107:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 415, + "id": 428, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "4008:15:0", + "src": "4107:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27336,18 +29583,18 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 416, + "id": 429, "name": "lockDuration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 33, - "src": "4026:12:0", + "src": "4125:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4008:30:0", + "src": "4107:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27366,32 +29613,32 @@ } ], "expression": { - "id": 409, + "id": 422, "name": "iStaker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13, - "src": "3983:7:0", + "src": "4082:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IStaker_$964", + "typeIdentifier": "t_contract$_IStaker_$646", "typeString": "contract IStaker" } }, - "id": 411, + "id": 424, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "lock", "nodeType": "MemberAccess", - "referencedDeclaration": 963, - "src": "3983:12:0", + "referencedDeclaration": 645, + "src": "4082:12:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 418, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, @@ -27399,89 +29646,89 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3983:56:0", + "src": "4082:56:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 419, + "id": 432, "nodeType": "ExpressionStatement", - "src": "3983:56:0" + "src": "4082:56:0" } ] }, "functionSelector": "f207564e", - "id": 421, + "id": 434, "implemented": true, "kind": "function", "modifiers": [ { - "id": 379, + "id": 392, "modifierName": { - "id": 378, + "id": 391, "name": "validRegistration", "nodeType": "IdentifierPath", "referencedDeclaration": 155, - "src": "3760:17:0" + "src": "3859:17:0" }, "nodeType": "ModifierInvocation", - "src": "3760:17:0" + "src": "3859:17:0" }, { "arguments": [ { - "id": 381, + "id": 394, "name": "_poolNo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 376, - "src": "3795:7:0", + "referencedDeclaration": 389, + "src": "3894:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 382, + "id": 395, "modifierName": { - "id": 380, + "id": 393, "name": "verifyPool", "nodeType": "IdentifierPath", "referencedDeclaration": 118, - "src": "3784:10:0" + "src": "3883:10:0" }, "nodeType": "ModifierInvocation", - "src": "3784:19:0" + "src": "3883:19:0" }, { - "id": 384, + "id": 397, "modifierName": { - "id": 383, + "id": 396, "name": "nonReentrant", "nodeType": "IdentifierPath", - "referencedDeclaration": 1113, - "src": "3809:12:0" + "referencedDeclaration": 795, + "src": "3908:12:0" }, "nodeType": "ModifierInvocation", - "src": "3809:12:0" + "src": "3908:12:0" } ], "name": "register", "nodeType": "FunctionDefinition", "parameters": { - "id": 377, + "id": 390, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 376, + "id": 389, "mutability": "mutable", "name": "_poolNo", "nodeType": "VariableDeclaration", - "scope": 421, - "src": "3722:15:0", + "scope": 434, + "src": "3821:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27489,10 +29736,10 @@ "typeString": "uint256" }, "typeName": { - "id": 375, + "id": 388, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3722:7:0", + "src": "3821:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27501,39 +29748,39 @@ "visibility": "internal" } ], - "src": "3721:17:0" + "src": "3820:17:0" }, "returnParameters": { - "id": 385, + "id": 398, "nodeType": "ParameterList", "parameters": [], - "src": "3822:0:0" + "src": "3921:0:0" }, - "scope": 550, - "src": "3704:343:0", + "scope": 622, + "src": "3803:343:0", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 490, + "id": 503, "nodeType": "Block", - "src": "4134:439:0", + "src": "4233:439:0", "statements": [ { "assignments": [ - 432 + 445 ], "declarations": [ { "constant": false, - "id": 432, + "id": 445, "mutability": "mutable", "name": "pool", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "4147:21:0", + "scope": 503, + "src": "4246:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -27541,17 +29788,17 @@ "typeString": "struct IDO.PoolInfo" }, "typeName": { - "id": 431, + "id": 444, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 430, + "id": 443, "name": "PoolInfo", "nodeType": "IdentifierPath", "referencedDeclaration": 77, - "src": "4147:8:0" + "src": "4246:8:0" }, "referencedDeclaration": 77, - "src": "4147:8:0", + "src": "4246:8:0", "typeDescriptions": { "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", "typeString": "struct IDO.PoolInfo" @@ -27560,28 +29807,28 @@ "visibility": "internal" } ], - "id": 436, + "id": 449, "initialValue": { "baseExpression": { - "id": 433, + "id": 446, "name": "pools", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, - "src": "4171:5:0", + "src": "4270:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_PoolInfo_$77_storage_$dyn_storage", "typeString": "struct IDO.PoolInfo storage ref[] storage ref" } }, - "id": 435, + "id": 448, "indexExpression": { - "id": 434, + "id": 447, "name": "_poolNo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4177:7:0", + "referencedDeclaration": 436, + "src": "4276:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27592,14 +29839,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4171:14:0", + "src": "4270:14:0", "typeDescriptions": { "typeIdentifier": "t_struct$_PoolInfo_$77_storage", "typeString": "struct IDO.PoolInfo storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "4147:38:0" + "src": "4246:38:0" }, { "condition": { @@ -27607,7 +29854,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 444, + "id": 457, "isConstant": false, "isLValue": false, "isPure": false, @@ -27617,18 +29864,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 439, + "id": 452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 437, + "id": 450, "name": "_poolNo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4201:7:0", + "referencedDeclaration": 436, + "src": "4300:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27638,21 +29885,21 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 438, + "id": 451, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4212:1:0", + "src": "4311:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "4201:12:0", + "src": "4300:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27665,25 +29912,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 443, + "id": 456, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 440, + "id": 453, "name": "pool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "4217:4:0", + "referencedDeclaration": 445, + "src": "4316:4:0", "typeDescriptions": { "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", "typeString": "struct IDO.PoolInfo storage pointer" } }, - "id": 441, + "id": 454, "isConstant": false, "isLValue": true, "isPure": false, @@ -27691,7 +29938,7 @@ "memberName": "participants", "nodeType": "MemberAccess", "referencedDeclaration": 76, - "src": "4217:17:0", + "src": "4316:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27701,53 +29948,53 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 442, + "id": 455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4238:1:0", + "src": "4337:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "4217:22:0", + "src": "4316:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4201:38:0", + "src": "4300:38:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 450, + "id": 463, "nodeType": "IfStatement", - "src": "4198:83:0", + "src": "4297:83:0", "trueBody": { - "id": 449, + "id": 462, "nodeType": "Block", - "src": "4241:40:0", + "src": "4340:40:0", "statements": [ { "expression": { "components": [ { "hexValue": "30", - "id": 445, + "id": 458, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4264:1:0", + "src": "4363:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27756,14 +30003,14 @@ }, { "hexValue": "30", - "id": 446, + "id": 459, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4267:1:0", + "src": "4366:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27771,40 +30018,40 @@ "value": "0" } ], - "id": 447, + "id": 460, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4263:6:0", + "src": "4362:6:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", "typeString": "tuple(int_const 0,int_const 0)" } }, - "functionReturnParameters": 429, - "id": 448, + "functionReturnParameters": 442, + "id": 461, "nodeType": "Return", - "src": "4256:13:0" + "src": "4355:13:0" } ] } }, { "assignments": [ - 452 + 465 ], "declarations": [ { "constant": false, - "id": 452, + "id": 465, "mutability": "mutable", "name": "dec", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "4291:11:0", + "scope": 503, + "src": "4390:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27812,10 +30059,10 @@ "typeString": "uint256" }, "typeName": { - "id": 451, + "id": 464, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4291:7:0", + "src": "4390:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27824,7 +30071,7 @@ "visibility": "internal" } ], - "id": 459, + "id": 472, "initialValue": { "arguments": [ { @@ -27832,32 +30079,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 455, + "id": 468, "name": "idoToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19, - "src": "4313:8:0", + "src": "4412:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, - "id": 456, + "id": 469, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 1723, - "src": "4313:17:0", + "referencedDeclaration": 898, + "src": "4412:17:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 457, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, @@ -27865,7 +30112,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4313:19:0", + "src": "4412:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -27880,56 +30127,256 @@ "typeString": "uint8" } ], - "id": 454, + "id": 467, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4305:7:0", + "src": "4404:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 453, + "id": 466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4305:7:0", + "src": "4404:7:0", "typeDescriptions": {} } }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4305:28:0", - "tryCall": false, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4404:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4390:42:0" + }, + { + "assignments": [ + 474 + ], + "declarations": [ + { + "constant": false, + "id": 474, + "mutability": "mutable", + "name": "tokenAmount", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "4443:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4443:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 486, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 475, + "name": "idoAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "4466:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "expression": { + "id": 476, + "name": "pool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "4478:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", + "typeString": "struct IDO.PoolInfo storage pointer" + } + }, + "id": 477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 74, + "src": "4478:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4466:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 479, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4465:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 480, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "4494:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "expression": { + "id": 481, + "name": "pool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "4508:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", + "typeString": "struct IDO.PoolInfo storage pointer" + } + }, + "id": 482, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "participants", + "nodeType": "MemberAccess", + "referencedDeclaration": 76, + "src": "4508:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4494:31:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 484, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4493:33:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4465:61:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4291:42:0" + "src": "4443:83:0" }, { "assignments": [ - 461 + 488 ], "declarations": [ { "constant": false, - "id": 461, + "id": 488, "mutability": "mutable", - "name": "tokenAmount", + "name": "price", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "4344:19:0", + "scope": 503, + "src": "4570:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27937,10 +30384,10 @@ "typeString": "uint256" }, "typeName": { - "id": 460, + "id": 487, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4344:7:0", + "src": "4570:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27949,13 +30396,13 @@ "visibility": "internal" } ], - "id": 473, + "id": 498, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 472, + "id": 497, "isConstant": false, "isLValue": false, "isPure": false, @@ -27967,18 +30414,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 465, + "id": 491, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 462, - "name": "idoAmount", + "id": 489, + "name": "tokenAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "4367:9:0", + "referencedDeclaration": 474, + "src": "4587:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27987,47 +30434,32 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "expression": { - "id": 463, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "4379:4:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", - "typeString": "struct IDO.PoolInfo storage pointer" - } - }, - "id": 464, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 74, - "src": "4379:11:0", + "id": 490, + "name": "idoPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23, + "src": "4601:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4367:23:0", + "src": "4587:22:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 466, + "id": 492, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4366:25:0", + "src": "4586:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28042,94 +30474,363 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 470, + "id": 495, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 467, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "4395:11:0", + "hexValue": "3130", + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4614:2:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" }, "nodeType": "BinaryOperation", - "operator": "*", + "operator": "**", "rightExpression": { - "expression": { - "id": 468, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "4409:4:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PoolInfo_$77_storage_ptr", - "typeString": "struct IDO.PoolInfo storage pointer" - } - }, - "id": 469, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participants", - "nodeType": "MemberAccess", - "referencedDeclaration": 76, - "src": "4409:17:0", + "id": 494, + "name": "dec", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4620:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4395:31:0", + "src": "4614:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } - ], - "id": 471, + ], + "id": 496, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4613:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4586:38:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4570:54:0" + }, + { + "expression": { + "components": [ + { + "id": 499, + "name": "tokenAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 474, + "src": "4645:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 500, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 488, + "src": "4658:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 501, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4644:20:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 442, + "id": 502, + "nodeType": "Return", + "src": "4637:27:0" + } + ] + }, + "functionSelector": "236bcd58", + "id": 504, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokensAndPrice", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "_poolNo", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "4178:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4178:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4177:17:0" + }, + "returnParameters": { + "id": 442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 439, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "4215:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4215:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 441, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "4224:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4224:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4214:18:0" + }, + "scope": 622, + "src": "4154:518:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 561, + "nodeType": "Block", + "src": "4755:351:0", + "statements": [ + { + "assignments": [ + 513 + ], + "declarations": [ + { + "constant": false, + "id": 513, + "mutability": "mutable", + "name": "usr", + "nodeType": "VariableDeclaration", + "scope": 561, + "src": "4766:19:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", + "typeString": "struct IDO.UserLog" + }, + "typeName": { + "id": 512, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 511, + "name": "UserLog", + "nodeType": "IdentifierPath", + "referencedDeclaration": 61, + "src": "4766:7:0" + }, + "referencedDeclaration": 61, + "src": "4766:7:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", + "typeString": "struct IDO.UserLog" + } + }, + "visibility": "internal" + } + ], + "id": 518, + "initialValue": { + "baseExpression": { + "id": 514, + "name": "userlog", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "4788:7:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", + "typeString": "mapping(address => struct IDO.UserLog storage ref)" + } + }, + "id": 517, + "indexExpression": { + "expression": { + "id": 515, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4796:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 516, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4394:33:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4796:10:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "4366:61:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4788:19:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UserLog_$61_storage", + "typeString": "struct IDO.UserLog storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "4344:83:0" + "src": "4766:41:0" }, { "assignments": [ - 475 + 520, + 522 ], "declarations": [ { "constant": false, - "id": 475, + "id": 520, + "mutability": "mutable", + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 561, + "src": "4819:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 519, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4819:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 522, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "4471:13:0", + "scope": 561, + "src": "4835:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28137,10 +30838,10 @@ "typeString": "uint256" }, "typeName": { - "id": 474, + "id": 521, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4471:7:0", + "src": "4835:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28149,510 +30850,810 @@ "visibility": "internal" } ], - "id": 485, + "id": 527, "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "arguments": [ + { + "expression": { + "id": 524, + "name": "usr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 513, + "src": "4867:3:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", + "typeString": "struct IDO.UserLog storage pointer" + } + }, + "id": 525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registeredPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "4867:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 523, + "name": "tokensAndPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 504, + "src": "4852:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256,uint256)" + } }, - "id": 484, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { - "components": [ - { + "names": [], + "nodeType": "FunctionCall", + "src": "4852:34:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4818:68:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 478, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 476, - "name": "tokenAmount", + "id": 529, + "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "4488:11:0", + "referencedDeclaration": 522, + "src": "4905:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "*", + "operator": "!=", "rightExpression": { - "id": 477, - "name": "idoPrice", + "hexValue": "30", + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4914:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4905:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 532, + "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "4502:8:0", + "referencedDeclaration": 520, + "src": "4919:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4488:22:0", + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4929:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4919:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4905:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "56616c7565732043616e2774204265205a65726f", + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4932:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4", + "typeString": "literal_string \"Values Can't Be Zero\"" + }, + "value": "Values Can't Be Zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4", + "typeString": "literal_string \"Values Can't Be Zero\"" + } + ], + "id": 528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4897:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4897:58:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 538, + "nodeType": "ExpressionStatement", + "src": "4897:58:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 540, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 522, + "src": "4974:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "id": 479, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4487:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4515:2:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 481, - "name": "dec", + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 541, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "4521:3:0", + "referencedDeclaration": 4294967281, + "src": "4983:3:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "src": "4515:9:0", + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "4983:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "4974:18:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f742056616c69642045746820416d6f756e74", + "id": 544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4994:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6", + "typeString": "literal_string \"Not Valid Eth Amount\"" + }, + "value": "Not Valid Eth Amount" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6", + "typeString": "literal_string \"Not Valid Eth Amount\"" } ], - "id": 483, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4514:11:0", + "id": 539, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4966:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "src": "4487:38:0", + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4966:51:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4471:54:0" + "id": 546, + "nodeType": "ExpressionStatement", + "src": "4966:51:0" }, { "expression": { - "components": [ - { - "id": 486, - "name": "tokenAmount", + "id": 551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 547, + "name": "usr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 461, - "src": "4546:11:0", + "referencedDeclaration": 513, + "src": "5030:3:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", + "typeString": "struct IDO.UserLog storage pointer" } }, - { - "id": 487, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "4559:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "id": 549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "purchased", + "nodeType": "MemberAccess", + "referencedDeclaration": 60, + "src": "5030:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - ], - "id": 488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4545:20:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 429, - "id": 489, - "nodeType": "Return", - "src": "4538:27:0" - } - ] - }, - "functionSelector": "236bcd58", - "id": 491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokensAndPrice", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "_poolNo", - "nodeType": "VariableDeclaration", - "scope": 491, - "src": "4079:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4079:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4078:17:0" - }, - "returnParameters": { - "id": 429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 426, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 491, - "src": "4116:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4116:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 428, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 491, - "src": "4125:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4125:7:0", + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5046:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5030:20:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "visibility": "internal" - } - ], - "src": "4115:18:0" - }, - "scope": 550, - "src": "4055:518:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 548, - "nodeType": "Block", - "src": "4656:351:0", - "statements": [ + "id": 552, + "nodeType": "ExpressionStatement", + "src": "5030:20:0" + }, { - "assignments": [ - 500 - ], - "declarations": [ - { - "constant": false, - "id": 500, - "mutability": "mutable", - "name": "usr", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "4667:19:0", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", - "typeString": "struct IDO.UserLog" - }, - "typeName": { - "id": 499, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 498, - "name": "UserLog", - "nodeType": "IdentifierPath", - "referencedDeclaration": 61, - "src": "4667:7:0" + "expression": { + "arguments": [ + { + "expression": { + "id": 556, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5079:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } }, - "referencedDeclaration": 61, - "src": "4667:7:0", + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5079:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", - "typeString": "struct IDO.UserLog" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "internal" - } - ], - "id": 505, - "initialValue": { - "baseExpression": { - "id": 501, - "name": "userlog", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 66, - "src": "4689:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserLog_$61_storage_$", - "typeString": "mapping(address => struct IDO.UserLog storage ref)" + { + "id": 558, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 520, + "src": "5091:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "id": 504, - "indexExpression": { + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], "expression": { - "id": 502, - "name": "msg", + "id": 553, + "name": "idoToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4697:3:0", + "referencedDeclaration": 19, + "src": "5061:8:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" } }, - "id": 503, + "id": 555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "sender", + "memberName": "transfer", "nodeType": "MemberAccess", - "src": "4697:10:0", + "referencedDeclaration": 823, + "src": "5061:17:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" } }, + "id": 559, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4689:19:0", + "names": [], + "nodeType": "FunctionCall", + "src": "5061:37:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage", - "typeString": "struct IDO.UserLog storage ref" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4667:41:0" + "id": 560, + "nodeType": "ExpressionStatement", + "src": "5061:37:0" + } + ] + }, + "functionSelector": "9c3962f0", + "id": 562, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 507, + "modifierName": { + "id": 506, + "name": "validSale", + "nodeType": "IdentifierPath", + "referencedDeclaration": 201, + "src": "4727:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "4727:9:0" + }, + { + "id": 509, + "modifierName": { + "id": 508, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 795, + "src": "4742:12:0" }, + "nodeType": "ModifierInvocation", + "src": "4742:12:0" + } + ], + "name": "buyNow", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 505, + "nodeType": "ParameterList", + "parameters": [], + "src": "4695:2:0" + }, + "returnParameters": { + "id": 510, + "nodeType": "ParameterList", + "parameters": [], + "src": "4755:0:0" + }, + "scope": 622, + "src": "4680:426:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 590, + "nodeType": "Block", + "src": "5165:134:0", + "statements": [ { "assignments": [ - 507, - 509 + 570, + null ], "declarations": [ { "constant": false, - "id": 507, + "id": 570, "mutability": "mutable", - "name": "amount", + "name": "sent", "nodeType": "VariableDeclaration", - "scope": 548, - "src": "4720:14:0", + "scope": 590, + "src": "5177:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 506, - "name": "uint256", + "id": 569, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4720:7:0", + "src": "5177:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "internal" }, - { - "constant": false, - "id": 509, - "mutability": "mutable", - "name": "price", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "4736:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4736:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } + null ], - "id": 514, + "id": 584, "initialValue": { "arguments": [ { + "hexValue": "", + "id": 582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5239:2:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], "expression": { - "id": 511, - "name": "usr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 500, - "src": "4768:3:0", + "arguments": [ + { + "id": 573, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "5199:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5191:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5191:7:0", + "typeDescriptions": {} + } + }, + "id": 574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5191:11:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", - "typeString": "struct IDO.UserLog storage pointer" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 512, + "id": 575, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "registeredPool", + "memberName": "call", "nodeType": "MemberAccess", - "referencedDeclaration": 58, - "src": "4768:18:0", + "src": "5191:16:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } - } - ], - "expression": { - "argumentTypes": [ + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "expression": { + "arguments": [ + { + "id": 578, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "5224:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + ], + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5216:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5216:7:0", + "typeDescriptions": {} + } + }, + "id": 579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5216:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "5216:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], - "id": 510, - "name": "tokensAndPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "4753:14:0", + "src": "5191:47:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256,uint256)" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 513, + "id": 583, "isConstant": false, "isLValue": false, "isPure": false, @@ -28660,144 +31661,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4753:34:0", + "src": "5191:51:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "4719:68:0" + "src": "5176:66:0" }, { "expression": { "arguments": [ { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 516, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 509, - "src": "4806:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4815:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4806:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 519, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "4820:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4830:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4820:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4806:25:0", + "id": 586, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 570, + "src": "5261:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "56616c7565732043616e2774204265205a65726f", - "id": 523, + "hexValue": "556e61626c6520546f205265636f76657220457468", + "id": 587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4833:22:0", + "src": "5267:23:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4", - "typeString": "literal_string \"Values Can't Be Zero\"" + "typeIdentifier": "t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478", + "typeString": "literal_string \"Unable To Recover Eth\"" }, - "value": "Values Can't Be Zero" + "value": "Unable To Recover Eth" } ], "expression": { @@ -28807,11 +31710,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_acc7529994d0f33d6669835a45d864fda14fef516601eef997f1c38b5b8c7ba4", - "typeString": "literal_string \"Values Can't Be Zero\"" + "typeIdentifier": "t_stringliteral_92f9f334e0b9c236f006a87b12f7327dd62cc0f7267297cbea826f624a422478", + "typeString": "literal_string \"Unable To Recover Eth\"" } ], - "id": 515, + "id": 585, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -28819,13 +31722,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4798:7:0", + "src": "5253:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 524, + "id": 588, "isConstant": false, "isLValue": false, "isPure": false, @@ -28833,235 +31736,299 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4798:58:0", + "src": "5253:38:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 525, + "id": 589, "nodeType": "ExpressionStatement", - "src": "4798:58:0" + "src": "5253:38:0" + } + ] + }, + "functionSelector": "7504db3e", + "id": 591, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 567, + "modifierName": { + "id": 566, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 705, + "src": "5155:9:0" }, + "nodeType": "ModifierInvocation", + "src": "5155:9:0" + } + ], + "name": "recoverEth", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 565, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 527, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 509, - "src": "4875:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 528, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4884:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4884:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "constant": false, + "id": 564, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 591, + "src": "5134:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5134:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5133:12:0" + }, + "returnParameters": { + "id": 568, + "nodeType": "ParameterList", + "parameters": [], + "src": "5165:0:0" + }, + "scope": 622, + "src": "5114:185:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 620, + "nodeType": "Block", + "src": "5408:125:0", + "statements": [ + { + "assignments": [ + 602 + ], + "declarations": [ + { + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "tok", + "nodeType": "VariableDeclaration", + "scope": 620, + "src": "5419:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" + }, + "typeName": { + "id": 601, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 600, + "name": "IERC20Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 899, + "src": "5419:14:0" }, - "src": "4875:18:0", + "referencedDeclaration": 899, + "src": "5419:14:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" } }, + "visibility": "internal" + } + ], + "id": 606, + "initialValue": { + "arguments": [ { - "hexValue": "4e6f742056616c69642045746820416d6f756e74", - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4895:22:0", + "id": 604, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "5455:12:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6", - "typeString": "literal_string \"Not Valid Eth Amount\"" - }, - "value": "Not Valid Eth Amount" + "typeIdentifier": "t_address", + "typeString": "address" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0429b09f8cfc5f1152d1dfac1de5023c67d4b2990efe1458bf16230570442eb6", - "typeString": "literal_string \"Not Valid Eth Amount\"" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 526, - "name": "require", + "id": 603, + "name": "IERC20Metadata", "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4867:7:0", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "5440:14:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$899_$", + "typeString": "type(contract IERC20Metadata)" } }, - "id": 532, + "id": 605, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4867:51:0", + "src": "5440:28:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" } }, - "id": 533, - "nodeType": "ExpressionStatement", - "src": "4867:51:0" + "nodeType": "VariableDeclarationStatement", + "src": "5419:49:0" }, { "expression": { - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 534, - "name": "usr", + "arguments": [ + { + "id": 610, + "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 500, - "src": "4931:3:0", + "referencedDeclaration": 595, + "src": "5492:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserLog_$61_storage_ptr", - "typeString": "struct IDO.UserLog storage pointer" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 536, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "purchased", - "nodeType": "MemberAccess", - "referencedDeclaration": 60, - "src": "4931:13:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4947:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4931:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 539, - "nodeType": "ExpressionStatement", - "src": "4931:20:0" - }, - { - "expression": { - "arguments": [ { + "arguments": [ + { + "arguments": [ + { + "id": 615, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "5518:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IDO_$622", + "typeString": "contract IDO" + } + ], + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5510:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5510:7:0", + "typeDescriptions": {} + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5510:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], "expression": { - "id": 543, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4980:3:0", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 611, + "name": "tok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "5496:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$899", + "typeString": "contract IERC20Metadata" + } + }, + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 813, + "src": "5496:13:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" } }, - "id": 544, + "id": 617, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4980:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 545, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "4992:6:0", + "names": [], + "nodeType": "FunctionCall", + "src": "5496:28:0", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29080,32 +32047,32 @@ } ], "expression": { - "id": 540, - "name": "idoToken", + "id": 607, + "name": "tok", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "4962:8:0", + "referencedDeclaration": 602, + "src": "5479:3:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20Metadata_$1724", + "typeIdentifier": "t_contract$_IERC20Metadata_$899", "typeString": "contract IERC20Metadata" } }, - "id": 542, + "id": 609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1648, - "src": "4962:17:0", + "referencedDeclaration": 823, + "src": "5479:12:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 546, + "id": 618, "isConstant": false, "isLValue": false, "isPure": false, @@ -29113,75 +32080,118 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4962:37:0", + "src": "5479:46:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 547, + "id": 619, "nodeType": "ExpressionStatement", - "src": "4962:37:0" + "src": "5479:46:0" } ] }, - "functionSelector": "9c3962f0", - "id": 549, + "functionSelector": "886f039a", + "id": 621, "implemented": true, "kind": "function", "modifiers": [ { - "id": 494, - "modifierName": { - "id": 493, - "name": "validSale", - "nodeType": "IdentifierPath", - "referencedDeclaration": 201, - "src": "4628:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "4628:9:0" - }, - { - "id": 496, + "id": 598, "modifierName": { - "id": 495, - "name": "nonReentrant", + "id": 597, + "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 1113, - "src": "4643:12:0" + "referencedDeclaration": 705, + "src": "5398:9:0" }, "nodeType": "ModifierInvocation", - "src": "4643:12:0" + "src": "5398:9:0" } ], - "name": "buyNow", + "name": "recoverERC20", "nodeType": "FunctionDefinition", "parameters": { - "id": 492, + "id": 596, "nodeType": "ParameterList", - "parameters": [], - "src": "4596:2:0" + "parameters": [ + { + "constant": false, + "id": 593, + "mutability": "mutable", + "name": "tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "5339:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5339:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 595, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "5371:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5371:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5328:60:0" }, "returnParameters": { - "id": 497, + "id": 599, "nodeType": "ParameterList", "parameters": [], - "src": "4656:0:0" + "src": "5408:0:0" }, - "scope": 550, - "src": "4581:426:0", - "stateMutability": "payable", + "scope": 622, + "src": "5307:226:0", + "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 551, - "src": "381:4631:0" + "scope": 623, + "src": "381:5157:0" } ], - "src": "33:4979:0" + "src": "33:5505:0" }, "compiler": { "name": "solc", @@ -29189,7 +32199,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-06-02T07:09:14.592Z", + "updatedAt": "2021-06-02T08:11:41.749Z", "devdoc": { "kind": "dev", "methods": { diff --git a/build/contracts/IStaker.json b/build/contracts/IStaker.json index 9a77342..c078507 100644 --- a/build/contracts/IStaker.json +++ b/build/contracts/IStaker.json @@ -72,15 +72,15 @@ "absolutePath": "/C/Users/sudip/Desktop/Matic Project/Staking/contracts/interfaces/IStaker.sol", "exportedSymbols": { "IStaker": [ - 964 + 646 ] }, - "id": 965, + "id": 647, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 942, + "id": 624, "literals": [ "solidity", "^", @@ -88,7 +88,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:4" + "src": "33:23:1" }, { "abstract": false, @@ -96,33 +96,33 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 964, + "id": 646, "linearizedBaseContracts": [ - 964 + 646 ], "name": "IStaker", "nodeType": "ContractDefinition", "nodes": [ { "functionSelector": "60217267", - "id": 949, + "id": 631, "implemented": false, "kind": "function", "modifiers": [], "name": "stakedBalance", "nodeType": "FunctionDefinition", "parameters": { - "id": 945, + "id": 627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 944, + "id": 626, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", - "scope": 949, - "src": "110:15:4", + "scope": 631, + "src": "110:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -130,10 +130,10 @@ "typeString": "address" }, "typeName": { - "id": 943, + "id": 625, "name": "address", "nodeType": "ElementaryTypeName", - "src": "110:7:4", + "src": "110:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -143,20 +143,20 @@ "visibility": "internal" } ], - "src": "109:17:4" + "src": "109:17:1" }, "returnParameters": { - "id": 948, + "id": 630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 947, + "id": 629, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", - "scope": 949, - "src": "150:7:4", + "scope": 631, + "src": "150:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -164,10 +164,10 @@ "typeString": "uint256" }, "typeName": { - "id": 946, + "id": 628, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "150:7:4", + "src": "150:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -176,34 +176,34 @@ "visibility": "internal" } ], - "src": "149:9:4" + "src": "149:9:1" }, - "scope": 964, - "src": "87:72:4", + "scope": 646, + "src": "87:72:1", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "76b467b7", - "id": 956, + "id": 638, "implemented": false, "kind": "function", "modifiers": [], "name": "unlockTime", "nodeType": "FunctionDefinition", "parameters": { - "id": 952, + "id": 634, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 951, + "id": 633, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "187:15:4", + "scope": 638, + "src": "187:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -211,10 +211,10 @@ "typeString": "address" }, "typeName": { - "id": 950, + "id": 632, "name": "address", "nodeType": "ElementaryTypeName", - "src": "187:7:4", + "src": "187:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -224,20 +224,20 @@ "visibility": "internal" } ], - "src": "186:17:4" + "src": "186:17:1" }, "returnParameters": { - "id": 955, + "id": 637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 954, + "id": 636, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "227:7:4", + "scope": 638, + "src": "227:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -245,10 +245,10 @@ "typeString": "uint256" }, "typeName": { - "id": 953, + "id": 635, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "227:7:4", + "src": "227:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -257,34 +257,34 @@ "visibility": "internal" } ], - "src": "226:9:4" + "src": "226:9:1" }, - "scope": 964, - "src": "167:69:4", + "scope": 646, + "src": "167:69:1", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "282d3fdf", - "id": 963, + "id": 645, "implemented": false, "kind": "function", "modifiers": [], "name": "lock", "nodeType": "FunctionDefinition", "parameters": { - "id": 961, + "id": 643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 640, "mutability": "mutable", "name": "user", "nodeType": "VariableDeclaration", - "scope": 963, - "src": "258:12:4", + "scope": 645, + "src": "258:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -292,10 +292,10 @@ "typeString": "address" }, "typeName": { - "id": 957, + "id": 639, "name": "address", "nodeType": "ElementaryTypeName", - "src": "258:7:4", + "src": "258:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -306,12 +306,12 @@ }, { "constant": false, - "id": 960, + "id": 642, "mutability": "mutable", "name": "unlock_time", "nodeType": "VariableDeclaration", - "scope": 963, - "src": "272:19:4", + "scope": 645, + "src": "272:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -319,10 +319,10 @@ "typeString": "uint256" }, "typeName": { - "id": 959, + "id": 641, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "272:7:4", + "src": "272:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -331,40 +331,40 @@ "visibility": "internal" } ], - "src": "257:35:4" + "src": "257:35:1" }, "returnParameters": { - "id": 962, + "id": 644, "nodeType": "ParameterList", "parameters": [], - "src": "301:0:4" + "src": "301:0:1" }, - "scope": 964, - "src": "244:58:4", + "scope": 646, + "src": "244:58:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 965, - "src": "60:247:4" + "scope": 647, + "src": "60:247:1" } ], - "src": "33:274:4" + "src": "33:274:1" }, "legacyAST": { "absolutePath": "/C/Users/sudip/Desktop/Matic Project/Staking/contracts/interfaces/IStaker.sol", "exportedSymbols": { "IStaker": [ - 964 + 646 ] }, - "id": 965, + "id": 647, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 942, + "id": 624, "literals": [ "solidity", "^", @@ -372,7 +372,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:4" + "src": "33:23:1" }, { "abstract": false, @@ -380,33 +380,33 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 964, + "id": 646, "linearizedBaseContracts": [ - 964 + 646 ], "name": "IStaker", "nodeType": "ContractDefinition", "nodes": [ { "functionSelector": "60217267", - "id": 949, + "id": 631, "implemented": false, "kind": "function", "modifiers": [], "name": "stakedBalance", "nodeType": "FunctionDefinition", "parameters": { - "id": 945, + "id": 627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 944, + "id": 626, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", - "scope": 949, - "src": "110:15:4", + "scope": 631, + "src": "110:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -414,10 +414,10 @@ "typeString": "address" }, "typeName": { - "id": 943, + "id": 625, "name": "address", "nodeType": "ElementaryTypeName", - "src": "110:7:4", + "src": "110:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -427,20 +427,20 @@ "visibility": "internal" } ], - "src": "109:17:4" + "src": "109:17:1" }, "returnParameters": { - "id": 948, + "id": 630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 947, + "id": 629, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", - "scope": 949, - "src": "150:7:4", + "scope": 631, + "src": "150:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -448,10 +448,10 @@ "typeString": "uint256" }, "typeName": { - "id": 946, + "id": 628, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "150:7:4", + "src": "150:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -460,34 +460,34 @@ "visibility": "internal" } ], - "src": "149:9:4" + "src": "149:9:1" }, - "scope": 964, - "src": "87:72:4", + "scope": 646, + "src": "87:72:1", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "76b467b7", - "id": 956, + "id": 638, "implemented": false, "kind": "function", "modifiers": [], "name": "unlockTime", "nodeType": "FunctionDefinition", "parameters": { - "id": 952, + "id": 634, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 951, + "id": 633, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "187:15:4", + "scope": 638, + "src": "187:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -495,10 +495,10 @@ "typeString": "address" }, "typeName": { - "id": 950, + "id": 632, "name": "address", "nodeType": "ElementaryTypeName", - "src": "187:7:4", + "src": "187:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -508,20 +508,20 @@ "visibility": "internal" } ], - "src": "186:17:4" + "src": "186:17:1" }, "returnParameters": { - "id": 955, + "id": 637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 954, + "id": 636, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "227:7:4", + "scope": 638, + "src": "227:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -529,10 +529,10 @@ "typeString": "uint256" }, "typeName": { - "id": 953, + "id": 635, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "227:7:4", + "src": "227:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -541,34 +541,34 @@ "visibility": "internal" } ], - "src": "226:9:4" + "src": "226:9:1" }, - "scope": 964, - "src": "167:69:4", + "scope": 646, + "src": "167:69:1", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "282d3fdf", - "id": 963, + "id": 645, "implemented": false, "kind": "function", "modifiers": [], "name": "lock", "nodeType": "FunctionDefinition", "parameters": { - "id": 961, + "id": 643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 640, "mutability": "mutable", "name": "user", "nodeType": "VariableDeclaration", - "scope": 963, - "src": "258:12:4", + "scope": 645, + "src": "258:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -576,10 +576,10 @@ "typeString": "address" }, "typeName": { - "id": 957, + "id": 639, "name": "address", "nodeType": "ElementaryTypeName", - "src": "258:7:4", + "src": "258:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -590,12 +590,12 @@ }, { "constant": false, - "id": 960, + "id": 642, "mutability": "mutable", "name": "unlock_time", "nodeType": "VariableDeclaration", - "scope": 963, - "src": "272:19:4", + "scope": 645, + "src": "272:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -603,10 +603,10 @@ "typeString": "uint256" }, "typeName": { - "id": 959, + "id": 641, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "272:7:4", + "src": "272:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -615,26 +615,26 @@ "visibility": "internal" } ], - "src": "257:35:4" + "src": "257:35:1" }, "returnParameters": { - "id": 962, + "id": 644, "nodeType": "ParameterList", "parameters": [], - "src": "301:0:4" + "src": "301:0:1" }, - "scope": 964, - "src": "244:58:4", + "scope": 646, + "src": "244:58:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 965, - "src": "60:247:4" + "scope": 647, + "src": "60:247:1" } ], - "src": "33:274:4" + "src": "33:274:1" }, "compiler": { "name": "solc", @@ -642,7 +642,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-06-02T07:09:14.787Z", + "updatedAt": "2021-06-02T08:11:41.792Z", "devdoc": { "kind": "dev", "methods": {}, diff --git a/build/contracts/TestToken.json b/build/contracts/TestToken.json new file mode 100644 index 0000000..7f1f449 --- /dev/null +++ b/build/contracts/TestToken.json @@ -0,0 +1,9897 @@ +{ + "contractName": "TestToken", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/C/Users/sudip/Desktop/Matic Project/Staking/contracts/Tokens/TestToken.sol\":\"TestToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/sudip/Desktop/Matic Project/Staking/contracts/Tokens/TestToken.sol\":{\"keccak256\":\"0x4d9968a6b2705867a0c29bb8930b4805c1d0e9bd16f9efa033f0881e9c9819b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6d9b4532a799580582c103eb1999ba1cdf58f8110544f3ff0cd4a00e2c6d212\",\"dweb:/ipfs/QmcFQU25QBmc8vh5csVXgy83kZVFn4ayxyq5T3y61tT6e2\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xfeccdcbf67b2006a715e5af1a4c7556004d95b2806552b5cc54e46e8eb7e887b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45b1f9043c0fb450272f20ed19ef633fcba1b129d602651a856dfae1a2243a2c\",\"dweb:/ipfs/QmUTSQiDikkcNtTtyDpkEwCM5ztVUUh9c1inBukn6HC5Vr\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xf8e8d118a7a8b2e134181f7da655f6266aa3a0f9134b2605747139fcb0c5d835\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ec48567e7ad06acb670980d5cdf3fd7f3949bf12894f02d68c3bb43e75aa84f\",\"dweb:/ipfs/QmaG3R2J9cz92YT77vFjYrjMNU2wHp4ypwYD62HqDUqS5U\"]},\"openzeppelin-solidity/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]},\"openzeppelin-solidity/contracts/utils/Context.sol\":{\"keccak256\":\"0xf930d2df426bfcfc1f7415be724f04081c96f4fb9ec8d0e3a521c07692dface0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc2bfdea0d2562c76fb3c4cf70a86c6ba25c5a30e8f8515c95aafdf8383f8395\",\"dweb:/ipfs/QmTbFya18786ckJfLYUoWau9jBTKfmWnWm5XSViWvB7PXN\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600981526020017f54657374546f6b656e00000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5465546f000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000969291906200026d565b508060049080519060200190620000af9291906200026d565b505050620000f433620000c7620000fa60201b60201c565b60ff16600a620000d8919062000478565b62989680620000e89190620005b5565b6200010360201b60201c565b620006c1565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000176576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200016d9062000370565b60405180910390fd5b6200018a600083836200026860201b60201c565b80600260008282546200019e9190620003c0565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001f59190620003c0565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200025c919062000392565b60405180910390a35050565b505050565b8280546200027b9062000620565b90600052602060002090601f0160209004810192826200029f5760008555620002eb565b82601f10620002ba57805160ff1916838001178555620002eb565b82800160010185558215620002eb579182015b82811115620002ea578251825591602001919060010190620002cd565b5b509050620002fa9190620002fe565b5090565b5b8082111562000319576000816000905550600101620002ff565b5090565b60006200032c601f83620003af565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6200036a8162000616565b82525050565b600060208201905081810360008301526200038b816200031d565b9050919050565b6000602082019050620003a960008301846200035f565b92915050565b600082825260208201905092915050565b6000620003cd8262000616565b9150620003da8362000616565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000412576200041162000656565b5b828201905092915050565b6000808291508390505b60018511156200046f5780860481111562000447576200044662000656565b5b6001851615620004575780820291505b80810290506200046785620006b4565b945062000427565b94509492505050565b6000620004858262000616565b9150620004928362000616565b9250620004c17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004c9565b905092915050565b600082620004db5760019050620005ae565b81620004eb5760009050620005ae565b81600181146200050457600281146200050f5762000545565b6001915050620005ae565b60ff84111562000524576200052362000656565b5b8360020a9150848211156200053e576200053d62000656565b5b50620005ae565b5060208310610133831016604e8410600b84101617156200057f5782820a90508381111562000579576200057862000656565b5b620005ae565b6200058e84848460016200041d565b92509050818404811115620005a857620005a762000656565b5b81810290505b9392505050565b6000620005c28262000616565b9150620005cf8362000616565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200060b576200060a62000656565b5b828202905092915050565b6000819050919050565b600060028204905060018216806200063957607f821691505b6020821081141562000650576200064f62000685565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b61138080620006d16000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190611015565b60405180910390f35b6100e660048036038101906100e19190610c8e565b610308565b6040516100f39190610ffa565b60405180910390f35b610104610326565b6040516101119190611117565b60405180910390f35b610134600480360381019061012f9190610c3f565b610330565b6040516101419190610ffa565b60405180910390f35b610152610431565b60405161015f9190611132565b60405180910390f35b610182600480360381019061017d9190610c8e565b61043a565b60405161018f9190610ffa565b60405180910390f35b6101b260048036038101906101ad9190610bda565b6104e6565b6040516101bf9190611117565b60405180910390f35b6101d061052e565b6040516101dd9190611015565b60405180910390f35b61020060048036038101906101fb9190610c8e565b6105c0565b60405161020d9190610ffa565b60405180910390f35b610230600480360381019061022b9190610c8e565b6106b4565b60405161023d9190610ffa565b60405180910390f35b610260600480360381019061025b9190610c03565b6106d2565b60405161026d9190611117565b60405180910390f35b6060600380546102859061127b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b19061127b565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610759565b8484610761565b6001905092915050565b6000600254905090565b600061033d84848461092c565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610388610759565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90611097565b60405180910390fd5b61042585610414610759565b858461042091906111bf565b610761565b60019150509392505050565b60006012905090565b60006104dc610447610759565b848460016000610455610759565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104d79190611169565b610761565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461053d9061127b565b80601f01602080910402602001604051908101604052809291908181526020018280546105699061127b565b80156105b65780601f1061058b576101008083540402835291602001916105b6565b820191906000526020600020905b81548152906001019060200180831161059957829003601f168201915b5050505050905090565b600080600160006105cf610759565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561068c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610683906110f7565b60405180910390fd5b6106a9610697610759565b8585846106a491906111bf565b610761565b600191505092915050565b60006106c86106c1610759565b848461092c565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c8906110d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610841576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083890611057565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161091f9190611117565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561099c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610993906110b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0390611037565b60405180910390fd5b610a17838383610bab565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9490611077565b60405180910390fd5b8181610aa991906111bf565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b399190611169565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b9d9190611117565b60405180910390a350505050565b505050565b600081359050610bbf8161131c565b92915050565b600081359050610bd481611333565b92915050565b600060208284031215610bec57600080fd5b6000610bfa84828501610bb0565b91505092915050565b60008060408385031215610c1657600080fd5b6000610c2485828601610bb0565b9250506020610c3585828601610bb0565b9150509250929050565b600080600060608486031215610c5457600080fd5b6000610c6286828701610bb0565b9350506020610c7386828701610bb0565b9250506040610c8486828701610bc5565b9150509250925092565b60008060408385031215610ca157600080fd5b6000610caf85828601610bb0565b9250506020610cc085828601610bc5565b9150509250929050565b610cd381611205565b82525050565b6000610ce48261114d565b610cee8185611158565b9350610cfe818560208601611248565b610d078161130b565b840191505092915050565b6000610d1f602383611158565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610d85602283611158565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610deb602683611158565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610e51602883611158565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610eb7602583611158565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610f1d602483611158565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610f83602583611158565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b610fe581611231565b82525050565b610ff48161123b565b82525050565b600060208201905061100f6000830184610cca565b92915050565b6000602082019050818103600083015261102f8184610cd9565b905092915050565b6000602082019050818103600083015261105081610d12565b9050919050565b6000602082019050818103600083015261107081610d78565b9050919050565b6000602082019050818103600083015261109081610dde565b9050919050565b600060208201905081810360008301526110b081610e44565b9050919050565b600060208201905081810360008301526110d081610eaa565b9050919050565b600060208201905081810360008301526110f081610f10565b9050919050565b6000602082019050818103600083015261111081610f76565b9050919050565b600060208201905061112c6000830184610fdc565b92915050565b60006020820190506111476000830184610feb565b92915050565b600081519050919050565b600082825260208201905092915050565b600061117482611231565b915061117f83611231565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156111b4576111b36112ad565b5b828201905092915050565b60006111ca82611231565b91506111d583611231565b9250828210156111e8576111e76112ad565b5b828203905092915050565b60006111fe82611211565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561126657808201518184015260208101905061124b565b83811115611275576000848401525b50505050565b6000600282049050600182168061129357607f821691505b602082108114156112a7576112a66112dc565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611325816111f3565b811461133057600080fd5b50565b61133c81611231565b811461134757600080fd5b5056fea2646970667358221220c29c807f52c670fc8f77088ebad1e6d98a60aca20f11deedf52b68745d2e922564736f6c63430008000033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190611015565b60405180910390f35b6100e660048036038101906100e19190610c8e565b610308565b6040516100f39190610ffa565b60405180910390f35b610104610326565b6040516101119190611117565b60405180910390f35b610134600480360381019061012f9190610c3f565b610330565b6040516101419190610ffa565b60405180910390f35b610152610431565b60405161015f9190611132565b60405180910390f35b610182600480360381019061017d9190610c8e565b61043a565b60405161018f9190610ffa565b60405180910390f35b6101b260048036038101906101ad9190610bda565b6104e6565b6040516101bf9190611117565b60405180910390f35b6101d061052e565b6040516101dd9190611015565b60405180910390f35b61020060048036038101906101fb9190610c8e565b6105c0565b60405161020d9190610ffa565b60405180910390f35b610230600480360381019061022b9190610c8e565b6106b4565b60405161023d9190610ffa565b60405180910390f35b610260600480360381019061025b9190610c03565b6106d2565b60405161026d9190611117565b60405180910390f35b6060600380546102859061127b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b19061127b565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610759565b8484610761565b6001905092915050565b6000600254905090565b600061033d84848461092c565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610388610759565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90611097565b60405180910390fd5b61042585610414610759565b858461042091906111bf565b610761565b60019150509392505050565b60006012905090565b60006104dc610447610759565b848460016000610455610759565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104d79190611169565b610761565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461053d9061127b565b80601f01602080910402602001604051908101604052809291908181526020018280546105699061127b565b80156105b65780601f1061058b576101008083540402835291602001916105b6565b820191906000526020600020905b81548152906001019060200180831161059957829003601f168201915b5050505050905090565b600080600160006105cf610759565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561068c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610683906110f7565b60405180910390fd5b6106a9610697610759565b8585846106a491906111bf565b610761565b600191505092915050565b60006106c86106c1610759565b848461092c565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c8906110d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610841576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083890611057565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161091f9190611117565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561099c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610993906110b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0390611037565b60405180910390fd5b610a17838383610bab565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9490611077565b60405180910390fd5b8181610aa991906111bf565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b399190611169565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b9d9190611117565b60405180910390a350505050565b505050565b600081359050610bbf8161131c565b92915050565b600081359050610bd481611333565b92915050565b600060208284031215610bec57600080fd5b6000610bfa84828501610bb0565b91505092915050565b60008060408385031215610c1657600080fd5b6000610c2485828601610bb0565b9250506020610c3585828601610bb0565b9150509250929050565b600080600060608486031215610c5457600080fd5b6000610c6286828701610bb0565b9350506020610c7386828701610bb0565b9250506040610c8486828701610bc5565b9150509250925092565b60008060408385031215610ca157600080fd5b6000610caf85828601610bb0565b9250506020610cc085828601610bc5565b9150509250929050565b610cd381611205565b82525050565b6000610ce48261114d565b610cee8185611158565b9350610cfe818560208601611248565b610d078161130b565b840191505092915050565b6000610d1f602383611158565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610d85602283611158565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610deb602683611158565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610e51602883611158565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610eb7602583611158565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610f1d602483611158565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610f83602583611158565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b610fe581611231565b82525050565b610ff48161123b565b82525050565b600060208201905061100f6000830184610cca565b92915050565b6000602082019050818103600083015261102f8184610cd9565b905092915050565b6000602082019050818103600083015261105081610d12565b9050919050565b6000602082019050818103600083015261107081610d78565b9050919050565b6000602082019050818103600083015261109081610dde565b9050919050565b600060208201905081810360008301526110b081610e44565b9050919050565b600060208201905081810360008301526110d081610eaa565b9050919050565b600060208201905081810360008301526110f081610f10565b9050919050565b6000602082019050818103600083015261111081610f76565b9050919050565b600060208201905061112c6000830184610fdc565b92915050565b60006020820190506111476000830184610feb565b92915050565b600081519050919050565b600082825260208201905092915050565b600061117482611231565b915061117f83611231565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156111b4576111b36112ad565b5b828201905092915050565b60006111ca82611231565b91506111d583611231565b9250828210156111e8576111e76112ad565b5b828203905092915050565b60006111fe82611211565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561126657808201518184015260208101905061124b565b83811115611275576000848401525b50505050565b6000600282049050600182168061129357607f821691505b602082108114156112a7576112a66112dc565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611325816111f3565b811461133057600080fd5b50565b61133c81611231565b811461134757600080fd5b5056fea2646970667358221220c29c807f52c670fc8f77088ebad1e6d98a60aca20f11deedf52b68745d2e922564736f6c63430008000033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:5069:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "153:183:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "163:74:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "229:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "234:2:9", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "170:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "170:67:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "163:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "258:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "263:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "254:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "254:11:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "267:33:9", + "type": "", + "value": "ERC20: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "247:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "247:54:9" + }, + "nodeType": "YulExpressionStatement", + "src": "247:54:9" + }, + { + "nodeType": "YulAssignment", + "src": "311:19:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "322:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "327:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "318:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "318:12:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "311:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "141:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "149:3:9", + "type": "" + } + ], + "src": "7:329:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "407:53:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "424:3:9" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "447:5:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "429:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "429:24:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "417:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "417:37:9" + }, + "nodeType": "YulExpressionStatement", + "src": "417:37:9" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "395:5:9", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "402:3:9", + "type": "" + } + ], + "src": "342:118:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "637:248:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "647:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "659:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "670:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "655:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "655:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "647:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "694:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "705:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "690:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "690:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "713:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "719:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "709:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "709:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "683:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "683:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "683:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "739:139:9", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "873:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "747:124:9" + }, + "nodeType": "YulFunctionCall", + "src": "747:131:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "739:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "617:9:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "632:4:9", + "type": "" + } + ], + "src": "466:419:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "989:124:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "999:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1011:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1022:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1007:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1007:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "999:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1079:6:9" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1092:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1103:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1088:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1088:17:9" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "1035:43:9" + }, + "nodeType": "YulFunctionCall", + "src": "1035:71:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1035:71:9" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "961:9:9", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "973:6:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "984:4:9", + "type": "" + } + ], + "src": "891:222:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1215:73:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1232:3:9" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1237:6:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1225:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "1225:19:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1225:19:9" + }, + { + "nodeType": "YulAssignment", + "src": "1253:29:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1272:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1277:4:9", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1268:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1268:14:9" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1253:11:9" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1187:3:9", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1192:6:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1203:11:9", + "type": "" + } + ], + "src": "1119:169:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1338:261:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1348:25:9", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "1371:1:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1353:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "1353:20:9" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "1348:1:9" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1382:25:9", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "1405:1:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1387:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "1387:20:9" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "1382:1:9" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1545:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "1547:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "1547:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1547:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "1466:1:9" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1473:66:9", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "1541:1:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1469:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1469:74:9" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1463:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "1463:81:9" + }, + "nodeType": "YulIf", + "src": "1460:2:9" + }, + { + "nodeType": "YulAssignment", + "src": "1577:16:9", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "1588:1:9" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "1591:1:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1584:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1584:9:9" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "1577:3:9" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "1325:1:9", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "1328:1:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "1334:3:9", + "type": "" + } + ], + "src": "1294:305:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1678:775:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1688:15:9", + "value": { + "name": "_power", + "nodeType": "YulIdentifier", + "src": "1697:6:9" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "1688:5:9" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1712:14:9", + "value": { + "name": "_base", + "nodeType": "YulIdentifier", + "src": "1721:5:9" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "1712:4:9" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1770:677:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1858:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "1860:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "1860:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1860:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "1836:4:9" + }, + { + "arguments": [ + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "1846:3:9" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "1851:4:9" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "1842:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1842:14:9" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1833:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "1833:24:9" + }, + "nodeType": "YulIf", + "src": "1830:2:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1925:419:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2305:25:9", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "2318:5:9" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "2325:4:9" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "2314:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "2314:16:9" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "2305:5:9" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "1900:8:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1910:1:9", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1896:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1896:16:9" + }, + "nodeType": "YulIf", + "src": "1893:2:9" + }, + { + "nodeType": "YulAssignment", + "src": "2357:23:9", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "2369:4:9" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "2375:4:9" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "2365:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "2365:15:9" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "2357:4:9" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2393:44:9", + "value": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "2428:8:9" + } + ], + "functionName": { + "name": "shift_right_1_unsigned", + "nodeType": "YulIdentifier", + "src": "2405:22:9" + }, + "nodeType": "YulFunctionCall", + "src": "2405:32:9" + }, + "variableNames": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "2393:8:9" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "1746:8:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1756:1:9", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1743:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "1743:15:9" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1759:2:9", + "statements": [] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1739:3:9", + "statements": [] + }, + "src": "1735:712:9" + } + ] + }, + "name": "checked_exp_helper", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "_power", + "nodeType": "YulTypedName", + "src": "1633:6:9", + "type": "" + }, + { + "name": "_base", + "nodeType": "YulTypedName", + "src": "1641:5:9", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "1648:8:9", + "type": "" + }, + { + "name": "max", + "nodeType": "YulTypedName", + "src": "1658:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "1666:5:9", + "type": "" + }, + { + "name": "base", + "nodeType": "YulTypedName", + "src": "1673:4:9", + "type": "" + } + ], + "src": "1605:848:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2525:219:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2535:31:9", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "2561:4:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2543:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "2543:23:9" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "2535:4:9" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2575:39:9", + "value": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "2605:8:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2587:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "2587:27:9" + }, + "variableNames": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "2575:8:9" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2624:113:9", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "2654:4:9" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "2660:8:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2670:66:9", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "checked_exp_unsigned", + "nodeType": "YulIdentifier", + "src": "2633:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "2633:104:9" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "2624:5:9" + } + ] + } + ] + }, + "name": "checked_exp_t_uint256_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "2500:4:9", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "2506:8:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "2519:5:9", + "type": "" + } + ], + "src": "2459:285:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2810:1013:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3005:20:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3007:10:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3016:1:9", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3007:5:9" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "3018:5:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "2995:8:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2988:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "2988:16:9" + }, + "nodeType": "YulIf", + "src": "2985:2:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3050:20:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3052:10:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3061:1:9", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3052:5:9" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "3063:5:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3044:4:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3037:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "3037:12:9" + }, + "nodeType": "YulIf", + "src": "3034:2:9" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3180:20:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3182:10:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3191:1:9", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3182:5:9" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "3193:5:9" + } + ] + }, + "nodeType": "YulCase", + "src": "3173:27:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3178:1:9", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3224:176:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3259:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "3261:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "3261:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3261:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "3244:8:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3254:3:9", + "type": "", + "value": "255" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3241:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3241:17:9" + }, + "nodeType": "YulIf", + "src": "3238:2:9" + }, + { + "nodeType": "YulAssignment", + "src": "3294:25:9", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3307:1:9", + "type": "", + "value": "2" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "3310:8:9" + } + ], + "functionName": { + "name": "exp", + "nodeType": "YulIdentifier", + "src": "3303:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3303:16:9" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3294:5:9" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3350:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "3352:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "3352:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3352:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3338:5:9" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "3345:3:9" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3335:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3335:14:9" + }, + "nodeType": "YulIf", + "src": "3332:2:9" + }, + { + "nodeType": "YulLeave", + "src": "3385:5:9" + } + ] + }, + "nodeType": "YulCase", + "src": "3209:191:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3214:1:9", + "type": "", + "value": "2" + } + } + ], + "expression": { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3130:4:9" + }, + "nodeType": "YulSwitch", + "src": "3123:277:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3532:123:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3546:28:9", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3559:4:9" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "3565:8:9" + } + ], + "functionName": { + "name": "exp", + "nodeType": "YulIdentifier", + "src": "3555:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3555:19:9" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3546:5:9" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3605:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "3607:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "3607:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3607:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3593:5:9" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "3600:3:9" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3590:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3590:14:9" + }, + "nodeType": "YulIf", + "src": "3587:2:9" + }, + { + "nodeType": "YulLeave", + "src": "3640:5:9" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3435:4:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3441:2:9", + "type": "", + "value": "11" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3432:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3432:12:9" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "3449:8:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3459:2:9", + "type": "", + "value": "78" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3446:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3446:16:9" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3428:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3428:35:9" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3484:4:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3490:3:9", + "type": "", + "value": "307" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3481:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3481:13:9" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "3499:8:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3509:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3496:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3496:16:9" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3477:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3477:36:9" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "3412:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3412:111:9" + }, + "nodeType": "YulIf", + "src": "3409:2:9" + }, + { + "nodeType": "YulAssignment", + "src": "3665:57:9", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3699:1:9", + "type": "", + "value": "1" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3702:4:9" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "3708:8:9" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "3718:3:9" + } + ], + "functionName": { + "name": "checked_exp_helper", + "nodeType": "YulIdentifier", + "src": "3680:18:9" + }, + "nodeType": "YulFunctionCall", + "src": "3680:42:9" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3665:5:9" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3672:4:9" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3761:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "3763:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "3763:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3763:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3738:5:9" + }, + { + "arguments": [ + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "3749:3:9" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3754:4:9" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "3745:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3745:14:9" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3735:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "3735:25:9" + }, + "nodeType": "YulIf", + "src": "3732:2:9" + }, + { + "nodeType": "YulAssignment", + "src": "3792:25:9", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3805:5:9" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "3812:4:9" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "3801:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3801:16:9" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "3792:5:9" + } + ] + } + ] + }, + "name": "checked_exp_unsigned", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "2780:4:9", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "2786:8:9", + "type": "" + }, + { + "name": "max", + "nodeType": "YulTypedName", + "src": "2796:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "2804:5:9", + "type": "" + } + ], + "src": "2750:1073:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3877:300:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3887:25:9", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "3910:1:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3892:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "3892:20:9" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "3887:1:9" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3921:25:9", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "3944:1:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3926:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "3926:20:9" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "3921:1:9" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4119:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "4121:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "4121:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4121:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4031:1:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4024:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4024:9:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4017:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4017:17:9" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "4039:1:9" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4046:66:9", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4114:1:9" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "4042:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4042:74:9" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4036:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "4036:81:9" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4013:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4013:105:9" + }, + "nodeType": "YulIf", + "src": "4010:2:9" + }, + { + "nodeType": "YulAssignment", + "src": "4151:20:9", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4166:1:9" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "4169:1:9" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4162:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4162:9:9" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "4151:7:9" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "3860:1:9", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "3863:1:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "3869:7:9", + "type": "" + } + ], + "src": "3829:348:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4228:32:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4238:16:9", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4249:5:9" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4238:7:9" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4210:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4220:7:9", + "type": "" + } + ], + "src": "4183:77:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4317:269:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4327:22:9", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4341:4:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4347:1:9", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "4337:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4337:12:9" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4327:6:9" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4358:38:9", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4388:4:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4394:1:9", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4384:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4384:12:9" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "4362:18:9", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4435:51:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4449:27:9", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4463:6:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4471:4:9", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4459:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4459:17:9" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4449:6:9" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4415:18:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4408:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4408:26:9" + }, + "nodeType": "YulIf", + "src": "4405:2:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4538:42:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "4552:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "4552:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4552:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4502:18:9" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4525:6:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4533:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4522:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "4522:14:9" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4499:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "4499:38:9" + }, + "nodeType": "YulIf", + "src": "4496:2:9" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "4301:4:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4310:6:9", + "type": "" + } + ], + "src": "4266:320:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4620:152:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4637:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4640:77:9", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4630:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4630:88:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4630:88:9" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4734:1:9", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4737:4:9", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4727:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4727:15:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4727:15:9" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4758:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4761:4:9", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4751:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4751:15:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4751:15:9" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "4592:180:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4806:152:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4823:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4826:77:9", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4816:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4816:88:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4816:88:9" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4920:1:9", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4923:4:9", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4913:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4913:15:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4913:15:9" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4944:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4947:4:9", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4937:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4937:15:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4937:15:9" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "4778:180:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5015:51:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5025:34:9", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5050:1:9", + "type": "", + "value": "1" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5053:5:9" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "5046:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "5046:13:9" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "5025:8:9" + } + ] + } + ] + }, + "name": "shift_right_1_unsigned", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4996:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "5006:8:9", + "type": "" + } + ], + "src": "4964:102:9" + } + ] + }, + "contents": "{\n\n function abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n\n mstore(add(pos, 0), \"ERC20: mint to the zero address\")\n\n end := add(pos, 32)\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_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__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_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack( tail)\n\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 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 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 checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint256(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n}\n", + "id": 9, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:11922:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "59:87:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "69:29:9", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "91:6:9" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "78:12:9" + }, + "nodeType": "YulFunctionCall", + "src": "78:20:9" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "69:5:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "134:5:9" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "107:26:9" + }, + "nodeType": "YulFunctionCall", + "src": "107:33:9" + }, + "nodeType": "YulExpressionStatement", + "src": "107:33:9" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "37:6:9", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "53:5:9", + "type": "" + } + ], + "src": "7:139:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "204:87:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "214:29:9", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "236:6:9" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "223:12:9" + }, + "nodeType": "YulFunctionCall", + "src": "223:20:9" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "214:5:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "279:5:9" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "252:26:9" + }, + "nodeType": "YulFunctionCall", + "src": "252:33:9" + }, + "nodeType": "YulExpressionStatement", + "src": "252:33:9" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "182:6:9", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "190:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "198:5:9", + "type": "" + } + ], + "src": "152:139:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "363:196:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "409:16:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "418:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "421:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "411:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "411:12:9" + }, + "nodeType": "YulExpressionStatement", + "src": "411:12:9" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "384:7:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "393:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "380:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "380:23:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "405:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "376:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "376:32:9" + }, + "nodeType": "YulIf", + "src": "373:2:9" + }, + { + "nodeType": "YulBlock", + "src": "435:117:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "450:15:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "464:1:9", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "454:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "479:63:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "514:9:9" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "525:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "510:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "510:22:9" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "534:7:9" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "489:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "489:53:9" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "479:6:9" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "333:9:9", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "344:7:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "356:6:9", + "type": "" + } + ], + "src": "297:262:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "648:324:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "694:16:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "703:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "706:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "696:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "696:12:9" + }, + "nodeType": "YulExpressionStatement", + "src": "696:12:9" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "669:7:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "678:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "665:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "665:23:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "690:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "661:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "661:32:9" + }, + "nodeType": "YulIf", + "src": "658:2:9" + }, + { + "nodeType": "YulBlock", + "src": "720:117:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "735:15:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "749:1:9", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "739:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "764:63:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "799:9:9" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "810:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "795:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "795:22:9" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "819:7:9" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "774:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "774:53:9" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "764:6:9" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "847:118:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "862:16:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "876:2:9", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "866:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "892:63:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "927:9:9" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "938:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "923:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "923:22:9" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "947:7:9" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "902:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "902:53:9" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "892:6:9" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "610:9:9", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "621:7:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "633:6:9", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "641:6:9", + "type": "" + } + ], + "src": "565:407:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1078:452:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1124:16:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1133:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1136:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1126:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "1126:12:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1126:12:9" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1099:7:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1108:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1095:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1095:23:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1120:2:9", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1091:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1091:32:9" + }, + "nodeType": "YulIf", + "src": "1088:2:9" + }, + { + "nodeType": "YulBlock", + "src": "1150:117:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1165:15:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1179:1:9", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1169:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1194:63:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1229:9:9" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1240:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1225:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1225:22:9" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1249:7:9" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1204:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "1204:53:9" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1194:6:9" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1277:118:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1292:16:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1306:2:9", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1296:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1322:63:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1357:9:9" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1368:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1353:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1353:22:9" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1377:7:9" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1332:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "1332:53:9" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1322:6:9" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1405:118:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1420:16:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1434:2:9", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1424:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1450:63:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1485:9:9" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1496:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1481:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1481:22:9" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1505:7:9" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1460:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "1460:53:9" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1450:6:9" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1032:9:9", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1043:7:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1055:6:9", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1063:6:9", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1071:6:9", + "type": "" + } + ], + "src": "978:552:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1619:324:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1665:16:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1674:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1677:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1667:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "1667:12:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1667:12:9" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1640:7:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1649:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1636:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1636:23:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1661:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1632:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1632:32:9" + }, + "nodeType": "YulIf", + "src": "1629:2:9" + }, + { + "nodeType": "YulBlock", + "src": "1691:117:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1706:15:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1720:1:9", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1710:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1735:63:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1770:9:9" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1781:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1766:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1766:22:9" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1790:7:9" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1745:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "1745:53:9" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1735:6:9" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1818:118:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1833:16:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1847:2:9", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1837:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1863:63:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1898:9:9" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1909:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1894:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1894:22:9" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1918:7:9" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1873:20:9" + }, + "nodeType": "YulFunctionCall", + "src": "1873:53:9" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1863:6:9" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1581:9:9", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1592:7:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1604:6:9", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1612:6:9", + "type": "" + } + ], + "src": "1536:407:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2008:50:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2025:3:9" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2045:5:9" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "2030:14:9" + }, + "nodeType": "YulFunctionCall", + "src": "2030:21:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2018:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "2018:34:9" + }, + "nodeType": "YulExpressionStatement", + "src": "2018:34:9" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1996:5:9", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2003:3:9", + "type": "" + } + ], + "src": "1949:109:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2156:272:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2166:53:9", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2213:5:9" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2180:32:9" + }, + "nodeType": "YulFunctionCall", + "src": "2180:39:9" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2170:6:9", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2228:78:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2294:3:9" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2299:6:9" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2235:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "2235:71:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2228:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2341:5:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2348:4:9", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2337:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "2337:16:9" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2355:3:9" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2360:6:9" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2315:21:9" + }, + "nodeType": "YulFunctionCall", + "src": "2315:52:9" + }, + "nodeType": "YulExpressionStatement", + "src": "2315:52:9" + }, + { + "nodeType": "YulAssignment", + "src": "2376:46:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2387:3:9" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2414:6:9" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2392:21:9" + }, + "nodeType": "YulFunctionCall", + "src": "2392:29:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2383:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "2383:39:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2376:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2137:5:9", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2144:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2152:3:9", + "type": "" + } + ], + "src": "2064:364:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2580:221:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2590:74:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2656:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2661:2:9", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2597:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "2597:67:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2590:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2685:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2690:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2681:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "2681:11:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "2694:34:9", + "type": "", + "value": "ERC20: transfer to the zero addr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2674:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "2674:55:9" + }, + "nodeType": "YulExpressionStatement", + "src": "2674:55:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2750:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2755:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2746:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "2746:12:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "2760:5:9", + "type": "", + "value": "ess" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2739:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "2739:27:9" + }, + "nodeType": "YulExpressionStatement", + "src": "2739:27:9" + }, + { + "nodeType": "YulAssignment", + "src": "2776:19:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2787:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2792:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2783:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "2783:12:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2776:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2568:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2576:3:9", + "type": "" + } + ], + "src": "2434:367:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2953:220:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2963:74:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3029:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3034:2:9", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2970:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "2970:67:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2963:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3058:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3063:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3054:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3054:11:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "3067:34:9", + "type": "", + "value": "ERC20: approve to the zero addre" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3047:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "3047:55:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3047:55:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3123:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3128:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3119:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3119:12:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "3133:4:9", + "type": "", + "value": "ss" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3112:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "3112:26:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3112:26:9" + }, + { + "nodeType": "YulAssignment", + "src": "3148:19:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3159:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3164:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3155:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3155:12:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3148:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2941:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2949:3:9", + "type": "" + } + ], + "src": "2807:366:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3325:224:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3335:74:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3401:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3406:2:9", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3342:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "3342:67:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3335:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3430:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3435:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3426:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3426:11:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "3439:34:9", + "type": "", + "value": "ERC20: transfer amount exceeds b" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3419:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "3419:55:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3419:55:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3495:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3500:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3491:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3491:12:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "3505:8:9", + "type": "", + "value": "alance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3484:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "3484:30:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3484:30:9" + }, + { + "nodeType": "YulAssignment", + "src": "3524:19:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3535:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3540:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3531:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3531:12:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3524:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3313:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3321:3:9", + "type": "" + } + ], + "src": "3179:370:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3701:226:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3711:74:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3777:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3782:2:9", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3718:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "3718:67:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3711:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3806:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3811:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3802:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3802:11:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "3815:34:9", + "type": "", + "value": "ERC20: transfer amount exceeds a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3795:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "3795:55:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3795:55:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3871:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3876:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3867:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3867:12:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "3881:10:9", + "type": "", + "value": "llowance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3860:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "3860:32:9" + }, + "nodeType": "YulExpressionStatement", + "src": "3860:32:9" + }, + { + "nodeType": "YulAssignment", + "src": "3902:19:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3913:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3918:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3909:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "3909:12:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3902:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3689:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3697:3:9", + "type": "" + } + ], + "src": "3555:372:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4079:223:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4089:74:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4155:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4160:2:9", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4096:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "4096:67:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4089:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4184:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4189:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4180:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4180:11:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "4193:34:9", + "type": "", + "value": "ERC20: transfer from the zero ad" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4173:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4173:55:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4173:55:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4249:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4254:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4245:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4245:12:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "4259:7:9", + "type": "", + "value": "dress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4238:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4238:29:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4238:29:9" + }, + { + "nodeType": "YulAssignment", + "src": "4277:19:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4288:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4293:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4284:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4284:12:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4277:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4067:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4075:3:9", + "type": "" + } + ], + "src": "3933:369:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4454:222:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4464:74:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4530:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4535:2:9", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4471:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "4471:67:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4464:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4559:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4564:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4555:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4555:11:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "4568:34:9", + "type": "", + "value": "ERC20: approve from the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4548:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4548:55:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4548:55:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4624:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4629:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4620:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4620:12:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "4634:6:9", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4613:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4613:28:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4613:28:9" + }, + { + "nodeType": "YulAssignment", + "src": "4651:19:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4662:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4667:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4658:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4658:12:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4651:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4442:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4450:3:9", + "type": "" + } + ], + "src": "4308:368:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4828:223:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4838:74:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4904:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4909:2:9", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4845:58:9" + }, + "nodeType": "YulFunctionCall", + "src": "4845:67:9" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4838:3:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4933:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4938:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4929:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4929:11:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "4942:34:9", + "type": "", + "value": "ERC20: decreased allowance below" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4922:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4922:55:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4922:55:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4998:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5003:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4994:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "4994:12:9" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "5008:7:9", + "type": "", + "value": " zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4987:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "4987:29:9" + }, + "nodeType": "YulExpressionStatement", + "src": "4987:29:9" + }, + { + "nodeType": "YulAssignment", + "src": "5026:19:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5037:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5042:2:9", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5033:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "5033:12:9" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5026:3:9" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4816:3:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4824:3:9", + "type": "" + } + ], + "src": "4682:369:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5122:53:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5139:3:9" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5162:5:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5144:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "5144:24:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5132:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "5132:37:9" + }, + "nodeType": "YulExpressionStatement", + "src": "5132:37:9" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5110:5:9", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5117:3:9", + "type": "" + } + ], + "src": "5057:118:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5242:51:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5259:3:9" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5280:5:9" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "5264:15:9" + }, + "nodeType": "YulFunctionCall", + "src": "5264:22:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5252:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "5252:35:9" + }, + "nodeType": "YulExpressionStatement", + "src": "5252:35:9" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5230:5:9", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5237:3:9", + "type": "" + } + ], + "src": "5181:112:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5391:118:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5401:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5413:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5424:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5409:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "5409:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5401:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5475:6:9" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5488:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5499:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5484:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "5484:17:9" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "5437:37:9" + }, + "nodeType": "YulFunctionCall", + "src": "5437:65:9" + }, + "nodeType": "YulExpressionStatement", + "src": "5437:65:9" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5363:9:9", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5375:6:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5386:4:9", + "type": "" + } + ], + "src": "5299:210:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5633:195:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5643:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5655:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5666:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5651:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "5651:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5643:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5690:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5701:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5686:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "5686:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5709:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5715:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5705:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "5705:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5679:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "5679:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "5679:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "5735:86:9", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5807:6:9" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5816:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5743:63:9" + }, + "nodeType": "YulFunctionCall", + "src": "5743:78:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5735:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5605:9:9", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5617:6:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5628:4:9", + "type": "" + } + ], + "src": "5515:313:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6005:248:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6015:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6027:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6038:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6023:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6023:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6015:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6062:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6073:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6058:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6058:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6081:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6087:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6077:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6077:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6051:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "6051:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "6051:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "6107:139:9", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6241:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6115:124:9" + }, + "nodeType": "YulFunctionCall", + "src": "6115:131:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6107:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5985:9:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6000:4:9", + "type": "" + } + ], + "src": "5834:419:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6430:248:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6440:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6452:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6463:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6448:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6448:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6440:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6487:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6498:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6483:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6483:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6506:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6512:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6502:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6502:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6476:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "6476:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "6476:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "6532:139:9", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6666:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6540:124:9" + }, + "nodeType": "YulFunctionCall", + "src": "6540:131:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6532:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6410:9:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6425:4:9", + "type": "" + } + ], + "src": "6259:419:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6855:248:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6865:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6877:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6888:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6873:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6873:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6865:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6912:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6923:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6908:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6908:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6931:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6937:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6927:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "6927:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6901:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "6901:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "6901:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "6957:139:9", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7091:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6965:124:9" + }, + "nodeType": "YulFunctionCall", + "src": "6965:131:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6957:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6835:9:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6850:4:9", + "type": "" + } + ], + "src": "6684:419:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7280:248:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7290:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7302:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7313:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7298:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7298:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7290:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7337:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7348:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7333:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7333:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7356:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7362:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7352:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7352:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7326:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "7326:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "7326:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "7382:139:9", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7516:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7390:124:9" + }, + "nodeType": "YulFunctionCall", + "src": "7390:131:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7382:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7260:9:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7275:4:9", + "type": "" + } + ], + "src": "7109:419:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7705:248:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7715:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7727:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7738:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7723:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7723:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7715:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7762:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7773:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7758:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7758:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7781:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7787:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7777:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7777:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7751:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "7751:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "7751:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "7807:139:9", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7941:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7815:124:9" + }, + "nodeType": "YulFunctionCall", + "src": "7815:131:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7807:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7685:9:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7700:4:9", + "type": "" + } + ], + "src": "7534:419:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8130:248:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8140:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8152:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8163:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8148:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "8148:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8140:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8187:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8198:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8183:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "8183:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8206:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8212:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8202:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "8202:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8176:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "8176:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "8176:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "8232:139:9", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8366:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8240:124:9" + }, + "nodeType": "YulFunctionCall", + "src": "8240:131:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8232:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8110:9:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8125:4:9", + "type": "" + } + ], + "src": "7959:419:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8555:248:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8565:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8577:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8588:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8573:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "8573:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8565:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8612:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8623:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8608:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "8608:17:9" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8631:4:9" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8637:9:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8627:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "8627:20:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8601:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "8601:47:9" + }, + "nodeType": "YulExpressionStatement", + "src": "8601:47:9" + }, + { + "nodeType": "YulAssignment", + "src": "8657:139:9", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8791:4:9" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8665:124:9" + }, + "nodeType": "YulFunctionCall", + "src": "8665:131:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8657:4:9" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8535:9:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8550:4:9", + "type": "" + } + ], + "src": "8384:419:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8907:124:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8917:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8929:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8940:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8925:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "8925:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8917:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8997:6:9" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9010:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9021:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9006:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "9006:17:9" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "8953:43:9" + }, + "nodeType": "YulFunctionCall", + "src": "8953:71:9" + }, + "nodeType": "YulExpressionStatement", + "src": "8953:71:9" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8879:9:9", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8891:6:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8902:4:9", + "type": "" + } + ], + "src": "8809:222:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9131:120:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9141:26:9", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9153:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9164:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9149:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "9149:18:9" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9141:4:9" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9217:6:9" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9230:9:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9241:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9226:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "9226:17:9" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "9177:39:9" + }, + "nodeType": "YulFunctionCall", + "src": "9177:67:9" + }, + "nodeType": "YulExpressionStatement", + "src": "9177:67:9" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9103:9:9", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9115:6:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9126:4:9", + "type": "" + } + ], + "src": "9037:214:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9316:40:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9327:22:9", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9343:5:9" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9337:5:9" + }, + "nodeType": "YulFunctionCall", + "src": "9337:12:9" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9327:6:9" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9299:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9309:6:9", + "type": "" + } + ], + "src": "9257:99:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9458:73:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9475:3:9" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9480:6:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9468:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "9468:19:9" + }, + "nodeType": "YulExpressionStatement", + "src": "9468:19:9" + }, + { + "nodeType": "YulAssignment", + "src": "9496:29:9", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9515:3:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9520:4:9", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9511:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "9511:14:9" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "9496:11:9" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9430:3:9", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9435:6:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "9446:11:9", + "type": "" + } + ], + "src": "9362:169:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9581:261:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9591:25:9", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9614:1:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9596:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "9596:20:9" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9591:1:9" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9625:25:9", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9648:1:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9630:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "9630:20:9" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9625:1:9" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9788:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "9790:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "9790:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "9790:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9709:1:9" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9716:66:9", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9784:1:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9712:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "9712:74:9" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9706:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "9706:81:9" + }, + "nodeType": "YulIf", + "src": "9703:2:9" + }, + { + "nodeType": "YulAssignment", + "src": "9820:16:9", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9831:1:9" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9834:1:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9827:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "9827:9:9" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "9820:3:9" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "9568:1:9", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "9571:1:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "9577:3:9", + "type": "" + } + ], + "src": "9537:305:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9893:146:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9903:25:9", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9926:1:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9908:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "9908:20:9" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9903:1:9" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9937:25:9", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9960:1:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9942:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "9942:20:9" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9937:1:9" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9984:22:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "9986:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "9986:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "9986:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9978:1:9" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9981:1:9" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "9975:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "9975:8:9" + }, + "nodeType": "YulIf", + "src": "9972:2:9" + }, + { + "nodeType": "YulAssignment", + "src": "10016:17:9", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "10028:1:9" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "10031:1:9" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10024:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10024:9:9" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "10016:4:9" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "9879:1:9", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "9882:1:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "9888:4:9", + "type": "" + } + ], + "src": "9848:191:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10090:51:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10100:35:9", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10129:5:9" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "10111:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "10111:24:9" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10100:7:9" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10072:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10082:7:9", + "type": "" + } + ], + "src": "10045:96:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10189:48:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10199:32:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10224:5:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10217:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "10217:13:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10210:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "10210:21:9" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10199:7:9" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10171:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10181:7:9", + "type": "" + } + ], + "src": "10147:90:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10288:81:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10298:65:9", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10313:5:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10320:42:9", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10309:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10309:54:9" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10298:7:9" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10270:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10280:7:9", + "type": "" + } + ], + "src": "10243:126:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10420:32:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10430:16:9", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10441:5:9" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10430:7:9" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10402:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10412:7:9", + "type": "" + } + ], + "src": "10375:77:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10501:43:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10511:27:9", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10526:5:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10533:4:9", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10522:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10522:16:9" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10511:7:9" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10483:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10493:7:9", + "type": "" + } + ], + "src": "10458:86:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10599:258:9", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10609:10:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10618:1:9", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "10613:1:9", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10678:63:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10703:3:9" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10708:1:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10699:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10699:11:9" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10722:3:9" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10727:1:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10718:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10718:11:9" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10712:5:9" + }, + "nodeType": "YulFunctionCall", + "src": "10712:18:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10692:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "10692:39:9" + }, + "nodeType": "YulExpressionStatement", + "src": "10692:39:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10639:1:9" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10642:6:9" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "10636:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "10636:13:9" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "10650:19:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10652:15:9", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10661:1:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10664:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10657:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10657:10:9" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10652:1:9" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "10632:3:9", + "statements": [] + }, + "src": "10628:113:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10775:76:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10825:3:9" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10830:6:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10821:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10821:16:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10839:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10814:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "10814:27:9" + }, + "nodeType": "YulExpressionStatement", + "src": "10814:27:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10756:1:9" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10759:6:9" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10753:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "10753:13:9" + }, + "nodeType": "YulIf", + "src": "10750:2:9" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "10581:3:9", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "10586:3:9", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10591:6:9", + "type": "" + } + ], + "src": "10550:307:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10914:269:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10924:22:9", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "10938:4:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10944:1:9", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "10934:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10934:12:9" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10924:6:9" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10955:38:9", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "10985:4:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10991:1:9", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10981:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "10981:12:9" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "10959:18:9", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11032:51:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11046:27:9", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11060:6:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11068:4:9", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11056:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "11056:17:9" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11046:6:9" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "11012:18:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11005:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11005:26:9" + }, + "nodeType": "YulIf", + "src": "11002:2:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11135:42:9", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "11149:16:9" + }, + "nodeType": "YulFunctionCall", + "src": "11149:18:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11149:18:9" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "11099:18:9" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11122:6:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11130:2:9", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "11119:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "11119:14:9" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "11096:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "11096:38:9" + }, + "nodeType": "YulIf", + "src": "11093:2:9" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "10898:4:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10907:6:9", + "type": "" + } + ], + "src": "10863:320:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11217:152:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11234:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11237:77:9", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11227:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11227:88:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11227:88:9" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11331:1:9", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11334:4:9", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11324:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11324:15:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11324:15:9" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11355:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11358:4:9", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11348:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11348:15:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11348:15:9" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "11189:180:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11403:152:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11420:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11423:77:9", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11413:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11413:88:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11413:88:9" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11517:1:9", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11520:4:9", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11510:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11510:15:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11510:15:9" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11541:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11544:4:9", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11534:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11534:15:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11534:15:9" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "11375:180:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11609:54:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11619:38:9", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11637:5:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11644:2:9", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11633:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "11633:14:9" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11653:2:9", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "11649:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "11649:7:9" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11629:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "11629:28:9" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "11619:6:9" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11592:5:9", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "11602:6:9", + "type": "" + } + ], + "src": "11561:102:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11712:79:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11769:16:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11778:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11781:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11771:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11771:12:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11771:12:9" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11735:5:9" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11760:5:9" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "11742:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "11742:24:9" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "11732:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "11732:35:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11725:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11725:43:9" + }, + "nodeType": "YulIf", + "src": "11722:2:9" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11705:5:9", + "type": "" + } + ], + "src": "11669:122:9" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11840:79:9", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11897:16:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11906:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11909:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11899:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11899:12:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11899:12:9" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11863:5:9" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11888:5:9" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "11870:17:9" + }, + "nodeType": "YulFunctionCall", + "src": "11870:24:9" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "11860:2:9" + }, + "nodeType": "YulFunctionCall", + "src": "11860:35:9" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11853:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11853:43:9" + }, + "nodeType": "YulIf", + "src": "11850:2:9" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11833:5:9", + "type": "" + } + ], + "src": "11797:122:9" + } + ] + }, + "contents": "{\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_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\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 function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\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 function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\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 function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n\n mstore(add(pos, 0), \"ERC20: transfer to the zero addr\")\n\n mstore(add(pos, 32), \"ess\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n\n mstore(add(pos, 0), \"ERC20: approve to the zero addre\")\n\n mstore(add(pos, 32), \"ss\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n\n mstore(add(pos, 0), \"ERC20: transfer amount exceeds b\")\n\n mstore(add(pos, 32), \"alance\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n\n mstore(add(pos, 0), \"ERC20: transfer amount exceeds a\")\n\n mstore(add(pos, 32), \"llowance\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n\n mstore(add(pos, 0), \"ERC20: transfer from the zero ad\")\n\n mstore(add(pos, 32), \"dress\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n\n mstore(add(pos, 0), \"ERC20: approve from the zero add\")\n\n mstore(add(pos, 32), \"ress\")\n\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n\n mstore(add(pos, 0), \"ERC20: decreased allowance below\")\n\n mstore(add(pos, 32), \" zero\")\n\n end := add(pos, 64)\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_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(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 abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__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_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__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_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__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_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__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_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__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_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__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_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__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_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function 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 checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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 validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 9, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "127:160:1:-:0;;;164:118;;;;;;;;;;1898:114:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1973:5;1965;:13;;;;;;;;;;;;:::i;:::-;;1998:7;1988;:17;;;;;;;;;;;;:::i;:::-;;1898:114;;217:57:1::1;223:10;261;:8;;;:10;;:::i;:::-;253:19;;247:2;:25;;;;:::i;:::-;235:8;:38;;;;:::i;:::-;217:5;;;:57;;:::i;:::-;127:160:::0;;3014:91:5;3072:5;3096:2;3089:9;;3014:91;:::o;8023:330::-;8125:1;8106:21;;:7;:21;;;;8098:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8174:49;8203:1;8207:7;8216:6;8174:20;;;:49;;:::i;:::-;8250:6;8234:12;;:22;;;;;;;:::i;:::-;;;;;;;;8288:6;8266:9;:18;8276:7;8266:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8330:7;8309:37;;8326:1;8309:37;;;8339:6;8309:37;;;;;;:::i;:::-;;;;;;;;8023:330;;:::o;10506:92::-;;;;:::o;127:160:1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:329:9:-;;170:67;234:2;229:3;170:67;:::i;:::-;163:74;;267:33;263:1;258:3;254:11;247:54;327:2;322:3;318:12;311:19;;153:183;;;:::o;342:118::-;429:24;447:5;429:24;:::i;:::-;424:3;417:37;407:53;;:::o;466:419::-;;670:2;659:9;655:18;647:26;;719:9;713:4;709:20;705:1;694:9;690:17;683:47;747:131;873:4;747:131;:::i;:::-;739:139;;637:248;;;:::o;891:222::-;;1022:2;1011:9;1007:18;999:26;;1035:71;1103:1;1092:9;1088:17;1079:6;1035:71;:::i;:::-;989:124;;;;:::o;1119:169::-;;1237:6;1232:3;1225:19;1277:4;1272:3;1268:14;1253:29;;1215:73;;;;:::o;1294:305::-;;1353:20;1371:1;1353:20;:::i;:::-;1348:25;;1387:20;1405:1;1387:20;:::i;:::-;1382:25;;1541:1;1473:66;1469:74;1466:1;1463:81;1460:2;;;1547:18;;:::i;:::-;1460:2;1591:1;1588;1584:9;1577:16;;1338:261;;;;:::o;1605:848::-;;;1697:6;1688:15;;1721:5;1712:14;;1735:712;1756:1;1746:8;1743:15;1735:712;;;1851:4;1846:3;1842:14;1836:4;1833:24;1830:2;;;1860:18;;:::i;:::-;1830:2;1910:1;1900:8;1896:16;1893:2;;;2325:4;2318:5;2314:16;2305:25;;1893:2;2375:4;2369;2365:15;2357:23;;2405:32;2428:8;2405:32;:::i;:::-;2393:44;;1735:712;;;1678:775;;;;;;;:::o;2459:285::-;;2543:23;2561:4;2543:23;:::i;:::-;2535:31;;2587:27;2605:8;2587:27;:::i;:::-;2575:39;;2633:104;2670:66;2660:8;2654:4;2633:104;:::i;:::-;2624:113;;2525:219;;;;:::o;2750:1073::-;;2995:8;2985:2;;3016:1;3007:10;;3018:5;;2985:2;3044:4;3034:2;;3061:1;3052:10;;3063:5;;3034:2;3130:4;3178:1;3173:27;;;;3214:1;3209:191;;;;3123:277;;3173:27;3191:1;3182:10;;3193:5;;;3209:191;3254:3;3244:8;3241:17;3238:2;;;3261:18;;:::i;:::-;3238:2;3310:8;3307:1;3303:16;3294:25;;3345:3;3338:5;3335:14;3332:2;;;3352:18;;:::i;:::-;3332:2;3385:5;;;3123:277;;3509:2;3499:8;3496:16;3490:3;3484:4;3481:13;3477:36;3459:2;3449:8;3446:16;3441:2;3435:4;3432:12;3428:35;3412:111;3409:2;;;3565:8;3559:4;3555:19;3546:28;;3600:3;3593:5;3590:14;3587:2;;;3607:18;;:::i;:::-;3587:2;3640:5;;3409:2;3680:42;3718:3;3708:8;3702:4;3699:1;3680:42;:::i;:::-;3665:57;;;;3754:4;3749:3;3745:14;3738:5;3735:25;3732:2;;;3763:18;;:::i;:::-;3732:2;3812:4;3805:5;3801:16;3792:25;;2810:1013;;;;;;:::o;3829:348::-;;3892:20;3910:1;3892:20;:::i;:::-;3887:25;;3926:20;3944:1;3926:20;:::i;:::-;3921:25;;4114:1;4046:66;4042:74;4039:1;4036:81;4031:1;4024:9;4017:17;4013:105;4010:2;;;4121:18;;:::i;:::-;4010:2;4169:1;4166;4162:9;4151:20;;3877:300;;;;:::o;4183:77::-;;4249:5;4238:16;;4228:32;;;:::o;4266:320::-;;4347:1;4341:4;4337:12;4327:22;;4394:1;4388:4;4384:12;4415:18;4405:2;;4471:4;4463:6;4459:17;4449:27;;4405:2;4533;4525:6;4522:14;4502:18;4499:38;4496:2;;;4552:18;;:::i;:::-;4496:2;4317:269;;;;:::o;4592:180::-;4640:77;4637:1;4630:88;4737:4;4734:1;4727:15;4761:4;4758:1;4751:15;4778:180;4826:77;4823:1;4816:88;4923:4;4920:1;4913:15;4947:4;4944:1;4937:15;4964:102;;5053:5;5050:1;5046:13;5025:34;;5015:51;;;:::o;127:160:1:-;;;;;;;", + "deployedSourceMap": "127:160:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2077:98:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4174:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3165:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4807:414;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3014:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5616:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3329:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2288:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6315:371;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3657:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3887:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2077:98;2131:13;2163:5;2156:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2077:98;:::o;4174:166::-;4257:4;4273:39;4282:12;:10;:12::i;:::-;4296:7;4305:6;4273:8;:39::i;:::-;4329:4;4322:11;;4174:166;;;;:::o;3165:106::-;3226:7;3252:12;;3245:19;;3165:106;:::o;4807:414::-;4913:4;4929:36;4939:6;4947:9;4958:6;4929:9;:36::i;:::-;4976:24;5003:11;:19;5015:6;5003:19;;;;;;;;;;;;;;;:33;5023:12;:10;:12::i;:::-;5003:33;;;;;;;;;;;;;;;;4976:60;;5074:6;5054:16;:26;;5046:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5135:57;5144:6;5152:12;:10;:12::i;:::-;5185:6;5166:16;:25;;;;:::i;:::-;5135:8;:57::i;:::-;5210:4;5203:11;;;4807:414;;;;;:::o;3014:91::-;3072:5;3096:2;3089:9;;3014:91;:::o;5616:212::-;5704:4;5720:80;5729:12;:10;:12::i;:::-;5743:7;5789:10;5752:11;:25;5764:12;:10;:12::i;:::-;5752:25;;;;;;;;;;;;;;;:34;5778:7;5752:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5720:8;:80::i;:::-;5817:4;5810:11;;5616:212;;;;:::o;3329:125::-;3403:7;3429:9;:18;3439:7;3429:18;;;;;;;;;;;;;;;;3422:25;;3329:125;;;:::o;2288:102::-;2344:13;2376:7;2369:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2288:102;:::o;6315:371::-;6408:4;6424:24;6451:11;:25;6463:12;:10;:12::i;:::-;6451:25;;;;;;;;;;;;;;;:34;6477:7;6451:34;;;;;;;;;;;;;;;;6424:61;;6523:15;6503:16;:35;;6495:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6590:67;6599:12;:10;:12::i;:::-;6613:7;6641:15;6622:16;:34;;;;:::i;:::-;6590:8;:67::i;:::-;6675:4;6668:11;;;6315:371;;;;:::o;3657:172::-;3743:4;3759:42;3769:12;:10;:12::i;:::-;3783:9;3794:6;3759:9;:42::i;:::-;3818:4;3811:11;;3657:172;;;;:::o;3887:149::-;3976:7;4002:11;:18;4014:5;4002:18;;;;;;;;;;;;;;;:27;4021:7;4002:27;;;;;;;;;;;;;;;;3995:34;;3887:149;;;;:::o;586:96:8:-;639:7;665:10;658:17;;586:96;:::o;9579:340:5:-;9697:1;9680:19;;:5;:19;;;;9672:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9777:1;9758:21;;:7;:21;;;;9750:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9859:6;9829:11;:18;9841:5;9829:18;;;;;;;;;;;;;;;:27;9848:7;9829:27;;;;;;;;;;;;;;;:36;;;;9896:7;9880:32;;9889:5;9880:32;;;9905:6;9880:32;;;;;;:::i;:::-;;;;;;;;9579:340;;;:::o;7160:592::-;7283:1;7265:20;;:6;:20;;;;7257:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7366:1;7345:23;;:9;:23;;;;7337:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7419:47;7440:6;7448:9;7459:6;7419:20;:47::i;:::-;7477:21;7501:9;:17;7511:6;7501:17;;;;;;;;;;;;;;;;7477:41;;7553:6;7536:13;:23;;7528:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7648:6;7632:13;:22;;;;:::i;:::-;7612:9;:17;7622:6;7612:17;;;;;;;;;;;;;;;:42;;;;7688:6;7664:9;:20;7674:9;7664:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7727:9;7710:35;;7719:6;7710:35;;;7738:6;7710:35;;;;;;:::i;:::-;;;;;;;;7160:592;;;;:::o;10506:92::-;;;;:::o;7:139:9:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:364::-;;2180:39;2213:5;2180:39;:::i;:::-;2235:71;2299:6;2294:3;2235:71;:::i;:::-;2228:78;;2315:52;2360:6;2355:3;2348:4;2341:5;2337:16;2315:52;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2156:272;;;;;:::o;2434:367::-;;2597:67;2661:2;2656:3;2597:67;:::i;:::-;2590:74;;2694:34;2690:1;2685:3;2681:11;2674:55;2760:5;2755:2;2750:3;2746:12;2739:27;2792:2;2787:3;2783:12;2776:19;;2580:221;;;:::o;2807:366::-;;2970:67;3034:2;3029:3;2970:67;:::i;:::-;2963:74;;3067:34;3063:1;3058:3;3054:11;3047:55;3133:4;3128:2;3123:3;3119:12;3112:26;3164:2;3159:3;3155:12;3148:19;;2953:220;;;:::o;3179:370::-;;3342:67;3406:2;3401:3;3342:67;:::i;:::-;3335:74;;3439:34;3435:1;3430:3;3426:11;3419:55;3505:8;3500:2;3495:3;3491:12;3484:30;3540:2;3535:3;3531:12;3524:19;;3325:224;;;:::o;3555:372::-;;3718:67;3782:2;3777:3;3718:67;:::i;:::-;3711:74;;3815:34;3811:1;3806:3;3802:11;3795:55;3881:10;3876:2;3871:3;3867:12;3860:32;3918:2;3913:3;3909:12;3902:19;;3701:226;;;:::o;3933:369::-;;4096:67;4160:2;4155:3;4096:67;:::i;:::-;4089:74;;4193:34;4189:1;4184:3;4180:11;4173:55;4259:7;4254:2;4249:3;4245:12;4238:29;4293:2;4288:3;4284:12;4277:19;;4079:223;;;:::o;4308:368::-;;4471:67;4535:2;4530:3;4471:67;:::i;:::-;4464:74;;4568:34;4564:1;4559:3;4555:11;4548:55;4634:6;4629:2;4624:3;4620:12;4613:28;4667:2;4662:3;4658:12;4651:19;;4454:222;;;:::o;4682:369::-;;4845:67;4909:2;4904:3;4845:67;:::i;:::-;4838:74;;4942:34;4938:1;4933:3;4929:11;4922:55;5008:7;5003:2;4998:3;4994:12;4987:29;5042:2;5037:3;5033:12;5026:19;;4828:223;;;:::o;5057:118::-;5144:24;5162:5;5144:24;:::i;:::-;5139:3;5132:37;5122:53;;:::o;5181:112::-;5264:22;5280:5;5264:22;:::i;:::-;5259:3;5252:35;5242:51;;:::o;5299:210::-;;5424:2;5413:9;5409:18;5401:26;;5437:65;5499:1;5488:9;5484:17;5475:6;5437:65;:::i;:::-;5391:118;;;;:::o;5515:313::-;;5666:2;5655:9;5651:18;5643:26;;5715:9;5709:4;5705:20;5701:1;5690:9;5686:17;5679:47;5743:78;5816:4;5807:6;5743:78;:::i;:::-;5735:86;;5633:195;;;;:::o;5834:419::-;;6038:2;6027:9;6023:18;6015:26;;6087:9;6081:4;6077:20;6073:1;6062:9;6058:17;6051:47;6115:131;6241:4;6115:131;:::i;:::-;6107:139;;6005:248;;;:::o;6259:419::-;;6463:2;6452:9;6448:18;6440:26;;6512:9;6506:4;6502:20;6498:1;6487:9;6483:17;6476:47;6540:131;6666:4;6540:131;:::i;:::-;6532:139;;6430:248;;;:::o;6684:419::-;;6888:2;6877:9;6873:18;6865:26;;6937:9;6931:4;6927:20;6923:1;6912:9;6908:17;6901:47;6965:131;7091:4;6965:131;:::i;:::-;6957:139;;6855:248;;;:::o;7109:419::-;;7313:2;7302:9;7298:18;7290:26;;7362:9;7356:4;7352:20;7348:1;7337:9;7333:17;7326:47;7390:131;7516:4;7390:131;:::i;:::-;7382:139;;7280:248;;;:::o;7534:419::-;;7738:2;7727:9;7723:18;7715:26;;7787:9;7781:4;7777:20;7773:1;7762:9;7758:17;7751:47;7815:131;7941:4;7815:131;:::i;:::-;7807:139;;7705:248;;;:::o;7959:419::-;;8163:2;8152:9;8148:18;8140:26;;8212:9;8206:4;8202:20;8198:1;8187:9;8183:17;8176:47;8240:131;8366:4;8240:131;:::i;:::-;8232:139;;8130:248;;;:::o;8384:419::-;;8588:2;8577:9;8573:18;8565:26;;8637:9;8631:4;8627:20;8623:1;8612:9;8608:17;8601:47;8665:131;8791:4;8665:131;:::i;:::-;8657:139;;8555:248;;;:::o;8809:222::-;;8940:2;8929:9;8925:18;8917:26;;8953:71;9021:1;9010:9;9006:17;8997:6;8953:71;:::i;:::-;8907:124;;;;:::o;9037:214::-;;9164:2;9153:9;9149:18;9141:26;;9177:67;9241:1;9230:9;9226:17;9217:6;9177:67;:::i;:::-;9131:120;;;;:::o;9257:99::-;;9343:5;9337:12;9327:22;;9316:40;;;:::o;9362:169::-;;9480:6;9475:3;9468:19;9520:4;9515:3;9511:14;9496:29;;9458:73;;;;:::o;9537:305::-;;9596:20;9614:1;9596:20;:::i;:::-;9591:25;;9630:20;9648:1;9630:20;:::i;:::-;9625:25;;9784:1;9716:66;9712:74;9709:1;9706:81;9703:2;;;9790:18;;:::i;:::-;9703:2;9834:1;9831;9827:9;9820:16;;9581:261;;;;:::o;9848:191::-;;9908:20;9926:1;9908:20;:::i;:::-;9903:25;;9942:20;9960:1;9942:20;:::i;:::-;9937:25;;9981:1;9978;9975:8;9972:2;;;9986:18;;:::i;:::-;9972:2;10031:1;10028;10024:9;10016:17;;9893:146;;;;:::o;10045:96::-;;10111:24;10129:5;10111:24;:::i;:::-;10100:35;;10090:51;;;:::o;10147:90::-;;10224:5;10217:13;10210:21;10199:32;;10189:48;;;:::o;10243:126::-;;10320:42;10313:5;10309:54;10298:65;;10288:81;;;:::o;10375:77::-;;10441:5;10430:16;;10420:32;;;:::o;10458:86::-;;10533:4;10526:5;10522:16;10511:27;;10501:43;;;:::o;10550:307::-;10618:1;10628:113;10642:6;10639:1;10636:13;10628:113;;;10727:1;10722:3;10718:11;10712:18;10708:1;10703:3;10699:11;10692:39;10664:2;10661:1;10657:10;10652:15;;10628:113;;;10759:6;10756:1;10753:13;10750:2;;;10839:1;10830:6;10825:3;10821:16;10814:27;10750:2;10599:258;;;;:::o;10863:320::-;;10944:1;10938:4;10934:12;10924:22;;10991:1;10985:4;10981:12;11012:18;11002:2;;11068:4;11060:6;11056:17;11046:27;;11002:2;11130;11122:6;11119:14;11099:18;11096:38;11093:2;;;11149:18;;:::i;:::-;11093:2;10914:269;;;;:::o;11189:180::-;11237:77;11234:1;11227:88;11334:4;11331:1;11324:15;11358:4;11355:1;11348:15;11375:180;11423:77;11420:1;11413:88;11520:4;11517:1;11510:15;11544:4;11541:1;11534:15;11561:102;;11653:2;11649:7;11644:2;11637:5;11633:14;11629:28;11619:38;;11609:54;;;:::o;11669:122::-;11742:24;11760:5;11742:24;:::i;:::-;11735:5;11732:35;11722:2;;11781:1;11778;11771:12;11722:2;11712:79;:::o;11797:122::-;11870:24;11888:5;11870:24;:::i;:::-;11863:5;11860:35;11850:2;;11909:1;11906;11899:12;11850:2;11840:79;:::o", + "source": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.0;\r\n\r\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\r\n\r\ncontract TestToken is ERC20 {\r\n\r\n constructor () ERC20(\"TestToken\", \"TeTo\") {\r\n _mint(msg.sender, 10000000 * (10 ** uint256(decimals())));\r\n }\r\n\r\n}", + "sourcePath": "C:/Users/sudip/Desktop/Matic Project/Staking/contracts/Tokens/TestToken.sol", + "ast": { + "absolutePath": "/C/Users/sudip/Desktop/Matic Project/Staking/contracts/Tokens/TestToken.sol", + "exportedSymbols": { + "Context": [ + 1445 + ], + "ERC20": [ + 1319 + ], + "IERC20": [ + 1397 + ], + "IERC20Metadata": [ + 1422 + ], + "TestToken": [ + 638 + ] + }, + "id": 639, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 611, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:1" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "id": 612, + "nodeType": "ImportDirective", + "scope": 639, + "sourceUnit": 1320, + "src": "60:63:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 613, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1319, + "src": "149:5:1" + }, + "id": 614, + "nodeType": "InheritanceSpecifier", + "src": "149:5:1" + } + ], + "contractDependencies": [ + 1319, + 1397, + 1422, + 1445 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 638, + "linearizedBaseContracts": [ + 638, + 1319, + 1422, + 1397, + 1445 + ], + "name": "TestToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 636, + "nodeType": "Block", + "src": "206:76:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 622, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "223:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "223:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130303030303030", + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "235:8:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000_by_1", + "typeString": "int_const 10000000" + }, + "value": "10000000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "247:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 628, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 887, + "src": "261:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint8_$", + "typeString": "function () view returns (uint8)" + } + }, + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "261:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "253:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "253:7:1", + "typeDescriptions": {} + } + }, + "id": 630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "253:19:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "247:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 632, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "246:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "235:38:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 621, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1200, + "src": "217:5:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "217:57:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 635, + "nodeType": "ExpressionStatement", + "src": "217:57:1" + } + ] + }, + "id": 637, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "54657374546f6b656e", + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "185:11:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_98773c0a77836a29a7c5f4ab1a66bf2cd547cb12bf15ba74f84f027b91334da5", + "typeString": "literal_string \"TestToken\"" + }, + "value": "TestToken" + }, + { + "hexValue": "5465546f", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "198:6:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9749069bfcf8d862977c6ac9281f77e390a67d628770559676bd9fdc89e4ad04", + "typeString": "literal_string \"TeTo\"" + }, + "value": "TeTo" + } + ], + "id": 619, + "modifierName": { + "id": 616, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1319, + "src": "179:5:1" + }, + "nodeType": "ModifierInvocation", + "src": "179:26:1" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 615, + "nodeType": "ParameterList", + "parameters": [], + "src": "176:2:1" + }, + "returnParameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [], + "src": "206:0:1" + }, + "scope": 638, + "src": "164:118:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 639, + "src": "127:160:1" + } + ], + "src": "33:254:1" + }, + "legacyAST": { + "absolutePath": "/C/Users/sudip/Desktop/Matic Project/Staking/contracts/Tokens/TestToken.sol", + "exportedSymbols": { + "Context": [ + 1445 + ], + "ERC20": [ + 1319 + ], + "IERC20": [ + 1397 + ], + "IERC20Metadata": [ + 1422 + ], + "TestToken": [ + 638 + ] + }, + "id": 639, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 611, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:1" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "id": 612, + "nodeType": "ImportDirective", + "scope": 639, + "sourceUnit": 1320, + "src": "60:63:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 613, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1319, + "src": "149:5:1" + }, + "id": 614, + "nodeType": "InheritanceSpecifier", + "src": "149:5:1" + } + ], + "contractDependencies": [ + 1319, + 1397, + 1422, + 1445 + ], + "contractKind": "contract", + "fullyImplemented": true, + "id": 638, + "linearizedBaseContracts": [ + 638, + 1319, + 1422, + 1397, + 1445 + ], + "name": "TestToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 636, + "nodeType": "Block", + "src": "206:76:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 622, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "223:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "223:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130303030303030", + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "235:8:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000_by_1", + "typeString": "int_const 10000000" + }, + "value": "10000000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "247:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 628, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 887, + "src": "261:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint8_$", + "typeString": "function () view returns (uint8)" + } + }, + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "261:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "253:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "253:7:1", + "typeDescriptions": {} + } + }, + "id": 630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "253:19:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "247:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 632, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "246:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "235:38:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 621, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1200, + "src": "217:5:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "217:57:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 635, + "nodeType": "ExpressionStatement", + "src": "217:57:1" + } + ] + }, + "id": 637, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "54657374546f6b656e", + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "185:11:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_98773c0a77836a29a7c5f4ab1a66bf2cd547cb12bf15ba74f84f027b91334da5", + "typeString": "literal_string \"TestToken\"" + }, + "value": "TestToken" + }, + { + "hexValue": "5465546f", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "198:6:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9749069bfcf8d862977c6ac9281f77e390a67d628770559676bd9fdc89e4ad04", + "typeString": "literal_string \"TeTo\"" + }, + "value": "TeTo" + } + ], + "id": 619, + "modifierName": { + "id": 616, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1319, + "src": "179:5:1" + }, + "nodeType": "ModifierInvocation", + "src": "179:26:1" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 615, + "nodeType": "ParameterList", + "parameters": [], + "src": "176:2:1" + }, + "returnParameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [], + "src": "206:0:1" + }, + "scope": 638, + "src": "164:118:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 639, + "src": "127:160:1" + } + ], + "src": "33:254:1" + }, + "compiler": { + "name": "solc", + "version": "0.8.0+commit.c7dfd78e.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.3.4", + "updatedAt": "2021-06-02T07:44:54.933Z", + "devdoc": { + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/contracts/IDOStaker/IDO.sol b/contracts/IDOStaker/IDO.sol index 2934f5b..a07fd19 100644 --- a/contracts/IDOStaker/IDO.sol +++ b/contracts/IDOStaker/IDO.sol @@ -16,7 +16,7 @@ contract IDO is Ownable, ReentrancyGuard { uint256 public idoPrice; // Price of 1 Tokens in Wei // Time Stamps - uint256 public constant unit = 1 hours; + uint256 public constant unit = 1 seconds; uint256 public constant lockDuration = 7 * 24 * unit; uint256 public constant regDuration = 48 * unit; uint256 public constant saleStartsAfter = regDuration + 24 * unit; @@ -102,8 +102,10 @@ contract IDO is Ownable, ReentrancyGuard { } function initialize(uint256 time) external onlyOwner notInitialized { + require(time >= block.timestamp, "IDO Can't Be in Past"); regStarts = time; saleStarts = regStarts + saleStartsAfter; + require(idoToken.balanceOf(address(this)) >= idoAmount, "Not Enough Tokens In Contract"); } function register(uint256 _poolNo) @@ -145,4 +147,17 @@ contract IDO is Ownable, ReentrancyGuard { idoToken.transfer(msg.sender, amount); } + function recoverEth(address to) external onlyOwner { + (bool sent,) = address(to).call{value : address(this).balance}(""); + require(sent, 'Unable To Recover Eth'); + } + + function recoverERC20( + address tokenAddress, + address to + ) external onlyOwner { + IERC20Metadata tok = IERC20Metadata(tokenAddress); + tok.transfer(to, tok.balanceOf(address(this))); + } + } \ No newline at end of file diff --git a/contracts/Tokens/TestToken.sol b/contracts/Tokens/TestToken.sol new file mode 100644 index 0000000..4aff0e6 --- /dev/null +++ b/contracts/Tokens/TestToken.sol @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; + +contract TestToken is ERC20 { + + constructor () ERC20("TestToken", "TeTo") { + _mint(msg.sender, 10000000 * (10 ** uint256(decimals()))); + } + +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index cb4d047..13a6542 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,39 +1,36 @@ { - "name": "Staking", + "name": "polygon-proj1", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { + "name": "polygon-proj1", + "version": "1.0.0", + "license": "MIT", "dependencies": { "@truffle/hdwallet-provider": "^1.4.0", - "bignumber.js": "^9.0.1", "chai-as-promised": "^7.1.1", - "openzeppelin-solidity": "4.1.0", - "sinon": "^11.1.1" + "openzeppelin-solidity": "4.1.0" }, "devDependencies": { - "chai": "^4.3.4", - "chai-bignumber": "^3.0.0", - "truffle-plugin-verify": "^0.5.8" + "chai": "^4.3.4" } }, "node_modules/@babel/code-frame": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.12.13" } }, "node_modules/@babel/compat-data": { "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz", - "integrity": "sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==" + "license": "MIT" }, "node_modules/@babel/core": { "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", - "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", @@ -62,8 +59,7 @@ }, "node_modules/@babel/generator": { "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", - "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", + "license": "MIT", "dependencies": { "@babel/types": "^7.14.2", "jsesc": "^2.5.1", @@ -72,8 +68,7 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz", - "integrity": "sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.14.4", "@babel/helper-validator-option": "^7.12.17", @@ -86,8 +81,7 @@ }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", @@ -104,8 +98,7 @@ }, "node_modules/@babel/helper-function-name": { "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", - "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", + "license": "MIT", "dependencies": { "@babel/helper-get-function-arity": "^7.12.13", "@babel/template": "^7.12.13", @@ -114,16 +107,14 @@ }, "node_modules/@babel/helper-get-function-arity": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "license": "MIT", "peer": true, "dependencies": { "@babel/types": "^7.13.12" @@ -131,16 +122,14 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "license": "MIT", "dependencies": { "@babel/types": "^7.13.12" } }, "node_modules/@babel/helper-module-transforms": { "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", - "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==", + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.13.12", @@ -155,8 +144,7 @@ }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "license": "MIT", "peer": true, "dependencies": { "@babel/types": "^7.12.13" @@ -164,13 +152,11 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" + "license": "MIT" }, "node_modules/@babel/helper-replace-supers": { "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz", - "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==", + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-member-expression-to-functions": "^7.13.12", @@ -181,8 +167,7 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "license": "MIT", "peer": true, "dependencies": { "@babel/types": "^7.13.12" @@ -190,26 +175,22 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" + "license": "MIT" }, "node_modules/@babel/helper-validator-option": { "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" + "license": "MIT" }, "node_modules/@babel/helpers": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", - "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", + "license": "MIT", "peer": true, "dependencies": { "@babel/template": "^7.12.13", @@ -219,8 +200,7 @@ }, "node_modules/@babel/highlight": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", @@ -229,8 +209,7 @@ }, "node_modules/@babel/parser": { "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz", - "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==", + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -240,8 +219,7 @@ }, "node_modules/@babel/plugin-transform-runtime": { "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz", - "integrity": "sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.13.12", "@babel/helper-plugin-utils": "^7.13.0", @@ -256,16 +234,14 @@ }, "node_modules/@babel/runtime": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.13.4" } }, "node_modules/@babel/template": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@babel/parser": "^7.12.13", @@ -274,8 +250,7 @@ }, "node_modules/@babel/traverse": { "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", - "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.14.2", @@ -289,48 +264,15 @@ }, "node_modules/@babel/types": { "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz", - "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==", + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@sinonjs/samsam": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", - "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", - "dependencies": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==" - }, "node_modules/@truffle/hdwallet-provider": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.4.0.tgz", - "integrity": "sha512-zCc4IWEtfAuKWWktZOaYFoHCvameQIz5Bk+S2ahCPxYMlWECWrbCMjoqqLojB1Hyz+IsvU1cspmr3E6PoO4ZmQ==", + "license": "MIT", "dependencies": { "@trufflesuite/web3-provider-engine": "15.0.13-1", "any-promise": "^1.3.0", @@ -345,8 +287,7 @@ }, "node_modules/@trufflesuite/eth-json-rpc-filters": { "version": "4.1.2-1", - "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-filters/-/eth-json-rpc-filters-4.1.2-1.tgz", - "integrity": "sha512-/MChvC5dw2ck9NU1cZmdovCz2VKbOeIyR4tcxDvA5sT+NaL0rA2/R5U0yI7zsbo1zD+pgqav77rQHTzpUdDNJQ==", + "license": "ISC", "dependencies": { "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-0", "await-semaphore": "^0.1.3", @@ -358,8 +299,7 @@ }, "node_modules/@trufflesuite/eth-json-rpc-infura": { "version": "4.0.3-0", - "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-infura/-/eth-json-rpc-infura-4.0.3-0.tgz", - "integrity": "sha512-xaUanOmo0YLqRsL0SfXpFienhdw5bpQ1WEXxMTRi57az4lwpZBv4tFUDvcerdwJrxX9wQqNmgUgd1BrR01dumw==", + "license": "ISC", "dependencies": { "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-1", "cross-fetch": "^2.1.1", @@ -369,17 +309,14 @@ }, "node_modules/@trufflesuite/eth-json-rpc-infura/node_modules/eth-json-rpc-errors": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", - "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", - "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", + "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6" } }, "node_modules/@trufflesuite/eth-json-rpc-middleware": { "version": "4.4.2-1", - "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.4.2-1.tgz", - "integrity": "sha512-iEy9H8ja7/8aYES5HfrepGBKU9n/Y4OabBJEklVd/zIBlhCCBAWBqkIZgXt11nBXO/rYAeKwYuE3puH3ByYnLA==", + "license": "ISC", "dependencies": { "@trufflesuite/eth-sig-util": "^1.4.2", "btoa": "^1.2.1", @@ -399,23 +336,18 @@ }, "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/eth-json-rpc-errors": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", - "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", - "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", + "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6" } }, "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/ethereum-common": { "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + "license": "MIT" }, "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/ethereumjs-tx": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "license": "MPL-2.0", "dependencies": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -423,8 +355,7 @@ }, "node_modules/@trufflesuite/eth-json-rpc-middleware/node_modules/ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -437,8 +368,7 @@ }, "node_modules/@trufflesuite/eth-sig-util": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@trufflesuite/eth-sig-util/-/eth-sig-util-1.4.2.tgz", - "integrity": "sha512-+GyfN6b0LNW77hbQlH3ufZ/1eCON7mMrGym6tdYf7xiNw9Vv3jBO72bmmos1EId2NgBvPMhmYYm6DSLQFTmzrA==", + "license": "ISC", "dependencies": { "ethereumjs-abi": "^0.6.8", "ethereumjs-util": "^5.1.1" @@ -446,8 +376,7 @@ }, "node_modules/@trufflesuite/eth-sig-util/node_modules/ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -460,8 +389,7 @@ }, "node_modules/@trufflesuite/web3-provider-engine": { "version": "15.0.13-1", - "resolved": "https://registry.npmjs.org/@trufflesuite/web3-provider-engine/-/web3-provider-engine-15.0.13-1.tgz", - "integrity": "sha512-6u3x/iIN5fyj8pib5QTUDmIOUiwAGhaqdSTXdqCu6v9zo2BEwdCqgEJd1uXDh3DBmPRDfiZ/ge8oUPy7LerpHg==", + "license": "MIT", "dependencies": { "@trufflesuite/eth-json-rpc-filters": "^4.1.2-1", "@trufflesuite/eth-json-rpc-infura": "^4.0.3-0", @@ -489,14 +417,11 @@ }, "node_modules/@trufflesuite/web3-provider-engine/node_modules/ethereum-common": { "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + "license": "MIT" }, "node_modules/@trufflesuite/web3-provider-engine/node_modules/ethereumjs-tx": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "license": "MPL-2.0", "dependencies": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -504,8 +429,7 @@ }, "node_modules/@trufflesuite/web3-provider-engine/node_modules/ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -518,50 +442,43 @@ }, "node_modules/@types/bn.js": { "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/node": { "version": "15.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz", - "integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==" + "license": "MIT" }, "node_modules/@types/pbkdf2": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/secp256k1": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-QMg+9v0bbNJ2peLuHRWxzmy0HRJIG6gFZNhaRSp7S3ggSbCCxiqQB2/ybvhXyhHOCequpNkrx7OavNhrWOsW0A==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/abstract-leveldown": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", + "license": "MIT", "dependencies": { "xtend": "~4.0.0" } }, "node_modules/aes-js": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", - "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" + "license": "MIT" }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -575,8 +492,7 @@ }, "node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -586,90 +502,69 @@ }, "node_modules/any-promise": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + "license": "MIT" }, "node_modules/asn1": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "license": "MIT", "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/assertion-error": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/async": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "license": "MIT", "dependencies": { "lodash": "^4.17.14" } }, "node_modules/async-eventemitter": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "license": "MIT", "dependencies": { "async": "^2.4.0" } }, "node_modules/async-limiter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "license": "MIT" }, "node_modules/await-semaphore": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/await-semaphore/-/await-semaphore-0.1.3.tgz", - "integrity": "sha512-d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==" + "license": "MIT" }, "node_modules/aws-sign2": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/aws4": { "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.10.0" - } + "license": "MIT" }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.2.2", @@ -681,8 +576,7 @@ }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz", - "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.2.2", "core-js-compat": "^3.9.1" @@ -693,8 +587,7 @@ }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.2.2" }, @@ -704,8 +597,7 @@ }, "node_modules/backoff": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=", + "license": "MIT", "dependencies": { "precond": "0.2" }, @@ -715,55 +607,40 @@ }, "node_modules/base-x": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "license": "BSD-3-Clause", "dependencies": { "tweetnacl": "^0.14.3" } }, - "node_modules/bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", - "engines": { - "node": "*" - } - }, "node_modules/bindings": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", "dependencies": { "file-uri-to-path": "1.0.0" } }, "node_modules/blakejs": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" + "license": "CC0-1.0" }, "node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "license": "MIT" }, "node_modules/browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -775,8 +652,7 @@ }, "node_modules/browserslist": { "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001219", "colorette": "^1.2.2", @@ -797,16 +673,14 @@ }, "node_modules/bs58": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "license": "MIT", "dependencies": { "base-x": "^3.0.2" } }, "node_modules/bs58check": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "license": "MIT", "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -815,8 +689,7 @@ }, "node_modules/btoa": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "license": "(MIT OR Apache-2.0)", "bin": { "btoa": "bin/btoa.js" }, @@ -826,13 +699,11 @@ }, "node_modules/buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "license": "MIT" }, "node_modules/caniuse-lite": { "version": "1.0.30001231", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001231.tgz", - "integrity": "sha512-WAFFv31GgU4DiwNAy77qMo3nNyycEhH3ikcCVHvkQpPe/fO8Tb2aRYzss8kgyLQBm8mJ7OryW4X6Y4vsBCIqag==", + "license": "CC-BY-4.0", "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" @@ -840,13 +711,11 @@ }, "node_modules/caseless": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "license": "Apache-2.0" }, "node_modules/chai": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "license": "MIT", "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", @@ -861,8 +730,7 @@ }, "node_modules/chai-as-promised": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "license": "WTFPL", "dependencies": { "check-error": "^1.0.2" }, @@ -870,16 +738,9 @@ "chai": ">= 2.1.2 < 5" } }, - "node_modules/chai-bignumber": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chai-bignumber/-/chai-bignumber-3.0.0.tgz", - "integrity": "sha512-SubOtaSI2AILWTWe2j0c6i2yFT/f9J6UBjeVGDuwDiPLkF/U5+/eTWUE3sbCZ1KgcPF6UJsDVYbIxaYA097MQA==", - "dev": true - }, "node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -891,90 +752,51 @@ }, "node_modules/check-error": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/checkpoint-store": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY=", + "license": "ISC", "dependencies": { "functional-red-black-tree": "^1.0.1" } }, "node_modules/cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, - "node_modules/circular": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/circular/-/circular-1.0.5.tgz", - "integrity": "sha1-fad6+Yu96c5LWzWM1Va13e0tMUk=", - "dev": true - }, - "node_modules/cli-logger": { - "version": "0.5.40", - "resolved": "https://registry.npmjs.org/cli-logger/-/cli-logger-0.5.40.tgz", - "integrity": "sha1-CX8OEbByx8aYomxH9YiinCC0iws=", - "dev": true, - "dependencies": { - "circular": "^1.0.5", - "cli-util": "~1.1.27" - } - }, - "node_modules/cli-regexp": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/cli-regexp/-/cli-regexp-0.1.2.tgz", - "integrity": "sha1-a82TsJ+y7RAl0woRVdWZeVSlNRI=", - "dev": true - }, - "node_modules/cli-util": { - "version": "1.1.27", - "resolved": "https://registry.npmjs.org/cli-util/-/cli-util-1.1.27.tgz", - "integrity": "sha1-QtaeNqBAoyH8nPhRwVE8rcUJMFQ=", - "dev": true, - "dependencies": { - "cli-regexp": "~0.1.0" - } - }, "node_modules/clone": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "license": "MIT" }, "node_modules/colorette": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -984,8 +806,7 @@ }, "node_modules/convert-source-map": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "license": "MIT", "peer": true, "dependencies": { "safe-buffer": "~5.1.1" @@ -993,8 +814,7 @@ }, "node_modules/core-js-compat": { "version": "3.13.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.13.1.tgz", - "integrity": "sha512-mdrcxc0WznfRd8ZicEZh1qVeJ2mu6bwQFh8YVUK48friy/FOwFV5EJj9/dlh+nMQ74YusdVfBFDuomKgUspxWQ==", + "license": "MIT", "dependencies": { "browserslist": "^4.16.6", "semver": "7.0.0" @@ -1006,21 +826,18 @@ }, "node_modules/core-js-compat/node_modules/semver": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "license": "MIT" }, "node_modules/create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -1031,8 +848,7 @@ }, "node_modules/create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -1044,8 +860,7 @@ }, "node_modules/cross-fetch": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", - "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", + "license": "MIT", "dependencies": { "node-fetch": "2.1.2", "whatwg-fetch": "2.0.4" @@ -1053,8 +868,7 @@ }, "node_modules/dashdash": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0" }, @@ -1064,8 +878,7 @@ }, "node_modules/debug": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1080,8 +893,7 @@ }, "node_modules/deep-eql": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "license": "MIT", "dependencies": { "type-detect": "^4.0.0" }, @@ -1091,49 +903,24 @@ }, "node_modules/deferred-leveldown": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", + "license": "MIT", "dependencies": { "abstract-leveldown": "~2.6.0" } }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + "version": "0.1.2" }, "node_modules/ecc-jsbn": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "license": "MIT", "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -1141,13 +928,11 @@ }, "node_modules/electron-to-chromium": { "version": "1.3.742", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.742.tgz", - "integrity": "sha512-ihL14knI9FikJmH2XUIDdZFWJxvr14rPSdOhJ7PpS27xbz8qmaRwCwyg/bmFwjWKmWK9QyamiCZVCvXm5CH//Q==" + "license": "ISC" }, "node_modules/elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -1160,16 +945,14 @@ }, "node_modules/encoding": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", "dependencies": { "iconv-lite": "^0.6.2" } }, "node_modules/errno": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "license": "MIT", "dependencies": { "prr": "~1.0.1" }, @@ -1179,24 +962,21 @@ }, "node_modules/escalade": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/eth-block-tracker": { "version": "4.4.3", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", - "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", + "license": "MIT", "dependencies": { "@babel/plugin-transform-runtime": "^7.5.5", "@babel/runtime": "^7.5.5", @@ -1208,17 +988,14 @@ }, "node_modules/eth-json-rpc-errors": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-2.0.2.tgz", - "integrity": "sha512-uBCRM2w2ewusRHGxN8JhcuOb2RN3ueAOYH/0BhqdFmQkZx5lj5+fLKTz0mIVOzd4FG5/kUksCzCD7eTEim6gaA==", - "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", + "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6" } }, "node_modules/eth-query": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", - "integrity": "sha1-1nQdkAAQa1FRDHLbktY2VFam2l4=", + "license": "ISC", "dependencies": { "json-rpc-random-id": "^1.0.0", "xtend": "^4.0.1" @@ -1226,21 +1003,18 @@ }, "node_modules/eth-rpc-errors": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz", - "integrity": "sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==", + "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6" } }, "node_modules/ethereum-common": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" + "license": "MIT" }, "node_modules/ethereum-cryptography": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -1261,13 +1035,11 @@ }, "node_modules/ethereum-protocol": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ethereum-protocol/-/ethereum-protocol-1.0.1.tgz", - "integrity": "sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg==" + "license": "MIT" }, "node_modules/ethereumjs-abi": { "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -1275,8 +1047,7 @@ }, "node_modules/ethereumjs-account": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", + "license": "MPL-2.0", "dependencies": { "ethereumjs-util": "^5.0.0", "rlp": "^2.0.0", @@ -1285,8 +1056,7 @@ }, "node_modules/ethereumjs-account/node_modules/ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -1299,9 +1069,7 @@ }, "node_modules/ethereumjs-block": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", + "license": "MPL-2.0", "dependencies": { "async": "^2.0.1", "ethereum-common": "0.2.0", @@ -1312,9 +1080,7 @@ }, "node_modules/ethereumjs-block/node_modules/ethereumjs-tx": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "license": "MPL-2.0", "dependencies": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -1322,13 +1088,11 @@ }, "node_modules/ethereumjs-block/node_modules/ethereumjs-tx/node_modules/ethereum-common": { "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + "license": "MIT" }, "node_modules/ethereumjs-block/node_modules/ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -1341,15 +1105,11 @@ }, "node_modules/ethereumjs-common": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", - "deprecated": "New package name format for new versions: @ethereumjs/common. Please update." + "license": "MIT" }, "node_modules/ethereumjs-tx": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "license": "MPL-2.0", "dependencies": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -1357,8 +1117,7 @@ }, "node_modules/ethereumjs-util": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "license": "MPL-2.0", "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -1371,9 +1130,7 @@ }, "node_modules/ethereumjs-vm": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", + "license": "MPL-2.0", "dependencies": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -1390,9 +1147,7 @@ }, "node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", + "license": "MPL-2.0", "dependencies": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -1403,8 +1158,7 @@ }, "node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -1417,8 +1171,7 @@ }, "node_modules/ethereumjs-wallet": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-1.0.1.tgz", - "integrity": "sha512-3Z5g1hG1das0JWU6cQ9HWWTY2nt9nXCcwj7eXVNAHKbo00XAZO8+NHlwdgXDWrL0SXVQMvTWN8Q/82DRH/JhPw==", + "license": "MIT", "dependencies": { "aes-js": "^3.1.1", "bs58check": "^2.1.2", @@ -1432,21 +1185,18 @@ }, "node_modules/ethereumjs-wallet/node_modules/@types/bn.js": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/ethereumjs-wallet/node_modules/bn.js": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "license": "MIT" }, "node_modules/ethereumjs-wallet/node_modules/ethereumjs-util": { "version": "7.0.10", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.0.10.tgz", - "integrity": "sha512-c/xThw6A+EAnej5Xk5kOzFzyoSnw0WX0tSlZ6pAsfGVvQj3TItaDg9b1+Fz1RJXA+y2YksKwQnuzgt1eY6LKzw==", + "license": "MPL-2.0", "dependencies": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -1461,8 +1211,7 @@ }, "node_modules/ethjs-util": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "license": "MIT", "dependencies": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -1474,16 +1223,14 @@ }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -1491,52 +1238,44 @@ }, "node_modules/extend": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "license": "MIT" }, "node_modules/extsprintf": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "engines": [ "node >=0.6.0" - ] + ], + "license": "MIT" }, "node_modules/fake-merkle-patricia-tree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha1-S4w6z7Ugr635hgsfFM2M40As3dM=", + "license": "ISC", "dependencies": { "checkpoint-store": "^1.1.0" } }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "license": "MIT" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "license": "MIT" }, "node_modules/fast-safe-stringify": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + "license": "MIT" }, "node_modules/fetch-ponyfill": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", - "integrity": "sha1-rjzl9zLGReq4fkroeTQUcJsjmJM=", + "license": "MIT", "dependencies": { "node-fetch": "~1.7.1" } }, "node_modules/fetch-ponyfill/node_modules/node-fetch": { "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "license": "MIT", "dependencies": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -1544,41 +1283,18 @@ }, "node_modules/file-uri-to-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } + "license": "MIT" }, "node_modules/forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/form-data": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -1590,18 +1306,15 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "license": "MIT" }, "node_modules/functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "license": "MIT" }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "peer": true, "engines": { "node": ">=6.9.0" @@ -1609,24 +1322,21 @@ }, "node_modules/get-func-name": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/getpass": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/global": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "license": "MIT", "dependencies": { "min-document": "^2.19.0", "process": "^0.11.10" @@ -1634,25 +1344,21 @@ }, "node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/har-schema": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "license": "ISC", "engines": { "node": ">=4" } }, "node_modules/har-validator": { "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", + "license": "MIT", "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -1663,8 +1369,7 @@ }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -1674,16 +1379,14 @@ }, "node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -1695,8 +1398,7 @@ }, "node_modules/hash-base/node_modules/readable-stream": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -1708,8 +1410,6 @@ }, "node_modules/hash-base/node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -1723,12 +1423,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -1736,8 +1436,7 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -1746,8 +1445,7 @@ }, "node_modules/http-signature": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -1760,8 +1458,7 @@ }, "node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -1771,18 +1468,15 @@ }, "node_modules/immediate": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + "license": "MIT" }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "license": "ISC" }, "node_modules/is-core-module": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -1792,21 +1486,18 @@ }, "node_modules/is-fn": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", - "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-function": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + "license": "MIT" }, "node_modules/is-hex-prefixed": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", + "license": "MIT", "engines": { "node": ">=6.5.0", "npm": ">=3" @@ -1814,41 +1505,34 @@ }, "node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "license": "MIT" }, "node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "license": "MIT" }, "node_modules/isstream": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "license": "MIT" }, "node_modules/jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "license": "MIT" }, "node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -1858,8 +1542,7 @@ }, "node_modules/json-rpc-engine": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", - "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", + "license": "ISC", "dependencies": { "eth-rpc-errors": "^3.0.0", "safe-event-emitter": "^1.0.1" @@ -1867,36 +1550,29 @@ }, "node_modules/json-rpc-random-id": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha1-uknZat7RRE27jaPSA3SKy7zeyMg=" + "license": "ISC" }, "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.2.3" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "license": "MIT" }, "node_modules/json-stable-stringify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "license": "MIT", "dependencies": { "jsonify": "~0.0.0" } }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "license": "ISC" }, "node_modules/json5": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "license": "MIT", "peer": true, "dependencies": { "minimist": "^1.2.5" @@ -1910,19 +1586,14 @@ }, "node_modules/jsonify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "engines": { - "node": "*" - } + "license": "Public Domain" }, "node_modules/jsprim": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "engines": [ "node >=0.6.0" ], + "license": "MIT", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -1930,16 +1601,10 @@ "verror": "1.10.0" } }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==" - }, "node_modules/keccak": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0" @@ -1950,21 +1615,18 @@ }, "node_modules/level-codec": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" + "license": "MIT" }, "node_modules/level-errors": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", + "license": "MIT", "dependencies": { "errno": "~0.1.1" } }, "node_modules/level-iterator-stream": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -1974,13 +1636,11 @@ }, "node_modules/level-iterator-stream/node_modules/isarray": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "license": "MIT" }, "node_modules/level-iterator-stream/node_modules/readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -1990,13 +1650,11 @@ }, "node_modules/level-iterator-stream/node_modules/string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "license": "MIT" }, "node_modules/level-ws": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", + "license": "MIT", "dependencies": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -2004,13 +1662,11 @@ }, "node_modules/level-ws/node_modules/isarray": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "license": "MIT" }, "node_modules/level-ws/node_modules/readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -2020,13 +1676,10 @@ }, "node_modules/level-ws/node_modules/string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "license": "MIT" }, "node_modules/level-ws/node_modules/xtend": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "dependencies": { "object-keys": "~0.4.0" }, @@ -2036,8 +1689,7 @@ }, "node_modules/levelup": { "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", + "license": "MIT", "dependencies": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -2050,41 +1702,30 @@ }, "node_modules/levelup/node_modules/semver": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "license": "MIT" }, "node_modules/lodash.flatmap": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", - "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + "license": "MIT" }, "node_modules/ltgt": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" + "license": "MIT" }, "node_modules/md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -2093,8 +1734,7 @@ }, "node_modules/memdown": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", + "license": "MIT", "dependencies": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -2106,16 +1746,14 @@ }, "node_modules/memdown/node_modules/abstract-leveldown": { "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", + "license": "MIT", "dependencies": { "xtend": "~4.0.0" } }, "node_modules/merkle-patricia-tree": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", + "license": "MPL-2.0", "dependencies": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -2129,13 +1767,11 @@ }, "node_modules/merkle-patricia-tree/node_modules/async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "license": "MIT" }, "node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -2148,16 +1784,14 @@ }, "node_modules/mime-db": { "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "license": "MIT", "dependencies": { "mime-db": "1.47.0" }, @@ -2167,62 +1801,41 @@ }, "node_modules/min-document": { "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dependencies": { "dom-walk": "^0.1.0" } }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "license": "MIT" }, "node_modules/minimist": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "license": "MIT", "peer": true }, "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/nise": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", - "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", - "dependencies": { - "@sinonjs/commons": "^1.7.0", - "@sinonjs/fake-timers": "^7.0.4", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } + "license": "MIT" }, "node_modules/node-addon-api": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "license": "MIT" }, "node_modules/node-fetch": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "license": "MIT", "engines": { "node": "4.x || >=6.0.0" } }, "node_modules/node-gyp-build": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", + "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -2231,66 +1844,44 @@ }, "node_modules/node-releases": { "version": "1.1.72", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz", - "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==" + "license": "MIT" }, "node_modules/oauth-sign": { "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/object-keys": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + "license": "MIT" }, "node_modules/openzeppelin-solidity": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-4.1.0.tgz", - "integrity": "sha512-eOTwAu5q909S+Lqi4QnTQClY8KLpdnpiddrrrCuDSDaOgohBbl4VMcJj325k67m2qyalqvHu/2Fj5qqj5V9oLw==", - "deprecated": "This package is now published as @openzeppelin/contracts. Please change your dependency.", + "license": "MIT", "bin": { "openzeppelin-contracts-migrate-imports": "scripts/migrate-imports.js" } }, "node_modules/parse-headers": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + "license": "MIT" }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "license": "MIT" }, "node_modules/pathval": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/pbkdf2": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -2304,42 +1895,35 @@ }, "node_modules/performance-now": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "license": "MIT" }, "node_modules/pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/precond": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=", "engines": { "node": ">= 0.6" } }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "license": "MIT" }, "node_modules/promise-to-callback": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", - "integrity": "sha1-XSp0kBC/tn2WNZj805YHRqaP7vc=", + "license": "MIT", "dependencies": { "is-fn": "^1.0.0", "set-immediate-shim": "^1.0.1" @@ -2350,51 +1934,36 @@ }, "node_modules/prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "license": "MIT" }, "node_modules/psl": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "license": "MIT" }, "node_modules/punycode": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/qs": { "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.6" } }, - "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/readable-stream": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2407,14 +1976,11 @@ }, "node_modules/regenerator-runtime": { "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "license": "MIT" }, "node_modules/request": { "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "license": "Apache-2.0", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -2443,8 +2009,7 @@ }, "node_modules/resolve": { "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "license": "MIT", "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -2455,8 +2020,7 @@ }, "node_modules/ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -2464,8 +2028,7 @@ }, "node_modules/rlp": { "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.1" }, @@ -2475,38 +2038,31 @@ }, "node_modules/rustbn.js": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + "license": "(MIT OR Apache-2.0)" }, "node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/safe-event-emitter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", - "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", - "deprecated": "Renamed to @metamask/safe-event-emitter", + "license": "ISC", "dependencies": { "events": "^3.0.0" } }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "license": "MIT" }, "node_modules/scrypt-js": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + "license": "MIT" }, "node_modules/secp256k1": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "elliptic": "^6.5.2", "node-addon-api": "^2.0.0", @@ -2518,37 +2074,31 @@ }, "node_modules/semaphore": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==", "engines": { "node": ">=0.8.0" } }, "node_modules/semver": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/set-immediate-shim": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "license": "MIT" }, "node_modules/sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -2557,54 +2107,16 @@ "sha.js": "bin.js" } }, - "node_modules/sinon": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.1.tgz", - "integrity": "sha512-ZSSmlkSyhUWbkF01Z9tEbxZLF/5tRC9eojCdFh33gtQaP7ITQVaMWQHGuFM7Cuf/KEfihuh1tTl3/ABju3AQMg==", - "dependencies": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^7.1.0", - "@sinonjs/samsam": "^6.0.2", - "diff": "^5.0.0", - "nise": "^5.1.0", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/sinon/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/sshpk": { "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "license": "MIT", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -2616,27 +2128,20 @@ "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, "engines": { "node": ">=0.10.0" } }, "node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/strip-hex-prefix": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "license": "MIT", "dependencies": { "is-hex-prefixed": "1.0.0" }, @@ -2647,8 +2152,7 @@ }, "node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -2658,16 +2162,14 @@ }, "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tough-cookie": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -2676,22 +2178,9 @@ "node": ">=0.8" } }, - "node_modules/truffle-plugin-verify": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/truffle-plugin-verify/-/truffle-plugin-verify-0.5.8.tgz", - "integrity": "sha512-q45RI54mDu+8V5vbWfO4sIdUQqDX2AYEkr4T48CijQIIRlWYGDMFkw577tgSbf2yzmMueAKOjTxLTHX0osR+bQ==", - "dev": true, - "dependencies": { - "axios": "^0.21.1", - "cli-logger": "^0.5.40", - "delay": "^5.0.0", - "querystring": "^0.2.1" - } - }, "node_modules/tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -2701,51 +2190,43 @@ }, "node_modules/tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "license": "Unlicense" }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/utf8": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + "license": "MIT" }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "license": "MIT" }, "node_modules/uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT", "bin": { "uuid": "bin/uuid" } }, "node_modules/verror": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "engines": [ "node >=0.6.0" ], + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -2754,21 +2235,18 @@ }, "node_modules/whatwg-fetch": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + "license": "MIT" }, "node_modules/ws": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "license": "MIT", "dependencies": { "async-limiter": "~1.0.0" } }, "node_modules/xhr": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "license": "MIT", "dependencies": { "global": "~4.4.0", "is-function": "^1.0.1", @@ -2778,8 +2256,7 @@ }, "node_modules/xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", "engines": { "node": ">=0.4" } @@ -2788,21 +2265,15 @@ "dependencies": { "@babel/code-frame": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "requires": { "@babel/highlight": "^7.12.13" } }, "@babel/compat-data": { - "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz", - "integrity": "sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==" + "version": "7.14.4" }, "@babel/core": { "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", - "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", "peer": true, "requires": { "@babel/code-frame": "^7.12.13", @@ -2824,8 +2295,6 @@ }, "@babel/generator": { "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", - "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", "requires": { "@babel/types": "^7.14.2", "jsesc": "^2.5.1", @@ -2834,8 +2303,6 @@ }, "@babel/helper-compilation-targets": { "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz", - "integrity": "sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==", "requires": { "@babel/compat-data": "^7.14.4", "@babel/helper-validator-option": "^7.12.17", @@ -2845,8 +2312,6 @@ }, "@babel/helper-define-polyfill-provider": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", "requires": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", @@ -2860,8 +2325,6 @@ }, "@babel/helper-function-name": { "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", - "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", "requires": { "@babel/helper-get-function-arity": "^7.12.13", "@babel/template": "^7.12.13", @@ -2870,16 +2333,12 @@ }, "@babel/helper-get-function-arity": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "requires": { "@babel/types": "^7.12.13" } }, "@babel/helper-member-expression-to-functions": { "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", "peer": true, "requires": { "@babel/types": "^7.13.12" @@ -2887,16 +2346,12 @@ }, "@babel/helper-module-imports": { "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", "requires": { "@babel/types": "^7.13.12" } }, "@babel/helper-module-transforms": { "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", - "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==", "peer": true, "requires": { "@babel/helper-module-imports": "^7.13.12", @@ -2911,22 +2366,16 @@ }, "@babel/helper-optimise-call-expression": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "peer": true, "requires": { "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" + "version": "7.13.0" }, "@babel/helper-replace-supers": { "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz", - "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==", "peer": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.13.12", @@ -2937,8 +2386,6 @@ }, "@babel/helper-simple-access": { "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", "peer": true, "requires": { "@babel/types": "^7.13.12" @@ -2946,26 +2393,18 @@ }, "@babel/helper-split-export-declaration": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "requires": { "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" + "version": "7.14.0" }, "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" + "version": "7.12.17" }, "@babel/helpers": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", - "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", "peer": true, "requires": { "@babel/template": "^7.12.13", @@ -2975,8 +2414,6 @@ }, "@babel/highlight": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", "requires": { "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", @@ -2984,14 +2421,10 @@ } }, "@babel/parser": { - "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz", - "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==" + "version": "7.14.4" }, "@babel/plugin-transform-runtime": { "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz", - "integrity": "sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==", "requires": { "@babel/helper-module-imports": "^7.13.12", "@babel/helper-plugin-utils": "^7.13.0", @@ -3003,16 +2436,12 @@ }, "@babel/runtime": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "requires": { "@babel/code-frame": "^7.12.13", "@babel/parser": "^7.12.13", @@ -3021,8 +2450,6 @@ }, "@babel/traverse": { "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", - "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", "requires": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.14.2", @@ -3036,48 +2463,13 @@ }, "@babel/types": { "version": "7.14.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz", - "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==", "requires": { "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@sinonjs/samsam": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", - "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", - "requires": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==" - }, "@truffle/hdwallet-provider": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.4.0.tgz", - "integrity": "sha512-zCc4IWEtfAuKWWktZOaYFoHCvameQIz5Bk+S2ahCPxYMlWECWrbCMjoqqLojB1Hyz+IsvU1cspmr3E6PoO4ZmQ==", "requires": { "@trufflesuite/web3-provider-engine": "15.0.13-1", "any-promise": "^1.3.0", @@ -3092,8 +2484,6 @@ }, "@trufflesuite/eth-json-rpc-filters": { "version": "4.1.2-1", - "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-filters/-/eth-json-rpc-filters-4.1.2-1.tgz", - "integrity": "sha512-/MChvC5dw2ck9NU1cZmdovCz2VKbOeIyR4tcxDvA5sT+NaL0rA2/R5U0yI7zsbo1zD+pgqav77rQHTzpUdDNJQ==", "requires": { "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-0", "await-semaphore": "^0.1.3", @@ -3105,8 +2495,6 @@ }, "@trufflesuite/eth-json-rpc-infura": { "version": "4.0.3-0", - "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-infura/-/eth-json-rpc-infura-4.0.3-0.tgz", - "integrity": "sha512-xaUanOmo0YLqRsL0SfXpFienhdw5bpQ1WEXxMTRi57az4lwpZBv4tFUDvcerdwJrxX9wQqNmgUgd1BrR01dumw==", "requires": { "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-1", "cross-fetch": "^2.1.1", @@ -3116,8 +2504,6 @@ "dependencies": { "eth-json-rpc-errors": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", - "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", "requires": { "fast-safe-stringify": "^2.0.6" } @@ -3126,8 +2512,6 @@ }, "@trufflesuite/eth-json-rpc-middleware": { "version": "4.4.2-1", - "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.4.2-1.tgz", - "integrity": "sha512-iEy9H8ja7/8aYES5HfrepGBKU9n/Y4OabBJEklVd/zIBlhCCBAWBqkIZgXt11nBXO/rYAeKwYuE3puH3ByYnLA==", "requires": { "@trufflesuite/eth-sig-util": "^1.4.2", "btoa": "^1.2.1", @@ -3147,21 +2531,15 @@ "dependencies": { "eth-json-rpc-errors": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", - "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", "requires": { "fast-safe-stringify": "^2.0.6" } }, "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + "version": "0.0.18" }, "ethereumjs-tx": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", "requires": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -3169,8 +2547,6 @@ }, "ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -3185,8 +2561,6 @@ }, "@trufflesuite/eth-sig-util": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@trufflesuite/eth-sig-util/-/eth-sig-util-1.4.2.tgz", - "integrity": "sha512-+GyfN6b0LNW77hbQlH3ufZ/1eCON7mMrGym6tdYf7xiNw9Vv3jBO72bmmos1EId2NgBvPMhmYYm6DSLQFTmzrA==", "requires": { "ethereumjs-abi": "^0.6.8", "ethereumjs-util": "^5.1.1" @@ -3194,8 +2568,6 @@ "dependencies": { "ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -3210,8 +2582,6 @@ }, "@trufflesuite/web3-provider-engine": { "version": "15.0.13-1", - "resolved": "https://registry.npmjs.org/@trufflesuite/web3-provider-engine/-/web3-provider-engine-15.0.13-1.tgz", - "integrity": "sha512-6u3x/iIN5fyj8pib5QTUDmIOUiwAGhaqdSTXdqCu6v9zo2BEwdCqgEJd1uXDh3DBmPRDfiZ/ge8oUPy7LerpHg==", "requires": { "@trufflesuite/eth-json-rpc-filters": "^4.1.2-1", "@trufflesuite/eth-json-rpc-infura": "^4.0.3-0", @@ -3238,14 +2608,10 @@ }, "dependencies": { "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + "version": "0.0.18" }, "ethereumjs-tx": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", "requires": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -3253,8 +2619,6 @@ }, "ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -3269,50 +2633,36 @@ }, "@types/bn.js": { "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "requires": { "@types/node": "*" } }, "@types/node": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz", - "integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==" + "version": "15.6.1" }, "@types/pbkdf2": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", "requires": { "@types/node": "*" } }, "@types/secp256k1": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-QMg+9v0bbNJ2peLuHRWxzmy0HRJIG6gFZNhaRSp7S3ggSbCCxiqQB2/ybvhXyhHOCequpNkrx7OavNhrWOsW0A==", "requires": { "@types/node": "*" } }, "abstract-leveldown": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", "requires": { "xtend": "~4.0.0" } }, "aes-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", - "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" + "version": "3.1.2" }, "ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3322,89 +2672,54 @@ }, "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "^1.9.0" } }, "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + "version": "1.3.0" }, "asn1": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { "safer-buffer": "~2.1.0" } }, "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "version": "1.0.0" }, "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + "version": "1.1.0" }, "async": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "requires": { "lodash": "^4.17.14" } }, "async-eventemitter": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", "requires": { "async": "^2.4.0" } }, "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "version": "1.0.1" }, "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "version": "0.4.0" }, "await-semaphore": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/await-semaphore/-/await-semaphore-0.1.3.tgz", - "integrity": "sha512-d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==" + "version": "0.1.3" }, "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "version": "0.7.0" }, "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dev": true, - "requires": { - "follow-redirects": "^1.10.0" - } + "version": "1.11.0" }, "babel-plugin-polyfill-corejs2": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", "requires": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.2.2", @@ -3413,8 +2728,6 @@ }, "babel-plugin-polyfill-corejs3": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz", - "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==", "requires": { "@babel/helper-define-polyfill-provider": "^0.2.2", "core-js-compat": "^3.9.1" @@ -3422,68 +2735,45 @@ }, "babel-plugin-polyfill-regenerator": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", "requires": { "@babel/helper-define-polyfill-provider": "^0.2.2" } }, "backoff": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=", "requires": { "precond": "0.2" } }, "base-x": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", "requires": { "safe-buffer": "^5.0.1" } }, "bcrypt-pbkdf": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "requires": { "tweetnacl": "^0.14.3" } }, - "bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" - }, "bindings": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "requires": { "file-uri-to-path": "1.0.0" } }, "blakejs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" + "version": "1.1.0" }, "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "version": "4.12.0" }, "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "version": "1.1.0" }, "browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -3495,8 +2785,6 @@ }, "browserslist": { "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", "requires": { "caniuse-lite": "^1.0.30001219", "colorette": "^1.2.2", @@ -3507,16 +2795,12 @@ }, "bs58": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", "requires": { "base-x": "^3.0.2" } }, "bs58check": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", "requires": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -3524,29 +2808,19 @@ } }, "btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + "version": "1.2.1" }, "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "version": "1.0.3" }, "caniuse-lite": { - "version": "1.0.30001231", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001231.tgz", - "integrity": "sha512-WAFFv31GgU4DiwNAy77qMo3nNyycEhH3ikcCVHvkQpPe/fO8Tb2aRYzss8kgyLQBm8mJ7OryW4X6Y4vsBCIqag==" + "version": "1.0.30001231" }, "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "version": "0.12.0" }, "chai": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", @@ -3558,22 +2832,12 @@ }, "chai-as-promised": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", "requires": { "check-error": "^1.0.2" } }, - "chai-bignumber": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chai-bignumber/-/chai-bignumber-3.0.0.tgz", - "integrity": "sha512-SubOtaSI2AILWTWe2j0c6i2yFT/f9J6UBjeVGDuwDiPLkF/U5+/eTWUE3sbCZ1KgcPF6UJsDVYbIxaYA097MQA==", - "dev": true - }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3581,93 +2845,44 @@ } }, "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" + "version": "1.0.2" }, "checkpoint-store": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY=", "requires": { "functional-red-black-tree": "^1.0.1" } }, "cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, - "circular": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/circular/-/circular-1.0.5.tgz", - "integrity": "sha1-fad6+Yu96c5LWzWM1Va13e0tMUk=", - "dev": true - }, - "cli-logger": { - "version": "0.5.40", - "resolved": "https://registry.npmjs.org/cli-logger/-/cli-logger-0.5.40.tgz", - "integrity": "sha1-CX8OEbByx8aYomxH9YiinCC0iws=", - "dev": true, - "requires": { - "circular": "^1.0.5", - "cli-util": "~1.1.27" - } - }, - "cli-regexp": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/cli-regexp/-/cli-regexp-0.1.2.tgz", - "integrity": "sha1-a82TsJ+y7RAl0woRVdWZeVSlNRI=", - "dev": true - }, - "cli-util": { - "version": "1.1.27", - "resolved": "https://registry.npmjs.org/cli-util/-/cli-util-1.1.27.tgz", - "integrity": "sha1-QtaeNqBAoyH8nPhRwVE8rcUJMFQ=", - "dev": true, - "requires": { - "cli-regexp": "~0.1.0" - } - }, "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "version": "2.1.2" }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.3" }, "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" + "version": "1.2.2" }, "combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "convert-source-map": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "peer": true, "requires": { "safe-buffer": "~5.1.1" @@ -3675,29 +2890,21 @@ }, "core-js-compat": { "version": "3.13.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.13.1.tgz", - "integrity": "sha512-mdrcxc0WznfRd8ZicEZh1qVeJ2mu6bwQFh8YVUK48friy/FOwFV5EJj9/dlh+nMQ74YusdVfBFDuomKgUspxWQ==", "requires": { "browserslist": "^4.16.6", "semver": "7.0.0" }, "dependencies": { "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + "version": "7.0.0" } } }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.2" }, "create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -3708,8 +2915,6 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -3721,8 +2926,6 @@ }, "cross-fetch": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", - "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", "requires": { "node-fetch": "2.1.2", "whatwg-fetch": "2.0.4" @@ -3730,75 +2933,46 @@ }, "dashdash": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { "assert-plus": "^1.0.0" } }, "debug": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "requires": { "ms": "2.1.2" } }, "deep-eql": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "requires": { "type-detect": "^4.0.0" } }, "deferred-leveldown": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", "requires": { "abstract-leveldown": "~2.6.0" } }, - "delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "dev": true - }, "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + "version": "1.0.0" }, "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + "version": "0.1.2" }, "ecc-jsbn": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "electron-to-chromium": { - "version": "1.3.742", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.742.tgz", - "integrity": "sha512-ihL14knI9FikJmH2XUIDdZFWJxvr14rPSdOhJ7PpS27xbz8qmaRwCwyg/bmFwjWKmWK9QyamiCZVCvXm5CH//Q==" + "version": "1.3.742" }, "elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -3811,34 +2985,24 @@ }, "encoding": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "requires": { "iconv-lite": "^0.6.2" } }, "errno": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "requires": { "prr": "~1.0.1" } }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "version": "3.1.1" }, "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "version": "1.0.5" }, "eth-block-tracker": { "version": "4.4.3", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", - "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", "requires": { "@babel/plugin-transform-runtime": "^7.5.5", "@babel/runtime": "^7.5.5", @@ -3850,16 +3014,12 @@ }, "eth-json-rpc-errors": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-2.0.2.tgz", - "integrity": "sha512-uBCRM2w2ewusRHGxN8JhcuOb2RN3ueAOYH/0BhqdFmQkZx5lj5+fLKTz0mIVOzd4FG5/kUksCzCD7eTEim6gaA==", "requires": { "fast-safe-stringify": "^2.0.6" } }, "eth-query": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", - "integrity": "sha1-1nQdkAAQa1FRDHLbktY2VFam2l4=", "requires": { "json-rpc-random-id": "^1.0.0", "xtend": "^4.0.1" @@ -3867,21 +3027,15 @@ }, "eth-rpc-errors": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz", - "integrity": "sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==", "requires": { "fast-safe-stringify": "^2.0.6" } }, "ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" + "version": "0.2.0" }, "ethereum-cryptography": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "requires": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -3901,14 +3055,10 @@ } }, "ethereum-protocol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ethereum-protocol/-/ethereum-protocol-1.0.1.tgz", - "integrity": "sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg==" + "version": "1.0.1" }, "ethereumjs-abi": { "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", "requires": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -3916,8 +3066,6 @@ }, "ethereumjs-account": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", "requires": { "ethereumjs-util": "^5.0.0", "rlp": "^2.0.0", @@ -3926,8 +3074,6 @@ "dependencies": { "ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -3942,8 +3088,6 @@ }, "ethereumjs-block": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", "requires": { "async": "^2.0.1", "ethereum-common": "0.2.0", @@ -3954,24 +3098,18 @@ "dependencies": { "ethereumjs-tx": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", "requires": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" }, "dependencies": { "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + "version": "0.0.18" } } }, "ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -3985,14 +3123,10 @@ } }, "ethereumjs-common": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==" + "version": "1.5.2" }, "ethereumjs-tx": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", "requires": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -4000,8 +3134,6 @@ }, "ethereumjs-util": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -4014,8 +3146,6 @@ }, "ethereumjs-vm": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", "requires": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -4032,8 +3162,6 @@ "dependencies": { "ethereumjs-block": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", "requires": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -4044,8 +3172,6 @@ "dependencies": { "ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -4062,8 +3188,6 @@ }, "ethereumjs-wallet": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-1.0.1.tgz", - "integrity": "sha512-3Z5g1hG1das0JWU6cQ9HWWTY2nt9nXCcwj7eXVNAHKbo00XAZO8+NHlwdgXDWrL0SXVQMvTWN8Q/82DRH/JhPw==", "requires": { "aes-js": "^3.1.1", "bs58check": "^2.1.2", @@ -4077,21 +3201,15 @@ "dependencies": { "@types/bn.js": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", "requires": { "@types/node": "*" } }, "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "version": "5.2.0" }, "ethereumjs-util": { "version": "7.0.10", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.0.10.tgz", - "integrity": "sha512-c/xThw6A+EAnej5Xk5kOzFzyoSnw0WX0tSlZ6pAsfGVvQj3TItaDg9b1+Fz1RJXA+y2YksKwQnuzgt1eY6LKzw==", "requires": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -4105,72 +3223,50 @@ }, "ethjs-util": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", "requires": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" } }, "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "version": "3.3.0" }, "evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" } }, "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "version": "3.0.2" }, "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "version": "1.3.0" }, "fake-merkle-patricia-tree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha1-S4w6z7Ugr635hgsfFM2M40As3dM=", "requires": { "checkpoint-store": "^1.1.0" } }, "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "version": "3.1.3" }, "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "version": "2.1.0" }, "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + "version": "2.0.7" }, "fetch-ponyfill": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", - "integrity": "sha1-rjzl9zLGReq4fkroeTQUcJsjmJM=", "requires": { "node-fetch": "~1.7.1" }, "dependencies": { "node-fetch": { "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -4179,25 +3275,13 @@ } }, "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", - "dev": true + "version": "1.0.0" }, "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "version": "0.6.1" }, "form-data": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -4205,57 +3289,39 @@ } }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.1" }, "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "version": "1.0.1" }, "gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "peer": true }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" + "version": "2.0.0" }, "getpass": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { "assert-plus": "^1.0.0" } }, "global": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "requires": { "min-document": "^2.19.0", "process": "^0.11.10" } }, "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "version": "11.12.0" }, "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "version": "2.0.0" }, "har-validator": { "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -4263,21 +3329,15 @@ }, "has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { "function-bind": "^1.1.1" } }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "version": "3.0.0" }, "hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -4286,8 +3346,6 @@ "dependencies": { "readable-stream": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -4295,16 +3353,12 @@ } }, "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "version": "5.2.1" } } }, "hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -4312,8 +3366,6 @@ }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -4322,8 +3374,6 @@ }, "http-signature": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -4332,135 +3382,89 @@ }, "iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + "version": "3.3.0" }, "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "version": "2.0.4" }, "is-core-module": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", "requires": { "has": "^1.0.3" } }, "is-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", - "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=" + "version": "1.0.0" }, "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + "version": "1.0.2" }, "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + "version": "1.0.0" }, "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "version": "1.1.0" }, "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "version": "1.0.0" }, "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "1.0.0" }, "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "version": "0.1.2" }, "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "version": "4.0.0" }, "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "version": "0.1.1" }, "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "version": "2.5.2" }, "json-rpc-engine": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", - "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", "requires": { "eth-rpc-errors": "^3.0.0", "safe-event-emitter": "^1.0.1" } }, "json-rpc-random-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha1-uknZat7RRE27jaPSA3SKy7zeyMg=" + "version": "1.0.1" }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.2.3" }, "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "version": "0.4.1" }, "json-stable-stringify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { "jsonify": "~0.0.0" } }, "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "version": "5.0.1" }, "json5": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "peer": true, "requires": { "minimist": "^1.2.5" } }, "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "version": "0.0.0" }, "jsprim": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -4468,37 +3472,24 @@ "verror": "1.10.0" } }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==" - }, "keccak": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0" } }, "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" + "version": "7.0.1" }, "level-errors": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", "requires": { "errno": "~0.1.1" } }, "level-iterator-stream": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", "requires": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -4507,14 +3498,10 @@ }, "dependencies": { "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "version": "0.0.1" }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -4523,30 +3510,22 @@ } }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "version": "0.10.31" } } }, "level-ws": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", "requires": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" }, "dependencies": { "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "version": "0.0.1" }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -4555,14 +3534,10 @@ } }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "version": "0.10.31" }, "xtend": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "requires": { "object-keys": "~0.4.0" } @@ -4571,8 +3546,6 @@ }, "levelup": { "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", "requires": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -4584,41 +3557,24 @@ }, "dependencies": { "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "version": "5.4.1" } } }, "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "version": "4.17.21" }, "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "version": "4.0.8" }, "lodash.flatmap": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", - "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + "version": "4.5.0" }, "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" + "version": "2.2.1" }, "md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -4627,8 +3583,6 @@ }, "memdown": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", "requires": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -4640,8 +3594,6 @@ "dependencies": { "abstract-leveldown": { "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", "requires": { "xtend": "~4.0.0" } @@ -4650,8 +3602,6 @@ }, "merkle-patricia-tree": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", "requires": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -4664,14 +3614,10 @@ }, "dependencies": { "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "version": "1.5.2" }, "ethereumjs-util": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -4685,128 +3631,65 @@ } }, "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" + "version": "1.47.0" }, "mime-types": { "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "requires": { "mime-db": "1.47.0" } }, "min-document": { "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { "dom-walk": "^0.1.0" } }, "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "version": "1.0.1" }, "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "version": "1.0.1" }, "minimist": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "peer": true }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "nise": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", - "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", - "requires": { - "@sinonjs/commons": "^1.7.0", - "@sinonjs/fake-timers": "^7.0.4", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } + "version": "2.1.2" }, "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "version": "2.0.2" }, "node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + "version": "2.1.2" }, "node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" + "version": "4.2.3" }, "node-releases": { - "version": "1.1.72", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz", - "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==" + "version": "1.1.72" }, "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "version": "0.9.0" }, "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + "version": "0.4.0" }, "openzeppelin-solidity": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-4.1.0.tgz", - "integrity": "sha512-eOTwAu5q909S+Lqi4QnTQClY8KLpdnpiddrrrCuDSDaOgohBbl4VMcJj325k67m2qyalqvHu/2Fj5qqj5V9oLw==" + "version": "4.1.0" }, "parse-headers": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + "version": "2.0.3" }, "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - } - } + "version": "1.0.7" }, "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + "version": "1.1.1" }, "pbkdf2": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -4816,77 +3699,47 @@ } }, "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "version": "2.1.0" }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "version": "3.0.0" }, "precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=" + "version": "0.2.3" }, "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "version": "0.11.10" }, "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "version": "2.0.1" }, "promise-to-callback": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", - "integrity": "sha1-XSp0kBC/tn2WNZj805YHRqaP7vc=", "requires": { "is-fn": "^1.0.0", "set-immediate-shim": "^1.0.1" } }, "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "version": "1.0.1" }, "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "version": "1.8.0" }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "version": "2.1.1" }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "dev": true + "version": "6.5.2" }, "randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } }, "readable-stream": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4898,14 +3751,10 @@ } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "version": "0.13.7" }, "request": { "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -4931,8 +3780,6 @@ }, "resolve": { "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "requires": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -4940,8 +3787,6 @@ }, "ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -4949,44 +3794,30 @@ }, "rlp": { "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", "requires": { "bn.js": "^4.11.1" } }, "rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + "version": "0.2.0" }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.1.2" }, "safe-event-emitter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", - "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", "requires": { "events": "^3.0.0" } }, "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "version": "2.1.2" }, "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + "version": "3.0.1" }, "secp256k1": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", "requires": { "elliptic": "^6.5.2", "node-addon-api": "^2.0.0", @@ -4994,71 +3825,29 @@ } }, "semaphore": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==" + "version": "1.1.0" }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.0" }, "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + "version": "1.0.1" }, "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "version": "1.0.5" }, "sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, - "sinon": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.1.tgz", - "integrity": "sha512-ZSSmlkSyhUWbkF01Z9tEbxZLF/5tRC9eojCdFh33gtQaP7ITQVaMWQHGuFM7Cuf/KEfihuh1tTl3/ABju3AQMg==", - "requires": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^7.1.0", - "@sinonjs/samsam": "^6.0.2", - "diff": "^5.0.0", - "nise": "^5.1.0", - "supports-color": "^7.2.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "version": "0.5.7" }, "sshpk": { "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -5073,99 +3862,61 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } }, "strip-hex-prefix": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", "requires": { "is-hex-prefixed": "1.0.0" } }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { "has-flag": "^3.0.0" } }, "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "version": "2.0.0" }, "tough-cookie": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" } }, - "truffle-plugin-verify": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/truffle-plugin-verify/-/truffle-plugin-verify-0.5.8.tgz", - "integrity": "sha512-q45RI54mDu+8V5vbWfO4sIdUQqDX2AYEkr4T48CijQIIRlWYGDMFkw577tgSbf2yzmMueAKOjTxLTHX0osR+bQ==", - "dev": true, - "requires": { - "axios": "^0.21.1", - "cli-logger": "^0.5.40", - "delay": "^5.0.0", - "querystring": "^0.2.1" - } - }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { "safe-buffer": "^5.0.1" } }, "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "version": "0.14.5" }, "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "version": "4.0.8" }, "uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } }, "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + "version": "3.0.0" }, "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "version": "1.0.2" }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "version": "3.4.0" }, "verror": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -5173,22 +3924,16 @@ } }, "whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + "version": "2.0.4" }, "ws": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "requires": { "async-limiter": "~1.0.0" } }, "xhr": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", "requires": { "global": "~4.4.0", "is-function": "^1.0.1", @@ -5197,9 +3942,7 @@ } }, "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "version": "4.0.2" } } } diff --git a/package.json b/package.json index 134a040..dd05ccd 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,23 @@ { "dependencies": { "@truffle/hdwallet-provider": "^1.4.0", - "bignumber.js": "^9.0.1", "chai-as-promised": "^7.1.1", - "openzeppelin-solidity": "4.1.0", - "sinon": "^11.1.1" + "openzeppelin-solidity": "4.1.0" }, "devDependencies": { - "chai": "^4.3.4", - "chai-bignumber": "^3.0.0", - "truffle-plugin-verify": "^0.5.8" - } + "chai": "^4.3.4" + }, + "name": "polygon-proj1", + "version": "1.0.0", + "description": "Staking, Raffle, IDO and Token on Polygon", + "main": "truffle-config.js", + "directories": { + "test": "test" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "sudiptab2100", + "license": "MIT", + "keywords": [] } diff --git a/test/staker-test.js b/test/1-staker-test.js similarity index 99% rename from test/staker-test.js rename to test/1-staker-test.js index 7a40095..af467d8 100644 --- a/test/staker-test.js +++ b/test/1-staker-test.js @@ -15,7 +15,6 @@ contract("Staker", accounts => { describe('Testing Staker', () => { let val = '100000000000000000000' - let clock beforeEach(async () => { await token.transfer(accounts[1], val, { from: accounts[0] }) await token.transfer(accounts[2], val, { from: accounts[0] }) diff --git a/test/2-ido-test.js b/test/2-ido-test.js new file mode 100644 index 0000000..d803f8f --- /dev/null +++ b/test/2-ido-test.js @@ -0,0 +1,218 @@ +const { assert, expect } = require("chai") +const chai = require("chai") +chai.use(require('chai-as-promised')) + +const PolCoin = artifacts.require("PolCoin") +const TestToken = artifacts.require("TestToken") +const Staker = artifacts.require("Staker") +const IDO = artifacts.require("IDO") + +function timeout(s) { + return new Promise(resolve => setTimeout(resolve, s * 1000)); +} + +contract("IDO", accounts => { + + var idoAmount = '10000000000000000000000' // 10000 Tokens + var pricePerToken = '1000000000000000' // 0.001 Eth + + var poolMin = [ + '100000000000000000000', + '500000000000000000000', + '1000000000000000000000', + '2000000000000000000000', + '4000000000000000000000' + ] + + let polCoin, testToken, staker, ido + beforeEach(async () => { + polCoin = await PolCoin.new() + testToken = await TestToken.new() + + staker = await Staker.new(polCoin.address) + ido = await IDO.new( + staker.address, + polCoin.address, + testToken.address, + idoAmount, + pricePerToken + ) + + // Transfer PolCoins to accounts + await polCoin.transfer(accounts[1], poolMin[0], { from: accounts[0] }) + await polCoin.transfer(accounts[2], poolMin[0], { from: accounts[0] }) + await polCoin.transfer(accounts[3], poolMin[1], { from: accounts[0] }) + await polCoin.transfer(accounts[4], poolMin[2], { from: accounts[0] }) + await polCoin.transfer(accounts[5], poolMin[3], { from: accounts[0] }) + await polCoin.transfer(accounts[6], poolMin[4], { from: accounts[0] }) + await polCoin.transfer(accounts[7], poolMin[4], { from: accounts[0] }) + + // Approve Transfer to Staker ontract + await polCoin.approve(staker.address, poolMin[0], { from: accounts[1] }) + await polCoin.approve(staker.address, poolMin[0], { from: accounts[2] }) + await polCoin.approve(staker.address, poolMin[1], { from: accounts[3] }) + await polCoin.approve(staker.address, poolMin[2], { from: accounts[4] }) + await polCoin.approve(staker.address, poolMin[3], { from: accounts[5] }) + await polCoin.approve(staker.address, poolMin[4], { from: accounts[6] }) + await polCoin.approve(staker.address, poolMin[4], { from: accounts[7] }) + + // Accounts Stake in Staker + await staker.stake(poolMin[0], { from: accounts[1] }) + await staker.stake(poolMin[0], { from: accounts[2] }) + await staker.stake(poolMin[1], { from: accounts[3] }) + await staker.stake(poolMin[2], { from: accounts[4] }) + await staker.stake(poolMin[3], { from: accounts[5] }) + await staker.stake(poolMin[4], { from: accounts[6] }) + await staker.stake(poolMin[4], { from: accounts[7] }) + + await staker.addIDO(ido.address, { from: accounts[0] }) + await testToken.transfer(ido.address, idoAmount, { from: accounts[0] }) + }) + + describe('Testing IDO Without Initializing', () => { + + it('Registration(fail test)', async () => { + await expect( + ido.register(1, { from: accounts[0] }) + ).to.be.rejected + }) + + it('Buy(fail test)', async () => { + await expect( + ido.buyNow({ from: accounts[0] }) + ).to.be.rejected + }) + }) + + describe('Testing IDO Registration(Wile Initialized)', () => { + + beforeEach(async () => { + var initTime = Math.floor(Date.now() / 1000) + 5 + ido.initialize(initTime, { from: accounts[0] }) + }) + + it('Registration before time fails', async () => { + await expect( + ido.register(1, { from: accounts[1] }) + ).to.be.rejected + }) + + it('Register in Registration period', async () => { + await timeout(5) // wait 5s for registration to start + + ido.register(1, { from: accounts[1] }) + }) + + it('Registration after time fails', async () => { + await timeout(5 + 48 + 2) // wait for registration to end + + await expect( + ido.register(1, { from: accounts[1] }) + ).to.be.rejected + }) + + it('Multiple Registration And Unstake After Registration Fails', async () => { + await timeout(5) // wait for registration to start + + // Expect registration in invalid pool to fail + await expect( + // account 1 does not have enough tokens + // staked to participate in pool no 4 + ido.register(4, { from: accounts[3] }) + ).to.be.rejected + + await ido.register(2, { from: accounts[3] }) + + // Expecting 2nd registration from same user to fail + await expect( + ido.register(1, { from: accounts[3] }) + ).to.be.rejected + + // expecting unstaking to fail as user is locked + await expect( + staker.unstake(poolMin[1], { from: accounts[3] }) + ).to.be.rejected + }) + + }) + + describe('Testing IDO Purchase', async () => { + + let saleStartsAfter, initTime + beforeEach(async () => { + initTime = Math.floor(Date.now() / 1000) + 1 + await ido.initialize(initTime, { from: accounts[0] }) + saleStartsAfter = 48 + 24 + await timeout(1) + + await ido.register(1, { from: accounts[1] }) + await ido.register(1, { from: accounts[2] }) + await ido.register(2, { from: accounts[3] }) + await ido.register(3, { from: accounts[4] }) + await ido.register(4, { from: accounts[5] }) + await ido.register(5, { from: accounts[6] }) + await ido.register(5, { from: accounts[7] }) + }) + + it('Purchase before time(fails)', async () => { + const price = (await ido.tokensAndPrice(1))[1] + await expect( + ido.buyNow({ from: accounts[1], value: price }) + ).to.be.rejected + }) + + it('Purchase in Sale period', async () => { + await timeout(saleStartsAfter) + + const price = (await ido.tokensAndPrice(1))[1] + await ido.buyNow({ from: accounts[1], value: price }) + + const usr = await ido.userlog(accounts[1]) + assert.equal(usr.isRegistered, true); + assert.equal(usr.registeredPool.toNumber(), 1) + assert.equal(usr.purchased, true) + + // Multiple Purchase Order expected to Fail + await expect( + ido.buyNow({ from: accounts[1], value: price }) + ).to.be.rejected + }) + + it('Purchase After Sale Period(fails)', async () => { + await timeout(saleStartsAfter + 12 + 1) + + let price = (await ido.tokensAndPrice(1))[1] + await expect( + ido.buyNow({ from: accounts[1], value: price }) + ).to.be.rejected + }) + }) + + describe('Recover', async () => { + let saleStartsAfter, initTime + beforeEach(async () => { + initTime = Math.floor(Date.now() / 1000) + 1 + await ido.initialize(initTime, { from: accounts[0] }) + saleStartsAfter = 48 + 24 + await timeout(1) + + await ido.register(1, { from: accounts[1] }) + }) + + it('Recover ERC20', async () => { + await ido.recoverERC20(polCoin.address, accounts[0], { from: accounts[0] }) + }) + + it('Recover Eth', async () => { + await timeout(saleStartsAfter) // Wait for sale to start + + let price = (await ido.tokensAndPrice(1))[1] + await ido.buyNow({ + from: accounts[1], + value: price + }) // A participant buys tokens and eth added to contract + + await ido.recoverEth(accounts[0], { from: accounts[0] }) // Recover the Eth + }) + }) +}) \ No newline at end of file