Created
May 4, 2021 18:37
-
-
Save e00dan/3b95e7b8ebdc673abe558771c00d16ca to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"contractName": "HeadTail", | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "stake", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "userOneAddress", | |
"outputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "userOneSignedChoiceHash", | |
"outputs": [ | |
{ | |
"internalType": "bytes", | |
"name": "", | |
"type": "bytes" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "userTwoAddress", | |
"outputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "userTwoChoice", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "userTwoChoiceSubmittedTime", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bytes", | |
"name": "_signedChoiceHash", | |
"type": "bytes" | |
}, | |
{ | |
"internalType": "uint128", | |
"name": "_stake", | |
"type": "uint128" | |
} | |
], | |
"name": "depositUserOne", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bool", | |
"name": "choice", | |
"type": "bool" | |
} | |
], | |
"name": "depositUserTwo", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bool", | |
"name": "choice", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "string", | |
"name": "secret", | |
"type": "string" | |
} | |
], | |
"name": "revealUserOneChoice", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "timeout", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "hash", | |
"type": "bytes32" | |
}, | |
{ | |
"internalType": "bytes", | |
"name": "signature", | |
"type": "bytes" | |
} | |
], | |
"name": "verify", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bool", | |
"name": "choice", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "string", | |
"name": "secret", | |
"type": "string" | |
} | |
], | |
"name": "createChoiceHash", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "", | |
"type": "bytes32" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
} | |
], | |
"metadata": "{\"compiler\":{\"version\":\"0.8.3+commit.8d00100c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"choice\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"secret\",\"type\":\"string\"}],\"name\":\"createChoiceHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_signedChoiceHash\",\"type\":\"bytes\"},{\"internalType\":\"uint128\",\"name\":\"_stake\",\"type\":\"uint128\"}],\"name\":\"depositUserOne\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"choice\",\"type\":\"bool\"}],\"name\":\"depositUserTwo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"choice\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"secret\",\"type\":\"string\"}],\"name\":\"revealUserOneChoice\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timeout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userOneAddress\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userOneSignedChoiceHash\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userTwoAddress\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userTwoChoice\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userTwoChoiceSubmittedTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verify\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/kuzi/projects/blockchain-workshop/contracts/HeadTail.sol\":\"HeadTail\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/kuzi/projects/blockchain-workshop/contracts/HeadTail.sol\":{\"keccak256\":\"0x7ce0c8f317b2f26e011978cd750d2293950eccfd36c4e3edbfc52968d39e25a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd89a98423a41ae90dffcfdffdaf4a0051fbe1b26b7c9577cf5eec207dd43548\",\"dweb:/ipfs/QmRk9uh4cxHNiof9rmwyPpGP9BiNZea9qGugZL1j1XyBag\"]}},\"version\":1}", | |
"bytecode": "0x608060405234801561001057600080fd5b50611ed9806100206000396000f3fe6080604052600436106100a75760003560e01c80637fb1d0dd116100645780637fb1d0dd146101c057806390bddff0146101eb578063b70d2ee814610228578063d536ac9514610253578063ef3022df14610290578063f9846e1f146102ac576100a7565b8063258ae582146100ac5780633a4b66f1146100e95780634212259e146101145780635e157d1f1461013f57806370dea79a1461016a578063711aa39b14610195575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190611105565b6102c8565b6040516100e091906114b4565b60405180910390f35b3480156100f557600080fd5b506100fe6102e4565b60405161010b9190611707565b60405180910390f35b34801561012057600080fd5b506101296102ea565b6040516101369190611707565b60405180910390f35b34801561014b57600080fd5b506101546102f0565b6040516101619190611565565b60405180910390f35b34801561017657600080fd5b5061017f61037e565b60405161018c91906114ea565b60405180910390f35b3480156101a157600080fd5b506101aa6105c2565b6040516101b791906114cf565b60405180910390f35b3480156101cc57600080fd5b506101d56105e6565b6040516101e291906114cf565b60405180910390f35b3480156101f757600080fd5b50610212600480360381019061020d91906110b1565b61060c565b60405161021f9190611505565b60405180910390f35b34801561023457600080fd5b5061023d61063f565b60405161024a91906114ea565b60405180910390f35b34801561025f57600080fd5b5061027a600480360381019061027591906110b1565b610652565b60405161028791906114ea565b60405180910390f35b6102aa60048036038101906102a59190611159565b6107d9565b005b6102c660048036038101906102c19190611088565b610930565b005b60006102dc6102d684610b89565b83610bb9565b905092915050565b60045481565b60035481565b600180546102fd9061196b565b80601f01602080910402602001604051908101604052809291908181526020018280546103299061196b565b80156103765780601f1061034b57610100808354040283529160200191610376565b820191906000526020600020905b81548152906001019060200180831161035957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561040f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610406906116c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156104a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049890611687565b60405180910390fd5b60045460026104b09190611842565b47146104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e8906115c7565b60405180910390fd5b6201518060035461050291906117ec565b421015610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053b906116e7565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600454600261058f9190611842565b9081150290604051600060405180830381858888f193505050501580156105ba573d6000803e3d6000fd5b506001905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008282604051602001610621929190611466565b60405160208183030381529060405280519060200120905092915050565b600260149054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da906116c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076c90611687565b60405180910390fd5b60045460026107849190611842565b47146107c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bc906115c7565b60405180910390fd5b6107ce83610c33565b506001905092915050565b806fffffffffffffffffffffffffffffffff16341461082d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610824906116a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b390611647565b60405180910390fd5b806fffffffffffffffffffffffffffffffff16600481905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816001908051906020019061092b929190610ed6565b505050565b6004543414610974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096b906116a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb906116c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8c90611667565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b906115e7565b60405180910390fd5b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260146101000a81548160ff0219169083151502179055504260038190555050565b600081604051602001610b9c919061148e565b604051602081830303815290604052805190602001209050919050565b60006041825114610bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf6906115a7565b60405180910390fd5b60008060006020850151925060408501519150606085015160001a9050610c2886828585610d4b565b935050505092915050565b6000811515600260149054906101000a900460ff1615151415610ccc57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004546002610c9b9190611842565b9081150290604051600060405180830381858888f19350505050158015610cc6573d6000803e3d6000fd5b50610d42565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004546002610d159190611842565b9081150290604051600060405180830381858888f19350505050158015610d40573d6000803e3d6000fd5b505b60019050919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115610db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daa90611607565b60405180910390fd5b601b8460ff161480610dc85750601c8460ff16145b610e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfe90611627565b60405180910390fd5b600060018686868660405160008152602001604052604051610e2c9493929190611520565b6020604051602081039080840390855afa158015610e4e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec190611587565b60405180910390fd5b80915050949350505050565b828054610ee29061196b565b90600052602060002090601f016020900481019282610f045760008555610f4b565b82601f10610f1d57805160ff1916838001178555610f4b565b82800160010185558215610f4b579182015b82811115610f4a578251825591602001919060010190610f2f565b5b509050610f589190610f5c565b5090565b5b80821115610f75576000816000905550600101610f5d565b5090565b6000610f8c610f8784611747565b611722565b905082815260208101848484011115610fa457600080fd5b610faf848285611929565b509392505050565b6000610fca610fc584611778565b611722565b905082815260208101848484011115610fe257600080fd5b610fed848285611929565b509392505050565b60008135905061100481611e5e565b92915050565b60008135905061101981611e75565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610f79565b91505092915050565b600082601f83011261105a57600080fd5b813561106a848260208601610fb7565b91505092915050565b60008135905061108281611e8c565b92915050565b60006020828403121561109a57600080fd5b60006110a884828501610ff5565b91505092915050565b600080604083850312156110c457600080fd5b60006110d285828601610ff5565b925050602083013567ffffffffffffffff8111156110ef57600080fd5b6110fb85828601611049565b9150509250929050565b6000806040838503121561111857600080fd5b60006111268582860161100a565b925050602083013567ffffffffffffffff81111561114357600080fd5b61114f8582860161101f565b9150509250929050565b6000806040838503121561116c57600080fd5b600083013567ffffffffffffffff81111561118657600080fd5b6111928582860161101f565b92505060206111a385828601611073565b9150509250929050565b6111b6816118ae565b82525050565b6111c58161189c565b82525050565b6111d4816118c0565b82525050565b6111eb6111e6826118c0565b6119ce565b82525050565b6111fa816118cc565b82525050565b61121161120c826118cc565b6119e0565b82525050565b6000611222826117a9565b61122c81856117bf565b935061123c818560208601611938565b61124581611a89565b840191505092915050565b600061125b826117b4565b61126581856117e1565b9350611275818560208601611938565b80840191505092915050565b600061128e6018836117d0565b915061129982611aa7565b602082019050919050565b60006112b1601f836117d0565b91506112bc82611ad0565b602082019050919050565b60006112d4601c836117e1565b91506112df82611af9565b601c82019050919050565b60006112f76028836117d0565b915061130282611b22565b604082019050919050565b600061131a6030836117d0565b915061132582611b71565b604082019050919050565b600061133d6022836117d0565b915061134882611bc0565b604082019050919050565b60006113606022836117d0565b915061136b82611c0f565b604082019050919050565b60006113836023836117d0565b915061138e82611c5e565b604082019050919050565b60006113a66023836117d0565b91506113b182611cad565b604082019050919050565b60006113c96038836117d0565b91506113d482611cfc565b604082019050919050565b60006113ec6051836117d0565b91506113f782611d4b565b606082019050919050565b600061140f6024836117d0565b915061141a82611dc0565b604082019050919050565b60006114326034836117d0565b915061143d82611e0f565b604082019050919050565b61145181611912565b82525050565b6114608161191c565b82525050565b600061147282856111da565b6001820191506114828284611250565b91508190509392505050565b6000611499826112c7565b91506114a58284611200565b60208201915081905092915050565b60006020820190506114c960008301846111bc565b92915050565b60006020820190506114e460008301846111ad565b92915050565b60006020820190506114ff60008301846111cb565b92915050565b600060208201905061151a60008301846111f1565b92915050565b600060808201905061153560008301876111f1565b6115426020830186611457565b61154f60408301856111f1565b61155c60608301846111f1565b95945050505050565b6000602082019050818103600083015261157f8184611217565b905092915050565b600060208201905081810360008301526115a081611281565b9050919050565b600060208201905081810360008301526115c0816112a4565b9050919050565b600060208201905081810360008301526115e0816112ea565b9050919050565b600060208201905081810360008301526116008161130d565b9050919050565b6000602082019050818103600083015261162081611330565b9050919050565b6000602082019050818103600083015261164081611353565b9050919050565b6000602082019050818103600083015261166081611376565b9050919050565b6000602082019050818103600083015261168081611399565b9050919050565b600060208201905081810360008301526116a0816113bc565b9050919050565b600060208201905081810360008301526116c0816113df565b9050919050565b600060208201905081810360008301526116e081611402565b9050919050565b6000602082019050818103600083015261170081611425565b9050919050565b600060208201905061171c6000830184611448565b92915050565b600061172c61173d565b9050611738828261199d565b919050565b6000604051905090565b600067ffffffffffffffff82111561176257611761611a5a565b5b61176b82611a89565b9050602081019050919050565b600067ffffffffffffffff82111561179357611792611a5a565b5b61179c82611a89565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006117f782611912565b915061180283611912565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611837576118366119fc565b5b828201905092915050565b600061184d82611912565b915061185883611912565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611891576118906119fc565b5b828202905092915050565b60006118a7826118f2565b9050919050565b60006118b9826118f2565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561195657808201518184015260208101905061193b565b83811115611965576000848401525b50505050565b6000600282049050600182168061198357607f821691505b6020821081141561199757611996611a2b565b5b50919050565b6119a682611a89565b810181811067ffffffffffffffff821117156119c5576119c4611a5a565b5b80604052505050565b60006119d9826119ea565b9050919050565b6000819050919050565b60006119f582611a9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f7072697a652068617320746f206265206e6f74206265656e206469737472696260008201527f7574656420796574000000000000000000000000000000000000000000000000602082015250565b7f7573657254776f416464726573732068617320746f206469666665722066726f60008201527f6d20757365724f6e654164647265737300000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f757365724f6e65416464726573732063616e277420626520616c72656164792060008201527f7365740000000000000000000000000000000000000000000000000000000000602082015250565b7f7573657254776f416464726573732063616e277420626520616c72656164792060008201527f7365740000000000000000000000000000000000000000000000000000000000602082015250565b7f757365722074776f20616464726573732068617320746f20626520736574206260008201527f65666f726520646973747269627574696e67207072697a650000000000000000602082015250565b7f757365722068617320746f20706173732061737365742076616c75652065717560008201527f616c20746f207365636f6e6420706172616d65746572206f662074686520636f60208201527f6e7374727563746f7220287374616b6529000000000000000000000000000000604082015250565b7f757365724f6e65416464726573732068617320746f20626520616c726561647960008201527f2073657400000000000000000000000000000000000000000000000000000000602082015250565b7f323420686f757273206e65656420746f2070617373206265666f72652061626960008201527f6c69747920746f2063616c6c2074696d656f7574000000000000000000000000602082015250565b611e67816118c0565b8114611e7257600080fd5b50565b611e7e816118cc565b8114611e8957600080fd5b50565b611e95816118d6565b8114611ea057600080fd5b5056fea2646970667358221220085b5e3e20a7f33c5cab8065721debefcd42f523d56277c50c7d6a107e0fca2264736f6c63430008030033", | |
"deployedBytecode": "0x6080604052600436106100a75760003560e01c80637fb1d0dd116100645780637fb1d0dd146101c057806390bddff0146101eb578063b70d2ee814610228578063d536ac9514610253578063ef3022df14610290578063f9846e1f146102ac576100a7565b8063258ae582146100ac5780633a4b66f1146100e95780634212259e146101145780635e157d1f1461013f57806370dea79a1461016a578063711aa39b14610195575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190611105565b6102c8565b6040516100e091906114b4565b60405180910390f35b3480156100f557600080fd5b506100fe6102e4565b60405161010b9190611707565b60405180910390f35b34801561012057600080fd5b506101296102ea565b6040516101369190611707565b60405180910390f35b34801561014b57600080fd5b506101546102f0565b6040516101619190611565565b60405180910390f35b34801561017657600080fd5b5061017f61037e565b60405161018c91906114ea565b60405180910390f35b3480156101a157600080fd5b506101aa6105c2565b6040516101b791906114cf565b60405180910390f35b3480156101cc57600080fd5b506101d56105e6565b6040516101e291906114cf565b60405180910390f35b3480156101f757600080fd5b50610212600480360381019061020d91906110b1565b61060c565b60405161021f9190611505565b60405180910390f35b34801561023457600080fd5b5061023d61063f565b60405161024a91906114ea565b60405180910390f35b34801561025f57600080fd5b5061027a600480360381019061027591906110b1565b610652565b60405161028791906114ea565b60405180910390f35b6102aa60048036038101906102a59190611159565b6107d9565b005b6102c660048036038101906102c19190611088565b610930565b005b60006102dc6102d684610b89565b83610bb9565b905092915050565b60045481565b60035481565b600180546102fd9061196b565b80601f01602080910402602001604051908101604052809291908181526020018280546103299061196b565b80156103765780601f1061034b57610100808354040283529160200191610376565b820191906000526020600020905b81548152906001019060200180831161035957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561040f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610406906116c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156104a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049890611687565b60405180910390fd5b60045460026104b09190611842565b47146104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e8906115c7565b60405180910390fd5b6201518060035461050291906117ec565b421015610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053b906116e7565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600454600261058f9190611842565b9081150290604051600060405180830381858888f193505050501580156105ba573d6000803e3d6000fd5b506001905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008282604051602001610621929190611466565b60405160208183030381529060405280519060200120905092915050565b600260149054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da906116c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076c90611687565b60405180910390fd5b60045460026107849190611842565b47146107c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bc906115c7565b60405180910390fd5b6107ce83610c33565b506001905092915050565b806fffffffffffffffffffffffffffffffff16341461082d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610824906116a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b390611647565b60405180910390fd5b806fffffffffffffffffffffffffffffffff16600481905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816001908051906020019061092b929190610ed6565b505050565b6004543414610974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096b906116a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb906116c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8c90611667565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b906115e7565b60405180910390fd5b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260146101000a81548160ff0219169083151502179055504260038190555050565b600081604051602001610b9c919061148e565b604051602081830303815290604052805190602001209050919050565b60006041825114610bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf6906115a7565b60405180910390fd5b60008060006020850151925060408501519150606085015160001a9050610c2886828585610d4b565b935050505092915050565b6000811515600260149054906101000a900460ff1615151415610ccc57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004546002610c9b9190611842565b9081150290604051600060405180830381858888f19350505050158015610cc6573d6000803e3d6000fd5b50610d42565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004546002610d159190611842565b9081150290604051600060405180830381858888f19350505050158015610d40573d6000803e3d6000fd5b505b60019050919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115610db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daa90611607565b60405180910390fd5b601b8460ff161480610dc85750601c8460ff16145b610e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfe90611627565b60405180910390fd5b600060018686868660405160008152602001604052604051610e2c9493929190611520565b6020604051602081039080840390855afa158015610e4e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec190611587565b60405180910390fd5b80915050949350505050565b828054610ee29061196b565b90600052602060002090601f016020900481019282610f045760008555610f4b565b82601f10610f1d57805160ff1916838001178555610f4b565b82800160010185558215610f4b579182015b82811115610f4a578251825591602001919060010190610f2f565b5b509050610f589190610f5c565b5090565b5b80821115610f75576000816000905550600101610f5d565b5090565b6000610f8c610f8784611747565b611722565b905082815260208101848484011115610fa457600080fd5b610faf848285611929565b509392505050565b6000610fca610fc584611778565b611722565b905082815260208101848484011115610fe257600080fd5b610fed848285611929565b509392505050565b60008135905061100481611e5e565b92915050565b60008135905061101981611e75565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610f79565b91505092915050565b600082601f83011261105a57600080fd5b813561106a848260208601610fb7565b91505092915050565b60008135905061108281611e8c565b92915050565b60006020828403121561109a57600080fd5b60006110a884828501610ff5565b91505092915050565b600080604083850312156110c457600080fd5b60006110d285828601610ff5565b925050602083013567ffffffffffffffff8111156110ef57600080fd5b6110fb85828601611049565b9150509250929050565b6000806040838503121561111857600080fd5b60006111268582860161100a565b925050602083013567ffffffffffffffff81111561114357600080fd5b61114f8582860161101f565b9150509250929050565b6000806040838503121561116c57600080fd5b600083013567ffffffffffffffff81111561118657600080fd5b6111928582860161101f565b92505060206111a385828601611073565b9150509250929050565b6111b6816118ae565b82525050565b6111c58161189c565b82525050565b6111d4816118c0565b82525050565b6111eb6111e6826118c0565b6119ce565b82525050565b6111fa816118cc565b82525050565b61121161120c826118cc565b6119e0565b82525050565b6000611222826117a9565b61122c81856117bf565b935061123c818560208601611938565b61124581611a89565b840191505092915050565b600061125b826117b4565b61126581856117e1565b9350611275818560208601611938565b80840191505092915050565b600061128e6018836117d0565b915061129982611aa7565b602082019050919050565b60006112b1601f836117d0565b91506112bc82611ad0565b602082019050919050565b60006112d4601c836117e1565b91506112df82611af9565b601c82019050919050565b60006112f76028836117d0565b915061130282611b22565b604082019050919050565b600061131a6030836117d0565b915061132582611b71565b604082019050919050565b600061133d6022836117d0565b915061134882611bc0565b604082019050919050565b60006113606022836117d0565b915061136b82611c0f565b604082019050919050565b60006113836023836117d0565b915061138e82611c5e565b604082019050919050565b60006113a66023836117d0565b91506113b182611cad565b604082019050919050565b60006113c96038836117d0565b91506113d482611cfc565b604082019050919050565b60006113ec6051836117d0565b91506113f782611d4b565b606082019050919050565b600061140f6024836117d0565b915061141a82611dc0565b604082019050919050565b60006114326034836117d0565b915061143d82611e0f565b604082019050919050565b61145181611912565b82525050565b6114608161191c565b82525050565b600061147282856111da565b6001820191506114828284611250565b91508190509392505050565b6000611499826112c7565b91506114a58284611200565b60208201915081905092915050565b60006020820190506114c960008301846111bc565b92915050565b60006020820190506114e460008301846111ad565b92915050565b60006020820190506114ff60008301846111cb565b92915050565b600060208201905061151a60008301846111f1565b92915050565b600060808201905061153560008301876111f1565b6115426020830186611457565b61154f60408301856111f1565b61155c60608301846111f1565b95945050505050565b6000602082019050818103600083015261157f8184611217565b905092915050565b600060208201905081810360008301526115a081611281565b9050919050565b600060208201905081810360008301526115c0816112a4565b9050919050565b600060208201905081810360008301526115e0816112ea565b9050919050565b600060208201905081810360008301526116008161130d565b9050919050565b6000602082019050818103600083015261162081611330565b9050919050565b6000602082019050818103600083015261164081611353565b9050919050565b6000602082019050818103600083015261166081611376565b9050919050565b6000602082019050818103600083015261168081611399565b9050919050565b600060208201905081810360008301526116a0816113bc565b9050919050565b600060208201905081810360008301526116c0816113df565b9050919050565b600060208201905081810360008301526116e081611402565b9050919050565b6000602082019050818103600083015261170081611425565b9050919050565b600060208201905061171c6000830184611448565b92915050565b600061172c61173d565b9050611738828261199d565b919050565b6000604051905090565b600067ffffffffffffffff82111561176257611761611a5a565b5b61176b82611a89565b9050602081019050919050565b600067ffffffffffffffff82111561179357611792611a5a565b5b61179c82611a89565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006117f782611912565b915061180283611912565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611837576118366119fc565b5b828201905092915050565b600061184d82611912565b915061185883611912565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611891576118906119fc565b5b828202905092915050565b60006118a7826118f2565b9050919050565b60006118b9826118f2565b9050919050565b60008115159050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561195657808201518184015260208101905061193b565b83811115611965576000848401525b50505050565b6000600282049050600182168061198357607f821691505b6020821081141561199757611996611a2b565b5b50919050565b6119a682611a89565b810181811067ffffffffffffffff821117156119c5576119c4611a5a565b5b80604052505050565b60006119d9826119ea565b9050919050565b6000819050919050565b60006119f582611a9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f7072697a652068617320746f206265206e6f74206265656e206469737472696260008201527f7574656420796574000000000000000000000000000000000000000000000000602082015250565b7f7573657254776f416464726573732068617320746f206469666665722066726f60008201527f6d20757365724f6e654164647265737300000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f757365724f6e65416464726573732063616e277420626520616c72656164792060008201527f7365740000000000000000000000000000000000000000000000000000000000602082015250565b7f7573657254776f416464726573732063616e277420626520616c72656164792060008201527f7365740000000000000000000000000000000000000000000000000000000000602082015250565b7f757365722074776f20616464726573732068617320746f20626520736574206260008201527f65666f726520646973747269627574696e67207072697a650000000000000000602082015250565b7f757365722068617320746f20706173732061737365742076616c75652065717560008201527f616c20746f207365636f6e6420706172616d65746572206f662074686520636f60208201527f6e7374727563746f7220287374616b6529000000000000000000000000000000604082015250565b7f757365724f6e65416464726573732068617320746f20626520616c726561647960008201527f2073657400000000000000000000000000000000000000000000000000000000602082015250565b7f323420686f757273206e65656420746f2070617373206265666f72652061626960008201527f6c69747920746f2063616c6c2074696d656f7574000000000000000000000000602082015250565b611e67816118c0565b8114611e7257600080fd5b50565b611e7e816118cc565b8114611e8957600080fd5b50565b611e95816118d6565b8114611ea057600080fd5b5056fea2646970667358221220085b5e3e20a7f33c5cab8065721debefcd42f523d56277c50c7d6a107e0fca2264736f6c63430008030033", | |
"immutableReferences": {}, | |
"generatedSources": [], | |
"deployedGeneratedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:26861:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "90:260:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "100:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "166:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "125:40:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "125:48:1" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "109:15:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "109:65:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "100:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "190:5:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "197:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "183:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "183:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "183:21:1" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "213:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "228:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "235:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "224:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "224:16:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "217:3:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "278:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "287:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "290:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "280:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "280:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "280:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "259:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "264:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "255:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "255:16:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "273:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "252:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "252:25:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "249:2:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "327:3:1" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "332:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "337:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "303:23:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "303:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "303:41:1" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "63:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "68:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "76:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "84:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:343:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "440:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "450:75:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "517:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "475:41:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "475:49:1" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "459:15:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "459:66:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "450:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "541:5:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "548:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "534:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "534:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "534:21:1" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "564:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "579:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "575:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "575:16:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "568:3:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "629:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "638:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "641:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "631:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "631:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "631:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "610:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "615:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "606:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "606:16:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "624:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "603:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "603:25:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "600:2:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "678:3:1" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "683:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "688:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "654:23:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "654:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "654:41:1" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "413:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "418:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "426:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "434:5:1", | |
"type": "" | |
} | |
], | |
"src": "356:345:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "756:84:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "766:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "788:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "775:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "775:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "766:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "828:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "804:23:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "804:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "804:30:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "734:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "742:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "750:5:1", | |
"type": "" | |
} | |
], | |
"src": "707:133:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "898:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "908:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "930:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "917:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "917:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "908:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "973:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "946:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "946:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "946:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "876:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "884:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "892:5:1", | |
"type": "" | |
} | |
], | |
"src": "846:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1065:210:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1114:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1123:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1126:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1116:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1116:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1116:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1093:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1101:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1089:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1089:17:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1108:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1085:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1085:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1078:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1078:35:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1075:2:1" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1139:34:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1166:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1153:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1153:20:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1143:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1182:87:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1242:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1250:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1238:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1238:17:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1257:6:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1265:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1191:46:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1191:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "1182:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1043:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1051:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "1059:5:1", | |
"type": "" | |
} | |
], | |
"src": "1004:271:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1357:211:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1406:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1415:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1418:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1408:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1408:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1408:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1385:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1393:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1381:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1381:17:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1400:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1377:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1377:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1370:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1370:35:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1367:2:1" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1431:34:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1458:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1445:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1445:20:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1435:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1474:88:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1535:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1543:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1531:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1531:17:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1550:6:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1558:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1483:47:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1483:79:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "1474:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1335:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1343:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "1351:5:1", | |
"type": "" | |
} | |
], | |
"src": "1295:273:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1626:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1636:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1658:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1645:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1645:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1636:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1701:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint128", | |
"nodeType": "YulIdentifier", | |
"src": "1674:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1674:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1674:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint128", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1604:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1612:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1620:5:1", | |
"type": "" | |
} | |
], | |
"src": "1574:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1782:193:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1828:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1837:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1840:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1830:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1830:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1830:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1803:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1812:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1799:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1799:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1824:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1795:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1795:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1792:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1854:114:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1869:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1883:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1873:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1898:60:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1930:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1941:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1926:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1926:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1950:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "1908:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1908:50:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1898:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1752:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1763:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1775:6:1", | |
"type": "" | |
} | |
], | |
"src": "1719:256:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2071:424:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2117:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2126:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2129:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2119:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2119:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2119:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2092:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2101:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2088:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2088:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2113:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2084:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2084:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2081:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2143:114:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2158:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2172:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2162:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2187:60:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2219:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2230:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2215:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2215:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2239:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "2197:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2197:50:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2187:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2267:221:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2282:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2313:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2324:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2309:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2309:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2296:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2296:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2286:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2375:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2384:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2387:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2377:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2377:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2377:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2347:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2355:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2344:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2344:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2341:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2405:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2450:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2461:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2446:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2446:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2470:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2415:30:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2415:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2405:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_boolt_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2033:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2044:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2056:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "2064:6:1", | |
"type": "" | |
} | |
], | |
"src": "1981:514:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2593:426:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2639:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2648:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2651:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2641:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2641:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2641:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2614:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2623:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2610:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2610:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2635:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2606:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2606:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2603:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2665:117:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2680:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2694:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2684:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2709:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2744:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2755:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2740:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2740:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2764:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "2719:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2719:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2709:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2792:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2807:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2838:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2849:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2834:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2834:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2821:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2821:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2811:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2900:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2909:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2912:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2902:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2902:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2902:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2872:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2880:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2869:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2869:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2866:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2930:72:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2974:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2985:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2970:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2970:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2994:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2940:29:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2940:62:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2930:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bytes32t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2555:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2566:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2578:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "2586:6:1", | |
"type": "" | |
} | |
], | |
"src": "2501:518:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3117:426:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3163:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3172:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3175:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "3165:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3165:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3165:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3138:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3147:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3134:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3134:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3159:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "3130:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3130:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "3127:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3189:219:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3204:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3235:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3246:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3231:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3231:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "3218:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3218:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "3208:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3296:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3305:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3308:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "3298:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3298:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3298:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3268:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3276:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "3265:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3265:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "3262:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3326:72:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3370:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3381:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3366:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3366:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3390:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3336:29:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3336:62:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "3326:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3418:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3433:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3447:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "3437:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3463:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3498:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3509:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3494:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3494:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3518:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint128", | |
"nodeType": "YulIdentifier", | |
"src": "3473:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3473:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "3463:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bytes_memory_ptrt_uint128", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3079:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "3090:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "3102:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "3110:6:1", | |
"type": "" | |
} | |
], | |
"src": "3025:518:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3630:61:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3647:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3678:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "3652:25:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3652:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3640:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3640:45:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3640:45:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3618:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3625:3:1", | |
"type": "" | |
} | |
], | |
"src": "3549:142:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3762:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3779:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3802:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "3784:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3784:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3772:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3772:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3772:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3750:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3757:3:1", | |
"type": "" | |
} | |
], | |
"src": "3697:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3880:50:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3897:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3917:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "3902:14:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3902:21:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3890:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3890:34:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3890:34:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3868:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3875:3:1", | |
"type": "" | |
} | |
], | |
"src": "3821:109:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4013:68:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4030:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4067:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "4052:14:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4052:21:1" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "4035:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4035:39:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4023:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4023:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4023:52:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4001:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4008:3:1", | |
"type": "" | |
} | |
], | |
"src": "3936:145:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4152:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4169:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4192:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "4174:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4174:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4162:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4162:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4162:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4140:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4147:3:1", | |
"type": "" | |
} | |
], | |
"src": "4087:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4294:74:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4311:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4354:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "4336:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4336:24:1" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "4316:19:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4316:45:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4304:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4304:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4304:58:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4282:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4289:3:1", | |
"type": "" | |
} | |
], | |
"src": "4211:157:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4464:270:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4474:52:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4520:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "4488:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4488:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4478:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4535:77:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4600:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4605:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4542:57:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4542:70:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4535:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4647:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4654:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4643:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4643:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4661:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4666:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "4621:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4621:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4621:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4682:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4693:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4720:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "4698:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4698:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4689:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4689:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4682:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4445:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4452:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4460:3:1", | |
"type": "" | |
} | |
], | |
"src": "4374:360:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4850:267:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4860:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4907:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "4874:32:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4874:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4864:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4922:96:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5006:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "5011:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4929:76:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4929:89:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4922:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5053:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5060:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5049:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5049:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5067:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "5072:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "5027:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5027:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5027:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5088:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5099:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "5104:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5095:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5095:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5088:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4831:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4838:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4846:3:1", | |
"type": "" | |
} | |
], | |
"src": "4740:377:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5269:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5279:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5345:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5350:2:1", | |
"type": "", | |
"value": "24" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5286:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5286:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5279:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5451:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", | |
"nodeType": "YulIdentifier", | |
"src": "5362:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5362:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5362:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5464:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5475:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5480:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5471:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5471:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5464:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5257:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5265:3:1", | |
"type": "" | |
} | |
], | |
"src": "5123:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5641:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5651:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5717:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5722:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5658:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5658:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5651:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5823:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", | |
"nodeType": "YulIdentifier", | |
"src": "5734:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5734:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5734:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5836:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5847:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5852:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5843:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5843:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5836:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5629:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5637:3:1", | |
"type": "" | |
} | |
], | |
"src": "5495:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6031:238:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6041:92:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6125:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6130:2:1", | |
"type": "", | |
"value": "28" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6048:76:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6048:85:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6041:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6231:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", | |
"nodeType": "YulIdentifier", | |
"src": "6142:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6142:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6142:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6244:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6255:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6260:2:1", | |
"type": "", | |
"value": "28" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6251:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6251:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6244:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6019:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6027:3:1", | |
"type": "" | |
} | |
], | |
"src": "5867:402:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6421:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6431:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6497:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6502:2:1", | |
"type": "", | |
"value": "40" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6438:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6438:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6431:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6603:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2", | |
"nodeType": "YulIdentifier", | |
"src": "6514:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6514:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6514:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6616:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6627:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6632:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6623:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6623:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6616:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6409:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6417:3:1", | |
"type": "" | |
} | |
], | |
"src": "6275:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6793:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6803:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6869:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6874:2:1", | |
"type": "", | |
"value": "48" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6810:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6810:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6803:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6975:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57", | |
"nodeType": "YulIdentifier", | |
"src": "6886:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6886:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6886:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6988:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6999:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7004:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6995:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6995:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6988:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6781:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6789:3:1", | |
"type": "" | |
} | |
], | |
"src": "6647:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7165:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7175:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7241:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7246:2:1", | |
"type": "", | |
"value": "34" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7182:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7182:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7175:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7347:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", | |
"nodeType": "YulIdentifier", | |
"src": "7258:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7258:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7258:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7360:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7371:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7376:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7367:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7367:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "7360:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7153:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "7161:3:1", | |
"type": "" | |
} | |
], | |
"src": "7019:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7537:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7547:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7613:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7618:2:1", | |
"type": "", | |
"value": "34" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7554:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7554:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7547:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7719:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", | |
"nodeType": "YulIdentifier", | |
"src": "7630:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7630:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7630:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7732:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7743:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7748:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7739:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7739:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "7732:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7525:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "7533:3:1", | |
"type": "" | |
} | |
], | |
"src": "7391:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7909:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7919:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7985:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7990:2:1", | |
"type": "", | |
"value": "35" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7926:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7926:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7919:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8091:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19", | |
"nodeType": "YulIdentifier", | |
"src": "8002:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8002:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8002:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8104:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8115:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8120:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8111:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8111:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "8104:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7897:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "7905:3:1", | |
"type": "" | |
} | |
], | |
"src": "7763:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8281:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8291:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8357:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8362:2:1", | |
"type": "", | |
"value": "35" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8298:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8298:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8291:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8463:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b", | |
"nodeType": "YulIdentifier", | |
"src": "8374:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8374:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8374:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8476:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8487:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8492:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8483:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8483:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "8476:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8269:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "8277:3:1", | |
"type": "" | |
} | |
], | |
"src": "8135:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8653:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8663:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8729:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8734:2:1", | |
"type": "", | |
"value": "56" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8670:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8670:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8663:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8835:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"nodeType": "YulIdentifier", | |
"src": "8746:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8746:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8746:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8848:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8859:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8864:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8855:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8855:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "8848:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8641:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "8649:3:1", | |
"type": "" | |
} | |
], | |
"src": "8507:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9025:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9035:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9101:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9106:2:1", | |
"type": "", | |
"value": "81" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9042:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9042:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9035:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9207:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"nodeType": "YulIdentifier", | |
"src": "9118:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9118:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9118:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9220:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9231:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9236:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9227:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9227:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "9220:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "9013:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "9021:3:1", | |
"type": "" | |
} | |
], | |
"src": "8879:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9397:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9407:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9473:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9478:2:1", | |
"type": "", | |
"value": "36" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9414:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9414:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9407:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9579:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"nodeType": "YulIdentifier", | |
"src": "9490:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9490:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9490:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9592:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9603:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9608:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9599:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9599:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "9592:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "9385:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "9393:3:1", | |
"type": "" | |
} | |
], | |
"src": "9251:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9769:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9779:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9845:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9850:2:1", | |
"type": "", | |
"value": "52" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9786:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9786:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9779:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9951:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005", | |
"nodeType": "YulIdentifier", | |
"src": "9862:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9862:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9862:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9964:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9975:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9980:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9971:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9971:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "9964:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "9757:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "9765:3:1", | |
"type": "" | |
} | |
], | |
"src": "9623:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10060:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10077:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "10100:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "10082:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10082:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10070:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10070:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10070:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10048:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "10055:3:1", | |
"type": "" | |
} | |
], | |
"src": "9995:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10180:51:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10197:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "10218:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "10202:15:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10202:22:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10190:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10190:35:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10190:35:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint8_to_t_uint8_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10168:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "10175:3:1", | |
"type": "" | |
} | |
], | |
"src": "10119:112:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10395:245:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10462:6:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10471:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10406:55:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10406:69:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10406:69:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10484:18:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10495:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10500:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10491:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10491:11:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10484:3:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10512:102:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "10601:6:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10610:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10519:81:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10519:95:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10512:3:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10624:10:1", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10631:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "10624:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_packed_t_bool_t_string_memory_ptr__to_t_bool_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "10366:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "10372:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10380:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "10391:3:1", | |
"type": "" | |
} | |
], | |
"src": "10237:403:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10863:305:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10874:155:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11025:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10881:142:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10881:148:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10874:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "11101:6:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11110:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11039:61:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11039:75:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11039:75:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11123:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11134:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11139:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11130:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11130:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11123:3:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11152:10:1", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11159:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "11152:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "10842:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10848:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "10859:3:1", | |
"type": "" | |
} | |
], | |
"src": "10646:522:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11272:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11282:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11294:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11305:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11290:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11290:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11282:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "11362:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11375:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11386:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11371:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11371:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11318:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11318:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11318:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11244:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "11256:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11267:4:1", | |
"type": "" | |
} | |
], | |
"src": "11174:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11516:140:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11526:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11538:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11549:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11534:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11534:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11526:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "11622:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11635:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11646:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11631:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11631:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11562:59:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11562:87:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11562:87:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11488:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "11500:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11511:4:1", | |
"type": "" | |
} | |
], | |
"src": "11402:254:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11754:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11764:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11776:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11787:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11772:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11772:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11764:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "11838:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11851:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11862:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11847:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11847:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11800:37:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11800:65:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11800:65:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11726:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "11738:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11749:4:1", | |
"type": "" | |
} | |
], | |
"src": "11662:210:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11976:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11986:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11998:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12009:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11994:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11994:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11986:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "12066:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12079:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12090:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12075:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12075:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12022:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12022:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12022:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11948:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "11960:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11971:4:1", | |
"type": "" | |
} | |
], | |
"src": "11878:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12284:367:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12294:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12306:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12317:3:1", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12302:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12302:19:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12294:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "12375:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12388:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12399:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12384:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12384:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12331:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12331:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12331:71:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "12452:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12465:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12476:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12461:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12461:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint8_to_t_uint8_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12412:39:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12412:68:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12412:68:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "12534:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12547:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12558:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12543:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12543:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12490:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12490:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12490:72:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "12616:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12629:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12640:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12625:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12625:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12572:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12572:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12572:72:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12232:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "12244:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "12252:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "12260:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "12268:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12279:4:1", | |
"type": "" | |
} | |
], | |
"src": "12106:545:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12773:193:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12783:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12795:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12806:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12791:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12791:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12783:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12830:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12841:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12826:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12826:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12849:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12855:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "12845:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12845:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "12819:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12819:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12819:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12875:84:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "12945:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12954:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12883:61:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12883:76:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12875:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12745:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "12757:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12768:4:1", | |
"type": "" | |
} | |
], | |
"src": "12657:309:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13143:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13153:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13165:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13176:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13161:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13161:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13153:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13200:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13211:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13196:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13196:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13219:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13225:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "13215:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13215:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13189:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13189:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13189:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13245:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13379:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13253:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13253:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13245:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "13123:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "13138:4:1", | |
"type": "" | |
} | |
], | |
"src": "12972:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13568:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13578:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13590:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13601:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13586:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13586:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13578:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13625:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13636:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13621:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13621:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13644:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13650:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "13640:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13640:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13614:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13614:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13614:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13670:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13804:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13678:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13678:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13670:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "13548:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "13563:4:1", | |
"type": "" | |
} | |
], | |
"src": "13397:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13993:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14003:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14015:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14026:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14011:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14011:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14003:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14050:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14061:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14046:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14046:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14069:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14075:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14065:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14065:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14039:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14039:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14039:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14095:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14229:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14103:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14103:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14095:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "13973:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "13988:4:1", | |
"type": "" | |
} | |
], | |
"src": "13822:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14418:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14428:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14440:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14451:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14436:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14436:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14428:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14475:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14486:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14471:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14471:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14494:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14500:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14490:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14490:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14464:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14464:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14464:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14520:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14654:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14528:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14528:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14520:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "14398:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "14413:4:1", | |
"type": "" | |
} | |
], | |
"src": "14247:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14843:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14853:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14865:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14876:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14861:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14861:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14853:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14900:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14911:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14896:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14896:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14919:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14925:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14915:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14915:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14889:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14889:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14889:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14945:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15079:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14953:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14953:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14945:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "14823:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "14838:4:1", | |
"type": "" | |
} | |
], | |
"src": "14672:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15268:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15278:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15290:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15301:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15286:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15286:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15278:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15325:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15336:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15321:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15321:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15344:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15350:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "15340:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15340:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15314:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15314:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15314:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15370:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15504:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "15378:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15378:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15370:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "15248:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "15263:4:1", | |
"type": "" | |
} | |
], | |
"src": "15097:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15693:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15703:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15715:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15726:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15711:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15711:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15703:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15750:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15761:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15746:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15746:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15769:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15775:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "15765:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15765:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15739:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15739:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15739:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15795:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15929:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "15803:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15803:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15795:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "15673:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "15688:4:1", | |
"type": "" | |
} | |
], | |
"src": "15522:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16118:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16128:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16140:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16151:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16136:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16136:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16128:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16175:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16186:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16171:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16171:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16194:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16200:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "16190:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16190:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16164:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16164:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16164:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16220:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16354:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16228:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16228:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16220:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "16098:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "16113:4:1", | |
"type": "" | |
} | |
], | |
"src": "15947:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16543:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16553:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16565:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16576:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16561:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16561:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16553:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16600:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16611:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16596:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16596:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16619:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16625:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "16615:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16615:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16589:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16589:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16589:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16645:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16779:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16653:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16653:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16645:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "16523:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "16538:4:1", | |
"type": "" | |
} | |
], | |
"src": "16372:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16968:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16978:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16990:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17001:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16986:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16986:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16978:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17025:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17036:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17021:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17021:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17044:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17050:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "17040:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17040:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17014:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17014:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17014:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17070:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17204:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "17078:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17078:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17070:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "16948:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "16963:4:1", | |
"type": "" | |
} | |
], | |
"src": "16797:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17393:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17403:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17415:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17426:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17411:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17411:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17403:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17450:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17461:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17446:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17446:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17469:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17475:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "17465:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17465:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17439:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17439:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17439:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17495:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17629:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "17503:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17503:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17495:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "17373:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "17388:4:1", | |
"type": "" | |
} | |
], | |
"src": "17222:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17818:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17828:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17840:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17851:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17836:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17836:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17828:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17875:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17886:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17871:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17871:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17894:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17900:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "17890:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17890:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17864:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17864:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17864:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17920:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "18054:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "17928:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17928:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17920:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "17798:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "17813:4:1", | |
"type": "" | |
} | |
], | |
"src": "17647:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18170:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18180:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "18192:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18203:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18188:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18188:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "18180:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "18260:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "18273:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18284:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18269:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18269:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "18216:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18216:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18216:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "18142:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "18154:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "18165:4:1", | |
"type": "" | |
} | |
], | |
"src": "18072:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18341:88:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18351:30:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nodeType": "YulIdentifier", | |
"src": "18361:18:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18361:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "18351:6:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "18410:6:1" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "18418:4:1" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nodeType": "YulIdentifier", | |
"src": "18390:19:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18390:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18390:33:1" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "18325:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "18334:6:1", | |
"type": "" | |
} | |
], | |
"src": "18300:129:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18475:35:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18485:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18501:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "18495:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18495:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "18485:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "18468:6:1", | |
"type": "" | |
} | |
], | |
"src": "18435:75:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18582:241:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18687:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "18689:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18689:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18689:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "18659:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18667:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "18656:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18656:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "18653:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18719:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "18749:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "18727:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18727:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "18719:4:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18793:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "18805:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18811:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18801:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18801:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "18793:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "18566:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "18577:4:1", | |
"type": "" | |
} | |
], | |
"src": "18516:307:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18896:241:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19001:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "19003:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19003:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19003:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "18973:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18981:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "18970:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18970:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "18967:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19033:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "19063:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "19041:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19041:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "19033:4:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19107:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "19119:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19125:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19115:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19115:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "19107:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "18880:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "18891:4:1", | |
"type": "" | |
} | |
], | |
"src": "18829:308:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19201:40:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19212:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19228:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "19222:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19222:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "19212:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19184:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "19194:6:1", | |
"type": "" | |
} | |
], | |
"src": "19143:98:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19306:40:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19317:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19333:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "19327:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19327:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "19317:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19289:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "19299:6:1", | |
"type": "" | |
} | |
], | |
"src": "19247:99:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19447:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19464:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "19469:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19457:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19457:19:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19457:19:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19485:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19504:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19509:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19500:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19500:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "19485:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "19419:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "19424:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "19435:11:1", | |
"type": "" | |
} | |
], | |
"src": "19352:168:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19622:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19639:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "19644:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19632:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19632:19:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19632:19:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19660:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19679:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19684:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19675:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19675:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "19660:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "19594:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "19599:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "19610:11:1", | |
"type": "" | |
} | |
], | |
"src": "19526:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19815:34:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19825:18:1", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19840:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "19825:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "19787:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "19792:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "19803:11:1", | |
"type": "" | |
} | |
], | |
"src": "19701:148:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19899:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19909:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "19932:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "19914:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19914:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "19909:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19943:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "19966:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "19948:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19948:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "19943:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20106:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "20108:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20108:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20108:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "20027:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20034:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "20102:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "20030:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20030:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "20024:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20024:81:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "20021:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20138:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "20149:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "20152:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20145:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20145:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "20138:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "19886:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "19889:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "19895:3:1", | |
"type": "" | |
} | |
], | |
"src": "19855:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20214:300:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20224:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "20247:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "20229:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20229:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "20224:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20258:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "20281:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "20263:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20263:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "20258:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20456:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "20458:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20458:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20458:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "20368:1:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "20361:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20361:9:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "20354:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20354:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "20376:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20383:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "20451:1:1" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "20379:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20379:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "20373:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20373:81:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "20350:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20350:105:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "20347:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20488:20:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "20503:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "20506:1:1" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "20499:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20499:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "20488:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_mul_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "20197:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "20200:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "20206:7:1", | |
"type": "" | |
} | |
], | |
"src": "20166:348:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20565:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20575:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20604:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "20586:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20586:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "20575:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20547:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "20557:7:1", | |
"type": "" | |
} | |
], | |
"src": "20520:96:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20675:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20685:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20714:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "20696:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20696:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "20685:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20657:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "20667:7:1", | |
"type": "" | |
} | |
], | |
"src": "20622:104:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20774:48:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20784:32:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20809:5:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "20802:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20802:13:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "20795:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20795:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "20784:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20756:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "20766:7:1", | |
"type": "" | |
} | |
], | |
"src": "20732:90:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20873:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20883:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20894:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "20883:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20855:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "20865:7:1", | |
"type": "" | |
} | |
], | |
"src": "20828:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20956:73:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20966:57:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20981:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20988:34:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "20977:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20977:46:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "20966:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint128", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20938:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "20948:7:1", | |
"type": "" | |
} | |
], | |
"src": "20911:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21080:81:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21090:65:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21105:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21112:42:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "21101:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21101:54:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "21090:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "21062:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "21072:7:1", | |
"type": "" | |
} | |
], | |
"src": "21035:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21212:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21222:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21233:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "21222:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "21194:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "21204:7:1", | |
"type": "" | |
} | |
], | |
"src": "21167:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21293:43:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21303:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21318:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21325:4:1", | |
"type": "", | |
"value": "0xff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "21314:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21314:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "21303:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "21275:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "21285:7:1", | |
"type": "" | |
} | |
], | |
"src": "21250:86:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21393:103:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "21416:3:1" | |
}, | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "21421:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "21426:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nodeType": "YulIdentifier", | |
"src": "21403:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21403:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21403:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "21474:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "21479:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21470:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21470:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21488:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21463:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21463:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21463:27:1" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "21375:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "21380:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "21385:6:1", | |
"type": "" | |
} | |
], | |
"src": "21342:154:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21551:258:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "21561:10:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21570:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "21565:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21630:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "21655:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "21660:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21651:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21651:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "21674:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "21679:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21670:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21670:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "21664:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21664:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21644:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21644:39:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21644:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "21591:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "21594:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "21588:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21588:13:1" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "21602:19:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21604:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "21613:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21616:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21609:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21609:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "21604:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "21584:3:1", | |
"statements": [] | |
}, | |
"src": "21580:113:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21727:76:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "21777:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "21782:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21773:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21773:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21791:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21766:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21766:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21766:27:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "21708:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "21711:6:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "21705:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21705:13:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "21702:2:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "21533:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "21538:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "21543:6:1", | |
"type": "" | |
} | |
], | |
"src": "21502:307:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21866:269:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21876:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "21890:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21896:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "21886:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21886:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "21876:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "21907:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "21937:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21943:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "21933:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21933:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulTypedName", | |
"src": "21911:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21984:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21998:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22012:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22020:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "22008:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22008:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "21998:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "21964:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "21957:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21957:26:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "21954:2:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22087:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nodeType": "YulIdentifier", | |
"src": "22101:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22101:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22101:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "22051:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22074:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22082:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "22071:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22071:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "22048:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22048:38:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "22045:2:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "21850:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "21859:6:1", | |
"type": "" | |
} | |
], | |
"src": "21815:320:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22184:238:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "22194:58:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22216:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "22246:4:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "22224:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22224:27:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22212:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22212:40:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulTypedName", | |
"src": "22198:10:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22363:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "22365:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22365:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22365:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "22306:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22318:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "22303:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22303:34:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "22342:10:1" | |
}, | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22354:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "22339:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22339:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "22300:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22300:62:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "22297:2:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22401:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "22405:10:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22394:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22394:22:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22394:22:1" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "22170:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "22178:4:1", | |
"type": "" | |
} | |
], | |
"src": "22141:281:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22472:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "22482:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "22511:5:1" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "22493:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22493:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "22482:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "22454:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "22464:7:1", | |
"type": "" | |
} | |
], | |
"src": "22428:95:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22576:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "22586:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "22597:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "22586:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "22558:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "22568:7:1", | |
"type": "" | |
} | |
], | |
"src": "22529:79:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22659:48:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "22669:32:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "22695:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_248", | |
"nodeType": "YulIdentifier", | |
"src": "22680:14:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22680:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "22669:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "22641:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "22651:7:1", | |
"type": "" | |
} | |
], | |
"src": "22614:93:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22741:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22758:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22761:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22751:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22751:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22751:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22855:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22858:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22848:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22848:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22848:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22879:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22882:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "22872:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22872:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22872:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "22713:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22927:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22944:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22947:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22937:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22937:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22937:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23041:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23044:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23034:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23034:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23034:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23065:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23068:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "23058:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23058:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23058:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nodeType": "YulFunctionDefinition", | |
"src": "22899:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23113:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23130:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23133:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23123:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23123:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23123:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23227:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23230:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23220:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23220:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23220:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23251:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23254:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "23244:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23244:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23244:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "23085:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23319:54:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "23329:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "23347:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23354:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23343:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23343:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23363:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "23359:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23359:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "23339:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23339:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "23329:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "23302:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "23312:6:1", | |
"type": "" | |
} | |
], | |
"src": "23271:102:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23422:53:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "23432:36:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23457:3:1", | |
"type": "", | |
"value": "248" | |
}, | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "23462:5:1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "23453:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23453:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nodeType": "YulIdentifier", | |
"src": "23432:8:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_left_248", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "23403:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nodeType": "YulTypedName", | |
"src": "23413:8:1", | |
"type": "" | |
} | |
], | |
"src": "23379:96:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23587:68:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23609:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23617:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23605:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23605:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23621:26:1", | |
"type": "", | |
"value": "ECDSA: invalid signature" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23598:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23598:50:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23598:50:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "23579:6:1", | |
"type": "" | |
} | |
], | |
"src": "23481:174:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23767:75:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23789:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23797:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23785:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23785:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23801:33:1", | |
"type": "", | |
"value": "ECDSA: invalid signature length" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23778:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23778:57:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23778:57:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "23759:6:1", | |
"type": "" | |
} | |
], | |
"src": "23661:181:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23954:108:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23976:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23984:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23972:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23972:14:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23988:66:1", | |
"type": "", | |
"value": "0x19457468657265756d205369676e6564204d6573736167653a0a333200000000" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23965:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23965:90:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23965:90:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "23946:6:1", | |
"type": "" | |
} | |
], | |
"src": "23848:214:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24174:121:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24196:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24204:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24192:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24192:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24208:34:1", | |
"type": "", | |
"value": "prize has to be not been distrib" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24185:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24185:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24185:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24264:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24272:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24260:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24260:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24277:10:1", | |
"type": "", | |
"value": "uted yet" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24253:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24253:35:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24253:35:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "24166:6:1", | |
"type": "" | |
} | |
], | |
"src": "24068:227:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24407:129:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24429:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24437:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24425:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24425:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24441:34:1", | |
"type": "", | |
"value": "userTwoAddress has to differ fro" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24418:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24418:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24418:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24497:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24505:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24493:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24493:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24510:18:1", | |
"type": "", | |
"value": "m userOneAddress" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24486:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24486:43:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24486:43:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "24399:6:1", | |
"type": "" | |
} | |
], | |
"src": "24301:235:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24648:115:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24670:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24678:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24666:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24666:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24682:34:1", | |
"type": "", | |
"value": "ECDSA: invalid signature 's' val" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24659:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24659:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24659:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24738:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24746:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24734:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24734:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24751:4:1", | |
"type": "", | |
"value": "ue" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24727:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24727:29:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24727:29:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "24640:6:1", | |
"type": "" | |
} | |
], | |
"src": "24542:221:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24875:115:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24897:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24905:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24893:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24893:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24909:34:1", | |
"type": "", | |
"value": "ECDSA: invalid signature 'v' val" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24886:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24886:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24886:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24965:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24973:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24961:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24961:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24978:4:1", | |
"type": "", | |
"value": "ue" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24954:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24954:29:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24954:29:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "24867:6:1", | |
"type": "" | |
} | |
], | |
"src": "24769:221:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "25102:116:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25124:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25132:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25120:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25120:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25136:34:1", | |
"type": "", | |
"value": "userOneAddress can't be already " | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25113:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25113:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25113:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25192:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25200:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25188:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25188:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25205:5:1", | |
"type": "", | |
"value": "set" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25181:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25181:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25181:30:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "25094:6:1", | |
"type": "" | |
} | |
], | |
"src": "24996:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "25330:116:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25352:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25360:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25348:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25348:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25364:34:1", | |
"type": "", | |
"value": "userTwoAddress can't be already " | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25341:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25341:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25341:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25420:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25428:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25416:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25416:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25433:5:1", | |
"type": "", | |
"value": "set" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25409:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25409:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25409:30:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "25322:6:1", | |
"type": "" | |
} | |
], | |
"src": "25224:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "25558:137:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25580:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25588:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25576:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25576:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25592:34:1", | |
"type": "", | |
"value": "user two address has to be set b" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25569:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25569:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25569:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25648:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25656:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25644:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25644:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25661:26:1", | |
"type": "", | |
"value": "efore distributing prize" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25637:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25637:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25637:51:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "25550:6:1", | |
"type": "" | |
} | |
], | |
"src": "25452:243:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "25807:199:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25829:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25837:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25825:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25825:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25841:34:1", | |
"type": "", | |
"value": "user has to pass asset value equ" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25818:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25818:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25818:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25897:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25905:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25893:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25893:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25910:34:1", | |
"type": "", | |
"value": "al to second parameter of the co" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25886:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25886:59:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25886:59:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "25966:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "25974:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "25962:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25962:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "25979:19:1", | |
"type": "", | |
"value": "nstructor (stake)" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "25955:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "25955:44:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "25955:44:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "25799:6:1", | |
"type": "" | |
} | |
], | |
"src": "25701:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "26118:117:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "26140:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26148:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "26136:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26136:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "26152:34:1", | |
"type": "", | |
"value": "userOneAddress has to be already" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "26129:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26129:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "26129:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "26208:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26216:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "26204:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26204:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "26221:6:1", | |
"type": "", | |
"value": " set" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "26197:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26197:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "26197:31:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "26110:6:1", | |
"type": "" | |
} | |
], | |
"src": "26012:223:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "26347:133:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "26369:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26377:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "26365:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26365:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "26381:34:1", | |
"type": "", | |
"value": "24 hours need to pass before abi" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "26358:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26358:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "26358:58:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "26437:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26445:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "26433:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26433:15:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "26450:22:1", | |
"type": "", | |
"value": "lity to call timeout" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "26426:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26426:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "26426:47:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "26339:6:1", | |
"type": "" | |
} | |
], | |
"src": "26241:239:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "26526:76:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "26580:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26589:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26592:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "26582:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26582:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "26582:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "26549:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "26571:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "26556:14:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26556:21:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "26546:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26546:32:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "26539:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26539:40:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "26536:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "26519:5:1", | |
"type": "" | |
} | |
], | |
"src": "26486:116:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "26651:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "26708:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26717:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26720:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "26710:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26710:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "26710:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "26674:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "26699:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "26681:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26681:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "26671:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26671:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "26664:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26664:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "26661:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "26644:5:1", | |
"type": "" | |
} | |
], | |
"src": "26608:122:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "26779:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "26836:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26845:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "26848:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "26838:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26838:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "26838:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "26802:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "26827:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint128", | |
"nodeType": "YulIdentifier", | |
"src": "26809:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26809:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "26799:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26799:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "26792:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "26792:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "26789:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint128", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "26772:5:1", | |
"type": "" | |
} | |
], | |
"src": "26736:122:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint128(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint128(value)\n }\n\n function abi_decode_tuple_t_bool(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(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_boolt_string_memory_ptr(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_bool(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32t_bytes_memory_ptr(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_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes_memory_ptrt_uint128(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint128(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_bool_to_t_bool_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bool(cleanup_t_bool(value)))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_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_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(pos)\n end := add(pos, 28)\n }\n\n function abi_encode_t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\n store_literal_in_memory_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 56)\n store_literal_in_memory_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 81)\n store_literal_in_memory_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2(pos)\n end := add(pos, 96)\n }\n\n function abi_encode_t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 52)\n store_literal_in_memory_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005(pos)\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_packed_t_bool_t_string_memory_ptr__to_t_bool_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n abi_encode_t_bool_to_t_bool_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 1)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function 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_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\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_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_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_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2__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_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57__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_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19__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_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b__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_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55__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_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2__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_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de__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_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005__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_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005_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 allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\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_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\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 array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\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_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_address_payable(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_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint128(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffff)\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_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\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 finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function leftAlign_t_bool(value) -> aligned {\n aligned := leftAlign_t_uint8(value)\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function leftAlign_t_uint8(value) -> aligned {\n aligned := shift_left_248(value)\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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\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_left_248(value) -> newValue {\n newValue :=\n\n shl(248, value)\n\n }\n\n function store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature\")\n\n }\n\n function store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature length\")\n\n }\n\n function store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(memPtr) {\n\n mstore(add(memPtr, 0), 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n\n }\n\n function store_literal_in_memory_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2(memPtr) {\n\n mstore(add(memPtr, 0), \"prize has to be not been distrib\")\n\n mstore(add(memPtr, 32), \"uted yet\")\n\n }\n\n function store_literal_in_memory_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57(memPtr) {\n\n mstore(add(memPtr, 0), \"userTwoAddress has to differ fro\")\n\n mstore(add(memPtr, 32), \"m userOneAddress\")\n\n }\n\n function store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 's' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4(memPtr) {\n\n mstore(add(memPtr, 0), \"ECDSA: invalid signature 'v' val\")\n\n mstore(add(memPtr, 32), \"ue\")\n\n }\n\n function store_literal_in_memory_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19(memPtr) {\n\n mstore(add(memPtr, 0), \"userOneAddress can't be already \")\n\n mstore(add(memPtr, 32), \"set\")\n\n }\n\n function store_literal_in_memory_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b(memPtr) {\n\n mstore(add(memPtr, 0), \"userTwoAddress can't be already \")\n\n mstore(add(memPtr, 32), \"set\")\n\n }\n\n function store_literal_in_memory_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55(memPtr) {\n\n mstore(add(memPtr, 0), \"user two address has to be set b\")\n\n mstore(add(memPtr, 32), \"efore distributing prize\")\n\n }\n\n function store_literal_in_memory_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2(memPtr) {\n\n mstore(add(memPtr, 0), \"user has to pass asset value equ\")\n\n mstore(add(memPtr, 32), \"al to second parameter of the co\")\n\n mstore(add(memPtr, 64), \"nstructor (stake)\")\n\n }\n\n function store_literal_in_memory_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de(memPtr) {\n\n mstore(add(memPtr, 0), \"userOneAddress has to be already\")\n\n mstore(add(memPtr, 32), \" set\")\n\n }\n\n function store_literal_in_memory_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005(memPtr) {\n\n mstore(add(memPtr, 0), \"24 hours need to pass before abi\")\n\n mstore(add(memPtr, 32), \"lity to call timeout\")\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint128(value) {\n if iszero(eq(value, cleanup_t_uint128(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"sourceMap": "125:6851:0:-:0;;;;;;;;;;;;;;;;;;;", | |
"deployedSourceMap": "125:6851:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6382:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;357:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;309:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;192:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5771:605;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;149:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;235;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6544:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;278:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5105:660;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4013:460;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4479:620;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6382:156;6457:7;6483:48;6491:28;6514:4;6491:22;:28::i;:::-;6521:9;6483:7;:48::i;:::-;6476:55;;6382:156;;;;:::o;357:20::-;;;;:::o;309:41::-;;;;:::o;192:36::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5771:605::-;5806:4;5856:1;5830:28;;:14;;;;;;;;;;:28;;;;5822:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;5956:1;5930:28;;:14;;;;;;;;;;;:28;;;;5909:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;6087:5;;6083:1;:9;;;;:::i;:::-;6058:21;:34;6050:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;6216:8;6187:26;;:37;;;;:::i;:::-;6168:15;:56;;6147:155;;;;;;;;;;;;:::i;:::-;;;;;;;;;6313:14;;;;;;;;;;;:23;;:34;6341:5;;6337:1;:9;;;;:::i;:::-;6313:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6365:4;6358:11;;5771:605;:::o;149:37::-;;;;;;;;;;;;:::o;235:::-;;;;;;;;;;;;;:::o;6544:158::-;6626:7;6679:6;6687;6662:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6652:43;;;;;;6645:50;;6544:158;;;;:::o;278:25::-;;;;;;;;;;;;;:::o;5105:660::-;5185:4;5235:1;5209:28;;:14;;;;;;;;;;:28;;;;5201:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;5335:1;5309:28;;:14;;;;;;;;;;;:28;;;;5288:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;5652:5;;5648:1;:9;;;;:::i;:::-;5623:21;:34;5615:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;5713:23;5729:6;5713:15;:23::i;:::-;;5754:4;5747:11;;5105:660;;;;:::o;4013:460::-;4144:6;4131:19;;:9;:19;4110:147;;;;;;;;;;;;:::i;:::-;;;;;;;;;4301:1;4275:28;;:14;;;;;;;;;;:28;;;4267:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;4361:6;4353:14;;:5;:14;;;;4402:10;4377:14;;:36;;;;;;;;;;;;;;;;;;4449:17;4423:23;:43;;;;;;;;;;;;:::i;:::-;;4013:460;;:::o;4479:620::-;4575:5;;4562:9;:18;4541:146;;;;;;;;;;;;:::i;:::-;;;;;;;;;4731:1;4705:28;;:14;;;;;;;;;;:28;;;;4697:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4818:1;4792:28;;:14;;;;;;;;;;;:28;;;4784:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;4896:10;4878:28;;:14;;;;;;;;;;:28;;;;4870:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;4995:10;4970:14;;:36;;;;;;;;;;;;;;;;;;5032:6;5016:13;;:22;;;;;;;;;;;;;;;;;;5077:15;5048:26;:44;;;;4479:620;:::o;668:265::-;737:7;920:4;867:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;857:69;;;;;;850:76;;668:265;;;:::o;1719:740::-;1797:7;1878:2;1858:9;:16;:22;1854:94;;1896:41;;;;;;;;;;:::i;:::-;;;;;;;;1854:94;2014:9;2033;2052:7;2298:4;2287:9;2283:20;2277:27;2272:32;;2343:4;2332:9;2328:20;2322:27;2317:32;;2396:4;2385:9;2381:20;2375:27;2372:1;2367:36;2362:41;;2430:22;2438:4;2444:1;2447;2450;2430:7;:22::i;:::-;2423:29;;;;;1719:740;;;;:::o;6708:266::-;6770:4;6807:13;6790:30;;:13;;;;;;;;;;;:30;;;6786:160;;;6836:14;;;;;;;;;;;:23;;:34;6864:5;;6860:1;:9;;;;:::i;:::-;6836:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6786:160;;;6901:14;;;;;;;;;;:23;;:34;6929:5;;6925:1;:9;;;;:::i;:::-;6901:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6786:160;6963:4;6956:11;;6708:266;;;:::o;2593:1414::-;2678:7;3593:66;3587:1;3579:10;;:80;;3571:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;3721:2;3716:1;:7;;;:18;;;;3732:2;3727:1;:7;;;3716:18;3708:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3868:14;3885:24;3895:4;3901:1;3904;3907;3885:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3868:41;;3945:1;3927:20;;:6;:20;;;;3919:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3994:6;3987:13;;;2593:1414;;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:343:1:-;;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:2;;;290:1;287;280:12;249:2;303:41;337:6;332:3;327;303:41;:::i;:::-;90:260;;;;;;:::o;356:345::-;;459:66;475:49;517:6;475:49;:::i;:::-;459:66;:::i;:::-;450:75;;548:6;541:5;534:21;586:4;579:5;575:16;624:3;615:6;610:3;606:16;603:25;600:2;;;641:1;638;631:12;600:2;654:41;688:6;683:3;678;654:41;:::i;:::-;440:261;;;;;;:::o;707:133::-;;788:6;775:20;766:29;;804:30;828:5;804:30;:::i;:::-;756:84;;;;:::o;846:139::-;;930:6;917:20;908:29;;946:33;973:5;946:33;:::i;:::-;898:87;;;;:::o;1004:271::-;;1108:3;1101:4;1093:6;1089:17;1085:27;1075:2;;1126:1;1123;1116:12;1075:2;1166:6;1153:20;1191:78;1265:3;1257:6;1250:4;1242:6;1238:17;1191:78;:::i;:::-;1182:87;;1065:210;;;;;:::o;1295:273::-;;1400:3;1393:4;1385:6;1381:17;1377:27;1367:2;;1418:1;1415;1408:12;1367:2;1458:6;1445:20;1483:79;1558:3;1550:6;1543:4;1535:6;1531:17;1483:79;:::i;:::-;1474:88;;1357:211;;;;;:::o;1574:139::-;;1658:6;1645:20;1636:29;;1674:33;1701:5;1674:33;:::i;:::-;1626:87;;;;:::o;1719:256::-;;1824:2;1812:9;1803:7;1799:23;1795:32;1792:2;;;1840:1;1837;1830:12;1792:2;1883:1;1908:50;1950:7;1941:6;1930:9;1926:22;1908:50;:::i;:::-;1898:60;;1854:114;1782:193;;;;:::o;1981:514::-;;;2113:2;2101:9;2092:7;2088:23;2084:32;2081:2;;;2129:1;2126;2119:12;2081:2;2172:1;2197:50;2239:7;2230:6;2219:9;2215:22;2197:50;:::i;:::-;2187:60;;2143:114;2324:2;2313:9;2309:18;2296:32;2355:18;2347:6;2344:30;2341:2;;;2387:1;2384;2377:12;2341:2;2415:63;2470:7;2461:6;2450:9;2446:22;2415:63;:::i;:::-;2405:73;;2267:221;2071:424;;;;;:::o;2501:518::-;;;2635:2;2623:9;2614:7;2610:23;2606:32;2603:2;;;2651:1;2648;2641:12;2603:2;2694:1;2719:53;2764:7;2755:6;2744:9;2740:22;2719:53;:::i;:::-;2709:63;;2665:117;2849:2;2838:9;2834:18;2821:32;2880:18;2872:6;2869:30;2866:2;;;2912:1;2909;2902:12;2866:2;2940:62;2994:7;2985:6;2974:9;2970:22;2940:62;:::i;:::-;2930:72;;2792:220;2593:426;;;;;:::o;3025:518::-;;;3159:2;3147:9;3138:7;3134:23;3130:32;3127:2;;;3175:1;3172;3165:12;3127:2;3246:1;3235:9;3231:17;3218:31;3276:18;3268:6;3265:30;3262:2;;;3308:1;3305;3298:12;3262:2;3336:62;3390:7;3381:6;3370:9;3366:22;3336:62;:::i;:::-;3326:72;;3189:219;3447:2;3473:53;3518:7;3509:6;3498:9;3494:22;3473:53;:::i;:::-;3463:63;;3418:118;3117:426;;;;;:::o;3549:142::-;3652:32;3678:5;3652:32;:::i;:::-;3647:3;3640:45;3630:61;;:::o;3697:118::-;3784:24;3802:5;3784:24;:::i;:::-;3779:3;3772:37;3762:53;;:::o;3821:109::-;3902:21;3917:5;3902:21;:::i;:::-;3897:3;3890:34;3880:50;;:::o;3936:145::-;4035:39;4052:21;4067:5;4052:21;:::i;:::-;4035:39;:::i;:::-;4030:3;4023:52;4013:68;;:::o;4087:118::-;4174:24;4192:5;4174:24;:::i;:::-;4169:3;4162:37;4152:53;;:::o;4211:157::-;4316:45;4336:24;4354:5;4336:24;:::i;:::-;4316:45;:::i;:::-;4311:3;4304:58;4294:74;;:::o;4374:360::-;;4488:38;4520:5;4488:38;:::i;:::-;4542:70;4605:6;4600:3;4542:70;:::i;:::-;4535:77;;4621:52;4666:6;4661:3;4654:4;4647:5;4643:16;4621:52;:::i;:::-;4698:29;4720:6;4698:29;:::i;:::-;4693:3;4689:39;4682:46;;4464:270;;;;;:::o;4740:377::-;;4874:39;4907:5;4874:39;:::i;:::-;4929:89;5011:6;5006:3;4929:89;:::i;:::-;4922:96;;5027:52;5072:6;5067:3;5060:4;5053:5;5049:16;5027:52;:::i;:::-;5104:6;5099:3;5095:16;5088:23;;4850:267;;;;;:::o;5123:366::-;;5286:67;5350:2;5345:3;5286:67;:::i;:::-;5279:74;;5362:93;5451:3;5362:93;:::i;:::-;5480:2;5475:3;5471:12;5464:19;;5269:220;;;:::o;5495:366::-;;5658:67;5722:2;5717:3;5658:67;:::i;:::-;5651:74;;5734:93;5823:3;5734:93;:::i;:::-;5852:2;5847:3;5843:12;5836:19;;5641:220;;;:::o;5867:402::-;;6048:85;6130:2;6125:3;6048:85;:::i;:::-;6041:92;;6142:93;6231:3;6142:93;:::i;:::-;6260:2;6255:3;6251:12;6244:19;;6031:238;;;:::o;6275:366::-;;6438:67;6502:2;6497:3;6438:67;:::i;:::-;6431:74;;6514:93;6603:3;6514:93;:::i;:::-;6632:2;6627:3;6623:12;6616:19;;6421:220;;;:::o;6647:366::-;;6810:67;6874:2;6869:3;6810:67;:::i;:::-;6803:74;;6886:93;6975:3;6886:93;:::i;:::-;7004:2;6999:3;6995:12;6988:19;;6793:220;;;:::o;7019:366::-;;7182:67;7246:2;7241:3;7182:67;:::i;:::-;7175:74;;7258:93;7347:3;7258:93;:::i;:::-;7376:2;7371:3;7367:12;7360:19;;7165:220;;;:::o;7391:366::-;;7554:67;7618:2;7613:3;7554:67;:::i;:::-;7547:74;;7630:93;7719:3;7630:93;:::i;:::-;7748:2;7743:3;7739:12;7732:19;;7537:220;;;:::o;7763:366::-;;7926:67;7990:2;7985:3;7926:67;:::i;:::-;7919:74;;8002:93;8091:3;8002:93;:::i;:::-;8120:2;8115:3;8111:12;8104:19;;7909:220;;;:::o;8135:366::-;;8298:67;8362:2;8357:3;8298:67;:::i;:::-;8291:74;;8374:93;8463:3;8374:93;:::i;:::-;8492:2;8487:3;8483:12;8476:19;;8281:220;;;:::o;8507:366::-;;8670:67;8734:2;8729:3;8670:67;:::i;:::-;8663:74;;8746:93;8835:3;8746:93;:::i;:::-;8864:2;8859:3;8855:12;8848:19;;8653:220;;;:::o;8879:366::-;;9042:67;9106:2;9101:3;9042:67;:::i;:::-;9035:74;;9118:93;9207:3;9118:93;:::i;:::-;9236:2;9231:3;9227:12;9220:19;;9025:220;;;:::o;9251:366::-;;9414:67;9478:2;9473:3;9414:67;:::i;:::-;9407:74;;9490:93;9579:3;9490:93;:::i;:::-;9608:2;9603:3;9599:12;9592:19;;9397:220;;;:::o;9623:366::-;;9786:67;9850:2;9845:3;9786:67;:::i;:::-;9779:74;;9862:93;9951:3;9862:93;:::i;:::-;9980:2;9975:3;9971:12;9964:19;;9769:220;;;:::o;9995:118::-;10082:24;10100:5;10082:24;:::i;:::-;10077:3;10070:37;10060:53;;:::o;10119:112::-;10202:22;10218:5;10202:22;:::i;:::-;10197:3;10190:35;10180:51;;:::o;10237:403::-;;10406:69;10471:3;10462:6;10406:69;:::i;:::-;10500:1;10495:3;10491:11;10484:18;;10519:95;10610:3;10601:6;10519:95;:::i;:::-;10512:102;;10631:3;10624:10;;10395:245;;;;;:::o;10646:522::-;;10881:148;11025:3;10881:148;:::i;:::-;10874:155;;11039:75;11110:3;11101:6;11039:75;:::i;:::-;11139:2;11134:3;11130:12;11123:19;;11159:3;11152:10;;10863:305;;;;:::o;11174:222::-;;11305:2;11294:9;11290:18;11282:26;;11318:71;11386:1;11375:9;11371:17;11362:6;11318:71;:::i;:::-;11272:124;;;;:::o;11402:254::-;;11549:2;11538:9;11534:18;11526:26;;11562:87;11646:1;11635:9;11631:17;11622:6;11562:87;:::i;:::-;11516:140;;;;:::o;11662:210::-;;11787:2;11776:9;11772:18;11764:26;;11800:65;11862:1;11851:9;11847:17;11838:6;11800:65;:::i;:::-;11754:118;;;;:::o;11878:222::-;;12009:2;11998:9;11994:18;11986:26;;12022:71;12090:1;12079:9;12075:17;12066:6;12022:71;:::i;:::-;11976:124;;;;:::o;12106:545::-;;12317:3;12306:9;12302:19;12294:27;;12331:71;12399:1;12388:9;12384:17;12375:6;12331:71;:::i;:::-;12412:68;12476:2;12465:9;12461:18;12452:6;12412:68;:::i;:::-;12490:72;12558:2;12547:9;12543:18;12534:6;12490:72;:::i;:::-;12572;12640:2;12629:9;12625:18;12616:6;12572:72;:::i;:::-;12284:367;;;;;;;:::o;12657:309::-;;12806:2;12795:9;12791:18;12783:26;;12855:9;12849:4;12845:20;12841:1;12830:9;12826:17;12819:47;12883:76;12954:4;12945:6;12883:76;:::i;:::-;12875:84;;12773:193;;;;:::o;12972:419::-;;13176:2;13165:9;13161:18;13153:26;;13225:9;13219:4;13215:20;13211:1;13200:9;13196:17;13189:47;13253:131;13379:4;13253:131;:::i;:::-;13245:139;;13143:248;;;:::o;13397:419::-;;13601:2;13590:9;13586:18;13578:26;;13650:9;13644:4;13640:20;13636:1;13625:9;13621:17;13614:47;13678:131;13804:4;13678:131;:::i;:::-;13670:139;;13568:248;;;:::o;13822:419::-;;14026:2;14015:9;14011:18;14003:26;;14075:9;14069:4;14065:20;14061:1;14050:9;14046:17;14039:47;14103:131;14229:4;14103:131;:::i;:::-;14095:139;;13993:248;;;:::o;14247:419::-;;14451:2;14440:9;14436:18;14428:26;;14500:9;14494:4;14490:20;14486:1;14475:9;14471:17;14464:47;14528:131;14654:4;14528:131;:::i;:::-;14520:139;;14418:248;;;:::o;14672:419::-;;14876:2;14865:9;14861:18;14853:26;;14925:9;14919:4;14915:20;14911:1;14900:9;14896:17;14889:47;14953:131;15079:4;14953:131;:::i;:::-;14945:139;;14843:248;;;:::o;15097:419::-;;15301:2;15290:9;15286:18;15278:26;;15350:9;15344:4;15340:20;15336:1;15325:9;15321:17;15314:47;15378:131;15504:4;15378:131;:::i;:::-;15370:139;;15268:248;;;:::o;15522:419::-;;15726:2;15715:9;15711:18;15703:26;;15775:9;15769:4;15765:20;15761:1;15750:9;15746:17;15739:47;15803:131;15929:4;15803:131;:::i;:::-;15795:139;;15693:248;;;:::o;15947:419::-;;16151:2;16140:9;16136:18;16128:26;;16200:9;16194:4;16190:20;16186:1;16175:9;16171:17;16164:47;16228:131;16354:4;16228:131;:::i;:::-;16220:139;;16118:248;;;:::o;16372:419::-;;16576:2;16565:9;16561:18;16553:26;;16625:9;16619:4;16615:20;16611:1;16600:9;16596:17;16589:47;16653:131;16779:4;16653:131;:::i;:::-;16645:139;;16543:248;;;:::o;16797:419::-;;17001:2;16990:9;16986:18;16978:26;;17050:9;17044:4;17040:20;17036:1;17025:9;17021:17;17014:47;17078:131;17204:4;17078:131;:::i;:::-;17070:139;;16968:248;;;:::o;17222:419::-;;17426:2;17415:9;17411:18;17403:26;;17475:9;17469:4;17465:20;17461:1;17450:9;17446:17;17439:47;17503:131;17629:4;17503:131;:::i;:::-;17495:139;;17393:248;;;:::o;17647:419::-;;17851:2;17840:9;17836:18;17828:26;;17900:9;17894:4;17890:20;17886:1;17875:9;17871:17;17864:47;17928:131;18054:4;17928:131;:::i;:::-;17920:139;;17818:248;;;:::o;18072:222::-;;18203:2;18192:9;18188:18;18180:26;;18216:71;18284:1;18273:9;18269:17;18260:6;18216:71;:::i;:::-;18170:124;;;;:::o;18300:129::-;;18361:20;;:::i;:::-;18351:30;;18390:33;18418:4;18410:6;18390:33;:::i;:::-;18341:88;;;:::o;18435:75::-;;18501:2;18495:9;18485:19;;18475:35;:::o;18516:307::-;;18667:18;18659:6;18656:30;18653:2;;;18689:18;;:::i;:::-;18653:2;18727:29;18749:6;18727:29;:::i;:::-;18719:37;;18811:4;18805;18801:15;18793:23;;18582:241;;;:::o;18829:308::-;;18981:18;18973:6;18970:30;18967:2;;;19003:18;;:::i;:::-;18967:2;19041:29;19063:6;19041:29;:::i;:::-;19033:37;;19125:4;19119;19115:15;19107:23;;18896:241;;;:::o;19143:98::-;;19228:5;19222:12;19212:22;;19201:40;;;:::o;19247:99::-;;19333:5;19327:12;19317:22;;19306:40;;;:::o;19352:168::-;;19469:6;19464:3;19457:19;19509:4;19504:3;19500:14;19485:29;;19447:73;;;;:::o;19526:169::-;;19644:6;19639:3;19632:19;19684:4;19679:3;19675:14;19660:29;;19622:73;;;;:::o;19701:148::-;;19840:3;19825:18;;19815:34;;;;:::o;19855:305::-;;19914:20;19932:1;19914:20;:::i;:::-;19909:25;;19948:20;19966:1;19948:20;:::i;:::-;19943:25;;20102:1;20034:66;20030:74;20027:1;20024:81;20021:2;;;20108:18;;:::i;:::-;20021:2;20152:1;20149;20145:9;20138:16;;19899:261;;;;:::o;20166:348::-;;20229:20;20247:1;20229:20;:::i;:::-;20224:25;;20263:20;20281:1;20263:20;:::i;:::-;20258:25;;20451:1;20383:66;20379:74;20376:1;20373:81;20368:1;20361:9;20354:17;20350:105;20347:2;;;20458:18;;:::i;:::-;20347:2;20506:1;20503;20499:9;20488:20;;20214:300;;;;:::o;20520:96::-;;20586:24;20604:5;20586:24;:::i;:::-;20575:35;;20565:51;;;:::o;20622:104::-;;20696:24;20714:5;20696:24;:::i;:::-;20685:35;;20675:51;;;:::o;20732:90::-;;20809:5;20802:13;20795:21;20784:32;;20774:48;;;:::o;20828:77::-;;20894:5;20883:16;;20873:32;;;:::o;20911:118::-;;20988:34;20981:5;20977:46;20966:57;;20956:73;;;:::o;21035:126::-;;21112:42;21105:5;21101:54;21090:65;;21080:81;;;:::o;21167:77::-;;21233:5;21222:16;;21212:32;;;:::o;21250:86::-;;21325:4;21318:5;21314:16;21303:27;;21293:43;;;:::o;21342:154::-;21426:6;21421:3;21416;21403:30;21488:1;21479:6;21474:3;21470:16;21463:27;21393:103;;;:::o;21502:307::-;21570:1;21580:113;21594:6;21591:1;21588:13;21580:113;;;21679:1;21674:3;21670:11;21664:18;21660:1;21655:3;21651:11;21644:39;21616:2;21613:1;21609:10;21604:15;;21580:113;;;21711:6;21708:1;21705:13;21702:2;;;21791:1;21782:6;21777:3;21773:16;21766:27;21702:2;21551:258;;;;:::o;21815:320::-;;21896:1;21890:4;21886:12;21876:22;;21943:1;21937:4;21933:12;21964:18;21954:2;;22020:4;22012:6;22008:17;21998:27;;21954:2;22082;22074:6;22071:14;22051:18;22048:38;22045:2;;;22101:18;;:::i;:::-;22045:2;21866:269;;;;:::o;22141:281::-;22224:27;22246:4;22224:27;:::i;:::-;22216:6;22212:40;22354:6;22342:10;22339:22;22318:18;22306:10;22303:34;22300:62;22297:2;;;22365:18;;:::i;:::-;22297:2;22405:10;22401:2;22394:22;22184:238;;;:::o;22428:95::-;;22493:24;22511:5;22493:24;:::i;:::-;22482:35;;22472:51;;;:::o;22529:79::-;;22597:5;22586:16;;22576:32;;;:::o;22614:93::-;;22680:21;22695:5;22680:21;:::i;:::-;22669:32;;22659:48;;;:::o;22713:180::-;22761:77;22758:1;22751:88;22858:4;22855:1;22848:15;22882:4;22879:1;22872:15;22899:180;22947:77;22944:1;22937:88;23044:4;23041:1;23034:15;23068:4;23065:1;23058:15;23085:180;23133:77;23130:1;23123:88;23230:4;23227:1;23220:15;23254:4;23251:1;23244:15;23271:102;;23363:2;23359:7;23354:2;23347:5;23343:14;23339:28;23329:38;;23319:54;;;:::o;23379:96::-;;23462:5;23457:3;23453:15;23432:36;;23422:53;;;:::o;23481:174::-;23621:26;23617:1;23609:6;23605:14;23598:50;23587:68;:::o;23661:181::-;23801:33;23797:1;23789:6;23785:14;23778:57;23767:75;:::o;23848:214::-;23988:66;23984:1;23976:6;23972:14;23965:90;23954:108;:::o;24068:227::-;24208:34;24204:1;24196:6;24192:14;24185:58;24277:10;24272:2;24264:6;24260:15;24253:35;24174:121;:::o;24301:235::-;24441:34;24437:1;24429:6;24425:14;24418:58;24510:18;24505:2;24497:6;24493:15;24486:43;24407:129;:::o;24542:221::-;24682:34;24678:1;24670:6;24666:14;24659:58;24751:4;24746:2;24738:6;24734:15;24727:29;24648:115;:::o;24769:221::-;24909:34;24905:1;24897:6;24893:14;24886:58;24978:4;24973:2;24965:6;24961:15;24954:29;24875:115;:::o;24996:222::-;25136:34;25132:1;25124:6;25120:14;25113:58;25205:5;25200:2;25192:6;25188:15;25181:30;25102:116;:::o;25224:222::-;25364:34;25360:1;25352:6;25348:14;25341:58;25433:5;25428:2;25420:6;25416:15;25409:30;25330:116;:::o;25452:243::-;25592:34;25588:1;25580:6;25576:14;25569:58;25661:26;25656:2;25648:6;25644:15;25637:51;25558:137;:::o;25701:305::-;25841:34;25837:1;25829:6;25825:14;25818:58;25910:34;25905:2;25897:6;25893:15;25886:59;25979:19;25974:2;25966:6;25962:15;25955:44;25807:199;:::o;26012:223::-;26152:34;26148:1;26140:6;26136:14;26129:58;26221:6;26216:2;26208:6;26204:15;26197:31;26118:117;:::o;26241:239::-;26381:34;26377:1;26369:6;26365:14;26358:58;26450:22;26445:2;26437:6;26433:15;26426:47;26347:133;:::o;26486:116::-;26556:21;26571:5;26556:21;:::i;:::-;26549:5;26546:32;26536:2;;26592:1;26589;26582:12;26536:2;26526:76;:::o;26608:122::-;26681:24;26699:5;26681:24;:::i;:::-;26674:5;26671:35;26661:2;;26720:1;26717;26710:12;26661:2;26651:79;:::o;26736:122::-;26809:24;26827:5;26809:24;:::i;:::-;26802:5;26799:35;26789:2;;26848:1;26845;26838:12;26789:2;26779:79;:::o", | |
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n// import '@openzeppelin/contracts/utils/cryptography/ECDSA.sol';\n\ncontract HeadTail {\n address payable public userOneAddress;\n bytes public userOneSignedChoiceHash;\n\n address payable public userTwoAddress;\n bool public userTwoChoice;\n uint256 public userTwoChoiceSubmittedTime;\n\n uint256 public stake;\n\n /**\n * @dev Returns an Ethereum Signed Message, created from a `hash`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {\n // 32 is the length in bytes of hash,\n // enforced by the type signature above\n return keccak256(abi.encodePacked('\\x19Ethereum Signed Message:\\n32', hash));\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\n // Check the signature length\n if (signature.length != 65) {\n revert(\"ECDSA: invalid signature length\");\n }\n\n // Divide the signature in r, s and v variables\n bytes32 r;\n bytes32 s;\n uint8 v;\n\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n // solhint-disable-next-line no-inline-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n\n return recover(hash, v, r, s);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (281): 0 < s < secp256k1n ÷ 2 + 1, and for v in (282): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n require(uint256(s) <= 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0, \"ECDSA: invalid signature 's' value\");\n require(v == 27 || v == 28, \"ECDSA: invalid signature 'v' value\");\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n require(signer != address(0), \"ECDSA: invalid signature\");\n\n return signer;\n }\n\n function depositUserOne(bytes memory _signedChoiceHash, uint128 _stake) public payable {\n require(\n msg.value == _stake,\n 'user has to pass asset value equal to second parameter of the constructor (stake)'\n );\n require(userOneAddress == address(0), \"userOneAddress can't be already set\");\n stake = _stake;\n userOneAddress = payable(msg.sender);\n userOneSignedChoiceHash = _signedChoiceHash;\n }\n\n function depositUserTwo(bool choice) public payable {\n require(\n msg.value == stake,\n 'user has to pass asset value equal to second parameter of the constructor (stake)'\n );\n require(userOneAddress != address(0), 'userOneAddress has to be already set');\n require(userTwoAddress == address(0), \"userTwoAddress can't be already set\");\n require(userOneAddress != msg.sender, 'userTwoAddress has to differ from userOneAddress');\n\n userTwoAddress = payable(msg.sender);\n userTwoChoice = choice;\n userTwoChoiceSubmittedTime = block.timestamp;\n }\n\n function revealUserOneChoice(bool choice, string memory secret) public returns (bool) {\n require(userOneAddress != address(0), 'userOneAddress has to be already set');\n require(\n userTwoAddress != address(0),\n 'user two address has to be set before distributing prize'\n );\n // require(\n // verify(createChoiceHash(choice, secret), userOneSignedChoiceHash) == userOneAddress,\n // 'choice signature has to be correct'\n // );\n require(address(this).balance == 2 * stake, 'prize has to be not been distributed yet');\n\n distributePrize(choice);\n\n return true;\n }\n\n function timeout() public returns (bool) {\n require(userOneAddress != address(0), 'userOneAddress has to be already set');\n require(\n userTwoAddress != address(0),\n 'user two address has to be set before distributing prize'\n );\n require(address(this).balance == 2 * stake, 'prize has to be not been distributed yet');\n require(\n block.timestamp >= userTwoChoiceSubmittedTime + 24 hours,\n '24 hours need to pass before ability to call timeout'\n );\n\n userTwoAddress.transfer(2 * stake);\n\n return true;\n }\n\n function verify(bytes32 hash, bytes memory signature) public pure returns (address) {\n return recover(toEthSignedMessageHash(hash), signature);\n }\n\n function createChoiceHash(bool choice, string memory secret) public pure returns (bytes32) {\n return keccak256(abi.encodePacked(choice, secret));\n }\n\n function distributePrize(bool userOneChoice) private returns (bool) {\n if (userTwoChoice == userOneChoice) {\n userTwoAddress.transfer(2 * stake);\n } else {\n userOneAddress.transfer(2 * stake);\n }\n\n return true;\n }\n}\n", | |
"sourcePath": "/home/kuzi/projects/blockchain-workshop/contracts/HeadTail.sol", | |
"ast": { | |
"absolutePath": "/home/kuzi/projects/blockchain-workshop/contracts/HeadTail.sol", | |
"exportedSymbols": { | |
"HeadTail": [ | |
402 | |
] | |
}, | |
"id": 403, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "33:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 402, | |
"linearizedBaseContracts": [ | |
402 | |
], | |
"name": "HeadTail", | |
"nameLocation": "134:8:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "711aa39b", | |
"id": 3, | |
"mutability": "mutable", | |
"name": "userOneAddress", | |
"nameLocation": "172:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "149:37:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 2, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "149:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "5e157d1f", | |
"id": 5, | |
"mutability": "mutable", | |
"name": "userOneSignedChoiceHash", | |
"nameLocation": "205:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "192:36:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "192:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "7fb1d0dd", | |
"id": 7, | |
"mutability": "mutable", | |
"name": "userTwoAddress", | |
"nameLocation": "258:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "235:37:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 6, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "235:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b70d2ee8", | |
"id": 9, | |
"mutability": "mutable", | |
"name": "userTwoChoice", | |
"nameLocation": "290:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "278:25:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 8, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "278:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "4212259e", | |
"id": 11, | |
"mutability": "mutable", | |
"name": "userTwoChoiceSubmittedTime", | |
"nameLocation": "324:26:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "309:41:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 10, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "309:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "3a4b66f1", | |
"id": 13, | |
"mutability": "mutable", | |
"name": "stake", | |
"nameLocation": "372:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "357:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 12, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "357:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 29, | |
"nodeType": "Block", | |
"src": "746:187:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", | |
"id": 24, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "884:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", | |
"typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" | |
}, | |
"value": "\u0019Ethereum Signed Message:\n32" | |
}, | |
{ | |
"id": 25, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 16, | |
"src": "920:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", | |
"typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"expression": { | |
"id": 22, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -1, | |
"src": "867:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 23, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodePacked", | |
"nodeType": "MemberAccess", | |
"src": "867:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function () pure returns (bytes memory)" | |
} | |
}, | |
"id": 26, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "867:58:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 21, | |
"name": "keccak256", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -8, | |
"src": "857:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", | |
"typeString": "function (bytes memory) pure returns (bytes32)" | |
} | |
}, | |
"id": 27, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "857:69:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"functionReturnParameters": 20, | |
"id": 28, | |
"nodeType": "Return", | |
"src": "850:76:0" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 14, | |
"nodeType": "StructuredDocumentation", | |
"src": "384:279:0", | |
"text": " @dev Returns an Ethereum Signed Message, created from a `hash`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}." | |
}, | |
"id": 30, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "toEthSignedMessageHash", | |
"nameLocation": "677:22:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 17, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 16, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "708:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 30, | |
"src": "700:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 15, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "700:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "699:14:0" | |
}, | |
"returnParameters": { | |
"id": 20, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 19, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 30, | |
"src": "737:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 18, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "737:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "736:9:0" | |
}, | |
"scope": 402, | |
"src": "668:265:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 67, | |
"nodeType": "Block", | |
"src": "1806:653:0", | |
"statements": [ | |
{ | |
"condition": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 43, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 40, | |
"name": "signature", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 35, | |
"src": "1858:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "length", | |
"nodeType": "MemberAccess", | |
"src": "1858:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"hexValue": "3635", | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1878:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_65_by_1", | |
"typeString": "int_const 65" | |
}, | |
"value": "65" | |
}, | |
"src": "1858:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 49, | |
"nodeType": "IfStatement", | |
"src": "1854:94:0", | |
"trueBody": { | |
"id": 48, | |
"nodeType": "Block", | |
"src": "1882:66:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", | |
"id": 45, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1903:33:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", | |
"typeString": "literal_string \"ECDSA: invalid signature length\"" | |
}, | |
"value": "ECDSA: invalid signature length" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", | |
"typeString": "literal_string \"ECDSA: invalid signature length\"" | |
} | |
], | |
"id": 44, | |
"name": "revert", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-19, | |
-19 | |
], | |
"referencedDeclaration": -19, | |
"src": "1896:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (string memory) pure" | |
} | |
}, | |
"id": 46, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1896:41:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 47, | |
"nodeType": "ExpressionStatement", | |
"src": "1896:41:0" | |
} | |
] | |
} | |
}, | |
{ | |
"assignments": [ | |
51 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 51, | |
"mutability": "mutable", | |
"name": "r", | |
"nameLocation": "2022:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 67, | |
"src": "2014:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 50, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2014:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 52, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2014:9:0" | |
}, | |
{ | |
"assignments": [ | |
54 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 54, | |
"mutability": "mutable", | |
"name": "s", | |
"nameLocation": "2041:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 67, | |
"src": "2033:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 53, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2033:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 55, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2033:9:0" | |
}, | |
{ | |
"assignments": [ | |
57 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 57, | |
"mutability": "mutable", | |
"name": "v", | |
"nameLocation": "2058:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 67, | |
"src": "2052:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 56, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "2052:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 58, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2052:7:0" | |
}, | |
{ | |
"AST": { | |
"nodeType": "YulBlock", | |
"src": "2258:155:0", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2272:32:0", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "signature", | |
"nodeType": "YulIdentifier", | |
"src": "2287:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2298:4:0", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2283:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2283:20:0" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "2277:5:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2277:27:0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "2272:1:0" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2317:32:0", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "signature", | |
"nodeType": "YulIdentifier", | |
"src": "2332:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2343:4:0", | |
"type": "", | |
"value": "0x40" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2328:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2328:20:0" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "2322:5:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2322:27:0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "s", | |
"nodeType": "YulIdentifier", | |
"src": "2317:1:0" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2362:41:0", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2372:1:0", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "signature", | |
"nodeType": "YulIdentifier", | |
"src": "2385:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2396:4:0", | |
"type": "", | |
"value": "0x60" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2381:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2381:20:0" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "2375:5:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2375:27:0" | |
} | |
], | |
"functionName": { | |
"name": "byte", | |
"nodeType": "YulIdentifier", | |
"src": "2367:4:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2367:36:0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "v", | |
"nodeType": "YulIdentifier", | |
"src": "2362:1:0" | |
} | |
] | |
} | |
] | |
}, | |
"evmVersion": "istanbul", | |
"externalReferences": [ | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2272:1:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 54, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2317:1:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 35, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2287:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 35, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2332:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 35, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2385:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 57, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2362:1:0", | |
"valueSize": 1 | |
} | |
], | |
"id": 59, | |
"nodeType": "InlineAssembly", | |
"src": "2249:164:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 61, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 33, | |
"src": "2438:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 62, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 57, | |
"src": "2444:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
{ | |
"id": 63, | |
"name": "r", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 51, | |
"src": "2447:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 64, | |
"name": "s", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 54, | |
"src": "2450:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 60, | |
"name": "recover", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
68, | |
125 | |
], | |
"referencedDeclaration": 125, | |
"src": "2430:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", | |
"typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" | |
} | |
}, | |
"id": 65, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2430:22:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"functionReturnParameters": 39, | |
"id": 66, | |
"nodeType": "Return", | |
"src": "2423:29:0" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 31, | |
"nodeType": "StructuredDocumentation", | |
"src": "939:775:0", | |
"text": " @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it." | |
}, | |
"id": 68, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "recover", | |
"nameLocation": "1728:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 36, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 33, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "1744:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 68, | |
"src": "1736:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 32, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "1736:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 35, | |
"mutability": "mutable", | |
"name": "signature", | |
"nameLocation": "1763:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 68, | |
"src": "1750:22:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 34, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "1750:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1735:38:0" | |
}, | |
"returnParameters": { | |
"id": 39, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 38, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 68, | |
"src": "1797:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 37, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1797:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1796:9:0" | |
}, | |
"scope": 402, | |
"src": "1719:740:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 124, | |
"nodeType": "Block", | |
"src": "2687:1320:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 88, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"arguments": [ | |
{ | |
"id": 85, | |
"name": "s", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 77, | |
"src": "3587:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 84, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "3579:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_uint256_$", | |
"typeString": "type(uint256)" | |
}, | |
"typeName": { | |
"id": 83, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3579:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 86, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3579:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"hexValue": "307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130", | |
"id": 87, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3593:66:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1", | |
"typeString": "int_const 5789...(69 digits omitted)...7168" | |
}, | |
"value": "0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0" | |
}, | |
"src": "3579:80:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c7565", | |
"id": 89, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3661:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", | |
"typeString": "literal_string \"ECDSA: invalid signature 's' value\"" | |
}, | |
"value": "ECDSA: invalid signature 's' value" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", | |
"typeString": "literal_string \"ECDSA: invalid signature 's' value\"" | |
} | |
], | |
"id": 82, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "3571:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 90, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3571:127:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 91, | |
"nodeType": "ExpressionStatement", | |
"src": "3571:127:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"id": 99, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"id": 95, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 93, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 73, | |
"src": "3716:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"hexValue": "3237", | |
"id": 94, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3721:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_27_by_1", | |
"typeString": "int_const 27" | |
}, | |
"value": "27" | |
}, | |
"src": "3716:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "||", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"id": 98, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 96, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 73, | |
"src": "3727:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"hexValue": "3238", | |
"id": 97, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3732:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_28_by_1", | |
"typeString": "int_const 28" | |
}, | |
"value": "28" | |
}, | |
"src": "3727:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "3716:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "45434453413a20696e76616c6964207369676e6174757265202776272076616c7565", | |
"id": 100, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3736:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", | |
"typeString": "literal_string \"ECDSA: invalid signature 'v' value\"" | |
}, | |
"value": "ECDSA: invalid signature 'v' value" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", | |
"typeString": "literal_string \"ECDSA: invalid signature 'v' value\"" | |
} | |
], | |
"id": 92, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "3708:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 101, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3708:65:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 102, | |
"nodeType": "ExpressionStatement", | |
"src": "3708:65:0" | |
}, | |
{ | |
"assignments": [ | |
104 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 104, | |
"mutability": "mutable", | |
"name": "signer", | |
"nameLocation": "3876:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 124, | |
"src": "3868:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 103, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "3868:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 111, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"id": 106, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 71, | |
"src": "3895:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 107, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 73, | |
"src": "3901:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
{ | |
"id": 108, | |
"name": "r", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 75, | |
"src": "3904:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 109, | |
"name": "s", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 77, | |
"src": "3907:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 105, | |
"name": "ecrecover", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -6, | |
"src": "3885:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", | |
"typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" | |
} | |
}, | |
"id": 110, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3885:24:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "3868:41:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 118, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 113, | |
"name": "signer", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 104, | |
"src": "3927:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 116, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3945:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 115, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "3937:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 114, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "3937:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 117, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3937:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "3927:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "45434453413a20696e76616c6964207369676e6174757265", | |
"id": 119, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3949:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", | |
"typeString": "literal_string \"ECDSA: invalid signature\"" | |
}, | |
"value": "ECDSA: invalid signature" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", | |
"typeString": "literal_string \"ECDSA: invalid signature\"" | |
} | |
], | |
"id": 112, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "3919:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 120, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3919:57:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 121, | |
"nodeType": "ExpressionStatement", | |
"src": "3919:57:0" | |
}, | |
{ | |
"expression": { | |
"id": 122, | |
"name": "signer", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 104, | |
"src": "3994:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"functionReturnParameters": 81, | |
"id": 123, | |
"nodeType": "Return", | |
"src": "3987:13:0" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 69, | |
"nodeType": "StructuredDocumentation", | |
"src": "2466:122:0", | |
"text": " @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately." | |
}, | |
"id": 125, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "recover", | |
"nameLocation": "2602:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 78, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 71, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "2618:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2610:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 70, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2610:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 73, | |
"mutability": "mutable", | |
"name": "v", | |
"nameLocation": "2630:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2624:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 72, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "2624:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 75, | |
"mutability": "mutable", | |
"name": "r", | |
"nameLocation": "2641:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2633:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 74, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2633:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 77, | |
"mutability": "mutable", | |
"name": "s", | |
"nameLocation": "2652:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2644:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 76, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2644:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2609:45:0" | |
}, | |
"returnParameters": { | |
"id": 81, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 80, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2678:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 79, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2678:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2677:9:0" | |
}, | |
"scope": 402, | |
"src": "2593:1414:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 166, | |
"nodeType": "Block", | |
"src": "4100:373:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 136, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 133, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4131:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 134, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "4131:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 135, | |
"name": "_stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 129, | |
"src": "4144:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint128", | |
"typeString": "uint128" | |
} | |
}, | |
"src": "4131:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722068617320746f20706173732061737365742076616c756520657175616c20746f207365636f6e6420706172616d65746572206f662074686520636f6e7374727563746f7220287374616b6529", | |
"id": 137, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4164:83:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"typeString": "literal_string \"user has to pass asset value equal to second parameter of the constructor (stake)\"" | |
}, | |
"value": "user has to pass asset value equal to second parameter of the constructor (stake)" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"typeString": "literal_string \"user has to pass asset value equal to second parameter of the constructor (stake)\"" | |
} | |
], | |
"id": 132, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4110:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 138, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4110:147:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 139, | |
"nodeType": "ExpressionStatement", | |
"src": "4110:147:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 146, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 141, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "4275:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 144, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4301:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 143, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4293:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 142, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4293:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 145, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4293:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "4275:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365724f6e65416464726573732063616e277420626520616c726561647920736574", | |
"id": 147, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4305:37:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19", | |
"typeString": "literal_string \"userOneAddress can't be already set\"" | |
}, | |
"value": "userOneAddress can't be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19", | |
"typeString": "literal_string \"userOneAddress can't be already set\"" | |
} | |
], | |
"id": 140, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4267:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 148, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4267:76:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 149, | |
"nodeType": "ExpressionStatement", | |
"src": "4267:76:0" | |
}, | |
{ | |
"expression": { | |
"id": 152, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 150, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "4353:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 151, | |
"name": "_stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 129, | |
"src": "4361:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint128", | |
"typeString": "uint128" | |
} | |
}, | |
"src": "4353:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 153, | |
"nodeType": "ExpressionStatement", | |
"src": "4353:14:0" | |
}, | |
{ | |
"expression": { | |
"id": 160, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 154, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "4377:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 157, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4402:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 158, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "4402:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 156, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4394:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_payable_$", | |
"typeString": "type(address payable)" | |
}, | |
"typeName": { | |
"id": 155, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4394:8:0", | |
"stateMutability": "payable", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 159, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4394:19:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "4377:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 161, | |
"nodeType": "ExpressionStatement", | |
"src": "4377:36:0" | |
}, | |
{ | |
"expression": { | |
"id": 164, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 162, | |
"name": "userOneSignedChoiceHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "4423:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes storage ref" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 163, | |
"name": "_signedChoiceHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 127, | |
"src": "4449:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
"src": "4423:43:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes storage ref" | |
} | |
}, | |
"id": 165, | |
"nodeType": "ExpressionStatement", | |
"src": "4423:43:0" | |
} | |
] | |
}, | |
"functionSelector": "ef3022df", | |
"id": 167, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "depositUserOne", | |
"nameLocation": "4022:14:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 130, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 127, | |
"mutability": "mutable", | |
"name": "_signedChoiceHash", | |
"nameLocation": "4050:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 167, | |
"src": "4037:30:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 126, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "4037:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 129, | |
"mutability": "mutable", | |
"name": "_stake", | |
"nameLocation": "4077:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 167, | |
"src": "4069:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint128", | |
"typeString": "uint128" | |
}, | |
"typeName": { | |
"id": 128, | |
"name": "uint128", | |
"nodeType": "ElementaryTypeName", | |
"src": "4069:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint128", | |
"typeString": "uint128" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "4036:48:0" | |
}, | |
"returnParameters": { | |
"id": 131, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4100:0:0" | |
}, | |
"scope": 402, | |
"src": "4013:460:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 225, | |
"nodeType": "Block", | |
"src": "4531:568:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 176, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 173, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4562:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 174, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "4562:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 175, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "4575:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "4562:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722068617320746f20706173732061737365742076616c756520657175616c20746f207365636f6e6420706172616d65746572206f662074686520636f6e7374727563746f7220287374616b6529", | |
"id": 177, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4594:83:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"typeString": "literal_string \"user has to pass asset value equal to second parameter of the constructor (stake)\"" | |
}, | |
"value": "user has to pass asset value equal to second parameter of the constructor (stake)" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"typeString": "literal_string \"user has to pass asset value equal to second parameter of the constructor (stake)\"" | |
} | |
], | |
"id": 172, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4541:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 178, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4541:146:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 179, | |
"nodeType": "ExpressionStatement", | |
"src": "4541:146:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 186, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 181, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "4705:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 184, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4731:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 183, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4723:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 182, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4723:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 185, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4723:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "4705:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365724f6e65416464726573732068617320746f20626520616c726561647920736574", | |
"id": 187, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4735:38:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
}, | |
"value": "userOneAddress has to be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
} | |
], | |
"id": 180, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4697:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 188, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4697:77:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 189, | |
"nodeType": "ExpressionStatement", | |
"src": "4697:77:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 196, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 191, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "4792:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 194, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4818:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 193, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4810:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 192, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4810:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 195, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4810:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "4792:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7573657254776f416464726573732063616e277420626520616c726561647920736574", | |
"id": 197, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4822:37:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b", | |
"typeString": "literal_string \"userTwoAddress can't be already set\"" | |
}, | |
"value": "userTwoAddress can't be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b", | |
"typeString": "literal_string \"userTwoAddress can't be already set\"" | |
} | |
], | |
"id": 190, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4784:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 198, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4784:76:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 199, | |
"nodeType": "ExpressionStatement", | |
"src": "4784:76:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 204, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 201, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "4878:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"expression": { | |
"id": 202, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4896:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 203, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "4896:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "4878:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7573657254776f416464726573732068617320746f206469666665722066726f6d20757365724f6e6541646472657373", | |
"id": 205, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4908:50:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57", | |
"typeString": "literal_string \"userTwoAddress has to differ from userOneAddress\"" | |
}, | |
"value": "userTwoAddress has to differ from userOneAddress" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57", | |
"typeString": "literal_string \"userTwoAddress has to differ from userOneAddress\"" | |
} | |
], | |
"id": 200, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4870:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 206, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4870:89:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 207, | |
"nodeType": "ExpressionStatement", | |
"src": "4870:89:0" | |
}, | |
{ | |
"expression": { | |
"id": 214, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 208, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "4970:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 211, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4995:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 212, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "4995:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 210, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4987:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_payable_$", | |
"typeString": "type(address payable)" | |
}, | |
"typeName": { | |
"id": 209, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4987:8:0", | |
"stateMutability": "payable", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 213, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4987:19:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "4970:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 215, | |
"nodeType": "ExpressionStatement", | |
"src": "4970:36:0" | |
}, | |
{ | |
"expression": { | |
"id": 218, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 216, | |
"name": "userTwoChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 9, | |
"src": "5016:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 217, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 169, | |
"src": "5032:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "5016:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 219, | |
"nodeType": "ExpressionStatement", | |
"src": "5016:22:0" | |
}, | |
{ | |
"expression": { | |
"id": 223, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 220, | |
"name": "userTwoChoiceSubmittedTime", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 11, | |
"src": "5048:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 221, | |
"name": "block", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -4, | |
"src": "5077:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_block", | |
"typeString": "block" | |
} | |
}, | |
"id": 222, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "timestamp", | |
"nodeType": "MemberAccess", | |
"src": "5077:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "5048:44:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 224, | |
"nodeType": "ExpressionStatement", | |
"src": "5048:44:0" | |
} | |
] | |
}, | |
"functionSelector": "f9846e1f", | |
"id": 226, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "depositUserTwo", | |
"nameLocation": "4488:14:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 170, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 169, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "4508:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 226, | |
"src": "4503:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 168, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "4503:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "4502:13:0" | |
}, | |
"returnParameters": { | |
"id": 171, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4531:0:0" | |
}, | |
"scope": 402, | |
"src": "4479:620:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 274, | |
"nodeType": "Block", | |
"src": "5191:574:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 241, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 236, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "5209:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 239, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5235:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 238, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "5227:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 237, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "5227:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 240, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5227:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "5209:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365724f6e65416464726573732068617320746f20626520616c726561647920736574", | |
"id": 242, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5239:38:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
}, | |
"value": "userOneAddress has to be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
} | |
], | |
"id": 235, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "5201:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 243, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5201:77:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 244, | |
"nodeType": "ExpressionStatement", | |
"src": "5201:77:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 251, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 246, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "5309:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 249, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5335:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 248, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "5327:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 247, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "5327:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 250, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5327:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "5309:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722074776f20616464726573732068617320746f20626520736574206265666f726520646973747269627574696e67207072697a65", | |
"id": 252, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5351:58:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"typeString": "literal_string \"user two address has to be set before distributing prize\"" | |
}, | |
"value": "user two address has to be set before distributing prize" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"typeString": "literal_string \"user two address has to be set before distributing prize\"" | |
} | |
], | |
"id": 245, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "5288:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 253, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5288:131:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 254, | |
"nodeType": "ExpressionStatement", | |
"src": "5288:131:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 264, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 258, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -28, | |
"src": "5631:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_HeadTail_$402", | |
"typeString": "contract HeadTail" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_HeadTail_$402", | |
"typeString": "contract HeadTail" | |
} | |
], | |
"id": 257, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "5623:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 256, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "5623:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 259, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5623:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 260, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "balance", | |
"nodeType": "MemberAccess", | |
"src": "5623:21:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 263, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 261, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5648:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 262, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "5652:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "5648:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "5623:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7072697a652068617320746f206265206e6f74206265656e20646973747269627574656420796574", | |
"id": 265, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5659:42:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2", | |
"typeString": "literal_string \"prize has to be not been distributed yet\"" | |
}, | |
"value": "prize has to be not been distributed yet" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2", | |
"typeString": "literal_string \"prize has to be not been distributed yet\"" | |
} | |
], | |
"id": 255, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "5615:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 266, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5615:87:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 267, | |
"nodeType": "ExpressionStatement", | |
"src": "5615:87:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 269, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 228, | |
"src": "5729:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
], | |
"id": 268, | |
"name": "distributePrize", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 401, | |
"src": "5713:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$_t_bool_$", | |
"typeString": "function (bool) returns (bool)" | |
} | |
}, | |
"id": 270, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5713:23:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 271, | |
"nodeType": "ExpressionStatement", | |
"src": "5713:23:0" | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 272, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5754:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 234, | |
"id": 273, | |
"nodeType": "Return", | |
"src": "5747:11:0" | |
} | |
] | |
}, | |
"functionSelector": "d536ac95", | |
"id": 275, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "revealUserOneChoice", | |
"nameLocation": "5114:19:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 231, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 228, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "5139:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 275, | |
"src": "5134:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 227, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "5134:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 230, | |
"mutability": "mutable", | |
"name": "secret", | |
"nameLocation": "5161:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 275, | |
"src": "5147:20:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 229, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "5147:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "5133:35:0" | |
}, | |
"returnParameters": { | |
"id": 234, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 233, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 275, | |
"src": "5185:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 232, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "5185:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "5184:6:0" | |
}, | |
"scope": 402, | |
"src": "5105:660:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 333, | |
"nodeType": "Block", | |
"src": "5812:564:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 286, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 281, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "5830:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 284, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5856:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 283, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "5848:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 282, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "5848:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 285, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5848:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "5830:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365724f6e65416464726573732068617320746f20626520616c726561647920736574", | |
"id": 287, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5860:38:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
}, | |
"value": "userOneAddress has to be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
} | |
], | |
"id": 280, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "5822:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 288, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5822:77:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 289, | |
"nodeType": "ExpressionStatement", | |
"src": "5822:77:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 296, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 291, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "5930:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 294, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5956:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 293, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "5948:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 292, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "5948:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 295, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5948:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "5930:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722074776f20616464726573732068617320746f20626520736574206265666f726520646973747269627574696e67207072697a65", | |
"id": 297, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5972:58:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"typeString": "literal_string \"user two address has to be set before distributing prize\"" | |
}, | |
"value": "user two address has to be set before distributing prize" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"typeString": "literal_string \"user two address has to be set before distributing prize\"" | |
} | |
], | |
"id": 290, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "5909:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 298, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5909:131:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 299, | |
"nodeType": "ExpressionStatement", | |
"src": "5909:131:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 309, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 303, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -28, | |
"src": "6066:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_HeadTail_$402", | |
"typeString": "contract HeadTail" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_HeadTail_$402", | |
"typeString": "contract HeadTail" | |
} | |
], | |
"id": 302, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "6058:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 301, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "6058:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 304, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6058:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 305, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "balance", | |
"nodeType": "MemberAccess", | |
"src": "6058:21:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 308, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 306, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6083:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 307, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "6087:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6083:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6058:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7072697a652068617320746f206265206e6f74206265656e20646973747269627574656420796574", | |
"id": 310, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6094:42:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2", | |
"typeString": "literal_string \"prize has to be not been distributed yet\"" | |
}, | |
"value": "prize has to be not been distributed yet" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2", | |
"typeString": "literal_string \"prize has to be not been distributed yet\"" | |
} | |
], | |
"id": 300, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "6050:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 311, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6050:87:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 312, | |
"nodeType": "ExpressionStatement", | |
"src": "6050:87:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 319, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 314, | |
"name": "block", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -4, | |
"src": "6168:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_block", | |
"typeString": "block" | |
} | |
}, | |
"id": 315, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "timestamp", | |
"nodeType": "MemberAccess", | |
"src": "6168:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">=", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 318, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 316, | |
"name": "userTwoChoiceSubmittedTime", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 11, | |
"src": "6187:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"hexValue": "3234", | |
"id": 317, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6216:8:0", | |
"subdenomination": "hours", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_86400_by_1", | |
"typeString": "int_const 86400" | |
}, | |
"value": "24" | |
}, | |
"src": "6187:37:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6168:56:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "323420686f757273206e65656420746f2070617373206265666f7265206162696c69747920746f2063616c6c2074696d656f7574", | |
"id": 320, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6238:54:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005", | |
"typeString": "literal_string \"24 hours need to pass before ability to call timeout\"" | |
}, | |
"value": "24 hours need to pass before ability to call timeout" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005", | |
"typeString": "literal_string \"24 hours need to pass before ability to call timeout\"" | |
} | |
], | |
"id": 313, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "6147:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 321, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6147:155:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 322, | |
"nodeType": "ExpressionStatement", | |
"src": "6147:155:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 328, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 326, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6337:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 327, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "6341:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6337:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 323, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "6313:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 325, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "6313:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 329, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6313:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 330, | |
"nodeType": "ExpressionStatement", | |
"src": "6313:34:0" | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 331, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6365:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 279, | |
"id": 332, | |
"nodeType": "Return", | |
"src": "6358:11:0" | |
} | |
] | |
}, | |
"functionSelector": "70dea79a", | |
"id": 334, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "timeout", | |
"nameLocation": "5780:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 276, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "5787:2:0" | |
}, | |
"returnParameters": { | |
"id": 279, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 278, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 334, | |
"src": "5806:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 277, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "5806:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "5805:6:0" | |
}, | |
"scope": 402, | |
"src": "5771:605:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 350, | |
"nodeType": "Block", | |
"src": "6466:72:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 345, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 336, | |
"src": "6514:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 344, | |
"name": "toEthSignedMessageHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 30, | |
"src": "6491:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", | |
"typeString": "function (bytes32) pure returns (bytes32)" | |
} | |
}, | |
"id": 346, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6491:28:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 347, | |
"name": "signature", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 338, | |
"src": "6521:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 343, | |
"name": "recover", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
68, | |
125 | |
], | |
"referencedDeclaration": 68, | |
"src": "6483:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", | |
"typeString": "function (bytes32,bytes memory) pure returns (address)" | |
} | |
}, | |
"id": 348, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6483:48:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"functionReturnParameters": 342, | |
"id": 349, | |
"nodeType": "Return", | |
"src": "6476:55:0" | |
} | |
] | |
}, | |
"functionSelector": "258ae582", | |
"id": 351, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "verify", | |
"nameLocation": "6391:6:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 339, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 336, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "6406:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 351, | |
"src": "6398:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 335, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "6398:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 338, | |
"mutability": "mutable", | |
"name": "signature", | |
"nameLocation": "6425:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 351, | |
"src": "6412:22:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 337, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "6412:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "6397:38:0" | |
}, | |
"returnParameters": { | |
"id": 342, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 341, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 351, | |
"src": "6457:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 340, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "6457:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "6456:9:0" | |
}, | |
"scope": 402, | |
"src": "6382:156:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 368, | |
"nodeType": "Block", | |
"src": "6635:67:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 363, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 353, | |
"src": "6679:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"id": 364, | |
"name": "secret", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 355, | |
"src": "6687:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string memory" | |
} | |
], | |
"expression": { | |
"id": 361, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -1, | |
"src": "6662:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 362, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodePacked", | |
"nodeType": "MemberAccess", | |
"src": "6662:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function () pure returns (bytes memory)" | |
} | |
}, | |
"id": 365, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6662:32:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 360, | |
"name": "keccak256", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -8, | |
"src": "6652:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", | |
"typeString": "function (bytes memory) pure returns (bytes32)" | |
} | |
}, | |
"id": 366, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6652:43:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"functionReturnParameters": 359, | |
"id": 367, | |
"nodeType": "Return", | |
"src": "6645:50:0" | |
} | |
] | |
}, | |
"functionSelector": "90bddff0", | |
"id": 369, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "createChoiceHash", | |
"nameLocation": "6553:16:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 356, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 353, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "6575:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 369, | |
"src": "6570:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 352, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "6570:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 355, | |
"mutability": "mutable", | |
"name": "secret", | |
"nameLocation": "6597:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 369, | |
"src": "6583:20:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 354, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "6583:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "6569:35:0" | |
}, | |
"returnParameters": { | |
"id": 359, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 358, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 369, | |
"src": "6626:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 357, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "6626:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "6625:9:0" | |
}, | |
"scope": 402, | |
"src": "6544:158:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 400, | |
"nodeType": "Block", | |
"src": "6776:198:0", | |
"statements": [ | |
{ | |
"condition": { | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"id": 378, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 376, | |
"name": "userTwoChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 9, | |
"src": "6790:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 377, | |
"name": "userOneChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 371, | |
"src": "6807:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "6790:30:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 396, | |
"nodeType": "Block", | |
"src": "6887:59:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 393, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 391, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6925:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 392, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "6929:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6925:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 388, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "6901:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 390, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "6901:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 394, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6901:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 395, | |
"nodeType": "ExpressionStatement", | |
"src": "6901:34:0" | |
} | |
] | |
}, | |
"id": 397, | |
"nodeType": "IfStatement", | |
"src": "6786:160:0", | |
"trueBody": { | |
"id": 387, | |
"nodeType": "Block", | |
"src": "6822:59:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 384, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 382, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6860:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 383, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "6864:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6860:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 379, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "6836:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 381, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "6836:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 385, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6836:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 386, | |
"nodeType": "ExpressionStatement", | |
"src": "6836:34:0" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 398, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6963:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 375, | |
"id": 399, | |
"nodeType": "Return", | |
"src": "6956:11:0" | |
} | |
] | |
}, | |
"id": 401, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "distributePrize", | |
"nameLocation": "6717:15:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 372, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 371, | |
"mutability": "mutable", | |
"name": "userOneChoice", | |
"nameLocation": "6738:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 401, | |
"src": "6733:18:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 370, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "6733:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "6732:20:0" | |
}, | |
"returnParameters": { | |
"id": 375, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 374, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 401, | |
"src": "6770:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 373, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "6770:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "6769:6:0" | |
}, | |
"scope": 402, | |
"src": "6708:266:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "private" | |
} | |
], | |
"scope": 403, | |
"src": "125:6851:0" | |
} | |
], | |
"src": "33:6944:0" | |
}, | |
"legacyAST": { | |
"absolutePath": "/home/kuzi/projects/blockchain-workshop/contracts/HeadTail.sol", | |
"exportedSymbols": { | |
"HeadTail": [ | |
402 | |
] | |
}, | |
"id": 403, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "33:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 402, | |
"linearizedBaseContracts": [ | |
402 | |
], | |
"name": "HeadTail", | |
"nameLocation": "134:8:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "711aa39b", | |
"id": 3, | |
"mutability": "mutable", | |
"name": "userOneAddress", | |
"nameLocation": "172:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "149:37:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 2, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "149:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "5e157d1f", | |
"id": 5, | |
"mutability": "mutable", | |
"name": "userOneSignedChoiceHash", | |
"nameLocation": "205:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "192:36:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "192:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "7fb1d0dd", | |
"id": 7, | |
"mutability": "mutable", | |
"name": "userTwoAddress", | |
"nameLocation": "258:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "235:37:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 6, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "235:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b70d2ee8", | |
"id": 9, | |
"mutability": "mutable", | |
"name": "userTwoChoice", | |
"nameLocation": "290:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "278:25:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 8, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "278:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "4212259e", | |
"id": 11, | |
"mutability": "mutable", | |
"name": "userTwoChoiceSubmittedTime", | |
"nameLocation": "324:26:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "309:41:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 10, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "309:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "3a4b66f1", | |
"id": 13, | |
"mutability": "mutable", | |
"name": "stake", | |
"nameLocation": "372:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 402, | |
"src": "357:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 12, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "357:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 29, | |
"nodeType": "Block", | |
"src": "746:187:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", | |
"id": 24, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "884:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", | |
"typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" | |
}, | |
"value": "\u0019Ethereum Signed Message:\n32" | |
}, | |
{ | |
"id": 25, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 16, | |
"src": "920:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", | |
"typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"expression": { | |
"id": 22, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -1, | |
"src": "867:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 23, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodePacked", | |
"nodeType": "MemberAccess", | |
"src": "867:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function () pure returns (bytes memory)" | |
} | |
}, | |
"id": 26, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "867:58:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 21, | |
"name": "keccak256", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -8, | |
"src": "857:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", | |
"typeString": "function (bytes memory) pure returns (bytes32)" | |
} | |
}, | |
"id": 27, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "857:69:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"functionReturnParameters": 20, | |
"id": 28, | |
"nodeType": "Return", | |
"src": "850:76:0" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 14, | |
"nodeType": "StructuredDocumentation", | |
"src": "384:279:0", | |
"text": " @dev Returns an Ethereum Signed Message, created from a `hash`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}." | |
}, | |
"id": 30, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "toEthSignedMessageHash", | |
"nameLocation": "677:22:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 17, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 16, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "708:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 30, | |
"src": "700:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 15, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "700:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "699:14:0" | |
}, | |
"returnParameters": { | |
"id": 20, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 19, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 30, | |
"src": "737:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 18, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "737:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "736:9:0" | |
}, | |
"scope": 402, | |
"src": "668:265:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 67, | |
"nodeType": "Block", | |
"src": "1806:653:0", | |
"statements": [ | |
{ | |
"condition": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 43, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 40, | |
"name": "signature", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 35, | |
"src": "1858:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "length", | |
"nodeType": "MemberAccess", | |
"src": "1858:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"hexValue": "3635", | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1878:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_65_by_1", | |
"typeString": "int_const 65" | |
}, | |
"value": "65" | |
}, | |
"src": "1858:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 49, | |
"nodeType": "IfStatement", | |
"src": "1854:94:0", | |
"trueBody": { | |
"id": 48, | |
"nodeType": "Block", | |
"src": "1882:66:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", | |
"id": 45, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1903:33:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", | |
"typeString": "literal_string \"ECDSA: invalid signature length\"" | |
}, | |
"value": "ECDSA: invalid signature length" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", | |
"typeString": "literal_string \"ECDSA: invalid signature length\"" | |
} | |
], | |
"id": 44, | |
"name": "revert", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-19, | |
-19 | |
], | |
"referencedDeclaration": -19, | |
"src": "1896:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (string memory) pure" | |
} | |
}, | |
"id": 46, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1896:41:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 47, | |
"nodeType": "ExpressionStatement", | |
"src": "1896:41:0" | |
} | |
] | |
} | |
}, | |
{ | |
"assignments": [ | |
51 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 51, | |
"mutability": "mutable", | |
"name": "r", | |
"nameLocation": "2022:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 67, | |
"src": "2014:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 50, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2014:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 52, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2014:9:0" | |
}, | |
{ | |
"assignments": [ | |
54 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 54, | |
"mutability": "mutable", | |
"name": "s", | |
"nameLocation": "2041:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 67, | |
"src": "2033:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 53, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2033:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 55, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2033:9:0" | |
}, | |
{ | |
"assignments": [ | |
57 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 57, | |
"mutability": "mutable", | |
"name": "v", | |
"nameLocation": "2058:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 67, | |
"src": "2052:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 56, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "2052:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 58, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2052:7:0" | |
}, | |
{ | |
"AST": { | |
"nodeType": "YulBlock", | |
"src": "2258:155:0", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2272:32:0", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "signature", | |
"nodeType": "YulIdentifier", | |
"src": "2287:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2298:4:0", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2283:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2283:20:0" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "2277:5:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2277:27:0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "2272:1:0" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2317:32:0", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "signature", | |
"nodeType": "YulIdentifier", | |
"src": "2332:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2343:4:0", | |
"type": "", | |
"value": "0x40" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2328:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2328:20:0" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "2322:5:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2322:27:0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "s", | |
"nodeType": "YulIdentifier", | |
"src": "2317:1:0" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2362:41:0", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2372:1:0", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "signature", | |
"nodeType": "YulIdentifier", | |
"src": "2385:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2396:4:0", | |
"type": "", | |
"value": "0x60" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2381:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2381:20:0" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "2375:5:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2375:27:0" | |
} | |
], | |
"functionName": { | |
"name": "byte", | |
"nodeType": "YulIdentifier", | |
"src": "2367:4:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2367:36:0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "v", | |
"nodeType": "YulIdentifier", | |
"src": "2362:1:0" | |
} | |
] | |
} | |
] | |
}, | |
"evmVersion": "istanbul", | |
"externalReferences": [ | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2272:1:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 54, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2317:1:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 35, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2287:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 35, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2332:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 35, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2385:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 57, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2362:1:0", | |
"valueSize": 1 | |
} | |
], | |
"id": 59, | |
"nodeType": "InlineAssembly", | |
"src": "2249:164:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 61, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 33, | |
"src": "2438:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 62, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 57, | |
"src": "2444:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
{ | |
"id": 63, | |
"name": "r", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 51, | |
"src": "2447:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 64, | |
"name": "s", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 54, | |
"src": "2450:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 60, | |
"name": "recover", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
68, | |
125 | |
], | |
"referencedDeclaration": 125, | |
"src": "2430:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", | |
"typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" | |
} | |
}, | |
"id": 65, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2430:22:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"functionReturnParameters": 39, | |
"id": 66, | |
"nodeType": "Return", | |
"src": "2423:29:0" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 31, | |
"nodeType": "StructuredDocumentation", | |
"src": "939:775:0", | |
"text": " @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it." | |
}, | |
"id": 68, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "recover", | |
"nameLocation": "1728:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 36, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 33, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "1744:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 68, | |
"src": "1736:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 32, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "1736:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 35, | |
"mutability": "mutable", | |
"name": "signature", | |
"nameLocation": "1763:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 68, | |
"src": "1750:22:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 34, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "1750:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1735:38:0" | |
}, | |
"returnParameters": { | |
"id": 39, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 38, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 68, | |
"src": "1797:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 37, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1797:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1796:9:0" | |
}, | |
"scope": 402, | |
"src": "1719:740:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 124, | |
"nodeType": "Block", | |
"src": "2687:1320:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 88, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"arguments": [ | |
{ | |
"id": 85, | |
"name": "s", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 77, | |
"src": "3587:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 84, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "3579:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_uint256_$", | |
"typeString": "type(uint256)" | |
}, | |
"typeName": { | |
"id": 83, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3579:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 86, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3579:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"hexValue": "307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130", | |
"id": 87, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3593:66:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1", | |
"typeString": "int_const 5789...(69 digits omitted)...7168" | |
}, | |
"value": "0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0" | |
}, | |
"src": "3579:80:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c7565", | |
"id": 89, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3661:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", | |
"typeString": "literal_string \"ECDSA: invalid signature 's' value\"" | |
}, | |
"value": "ECDSA: invalid signature 's' value" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", | |
"typeString": "literal_string \"ECDSA: invalid signature 's' value\"" | |
} | |
], | |
"id": 82, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "3571:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 90, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3571:127:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 91, | |
"nodeType": "ExpressionStatement", | |
"src": "3571:127:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"id": 99, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"id": 95, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 93, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 73, | |
"src": "3716:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"hexValue": "3237", | |
"id": 94, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3721:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_27_by_1", | |
"typeString": "int_const 27" | |
}, | |
"value": "27" | |
}, | |
"src": "3716:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "||", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"id": 98, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 96, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 73, | |
"src": "3727:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"hexValue": "3238", | |
"id": 97, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3732:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_28_by_1", | |
"typeString": "int_const 28" | |
}, | |
"value": "28" | |
}, | |
"src": "3727:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "3716:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "45434453413a20696e76616c6964207369676e6174757265202776272076616c7565", | |
"id": 100, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3736:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", | |
"typeString": "literal_string \"ECDSA: invalid signature 'v' value\"" | |
}, | |
"value": "ECDSA: invalid signature 'v' value" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", | |
"typeString": "literal_string \"ECDSA: invalid signature 'v' value\"" | |
} | |
], | |
"id": 92, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "3708:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 101, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3708:65:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 102, | |
"nodeType": "ExpressionStatement", | |
"src": "3708:65:0" | |
}, | |
{ | |
"assignments": [ | |
104 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 104, | |
"mutability": "mutable", | |
"name": "signer", | |
"nameLocation": "3876:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 124, | |
"src": "3868:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 103, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "3868:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 111, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"id": 106, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 71, | |
"src": "3895:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 107, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 73, | |
"src": "3901:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
{ | |
"id": 108, | |
"name": "r", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 75, | |
"src": "3904:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 109, | |
"name": "s", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 77, | |
"src": "3907:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 105, | |
"name": "ecrecover", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -6, | |
"src": "3885:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", | |
"typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" | |
} | |
}, | |
"id": 110, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3885:24:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "3868:41:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 118, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 113, | |
"name": "signer", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 104, | |
"src": "3927:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 116, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3945:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 115, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "3937:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 114, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "3937:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 117, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3937:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "3927:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "45434453413a20696e76616c6964207369676e6174757265", | |
"id": 119, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3949:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", | |
"typeString": "literal_string \"ECDSA: invalid signature\"" | |
}, | |
"value": "ECDSA: invalid signature" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", | |
"typeString": "literal_string \"ECDSA: invalid signature\"" | |
} | |
], | |
"id": 112, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "3919:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 120, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3919:57:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 121, | |
"nodeType": "ExpressionStatement", | |
"src": "3919:57:0" | |
}, | |
{ | |
"expression": { | |
"id": 122, | |
"name": "signer", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 104, | |
"src": "3994:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"functionReturnParameters": 81, | |
"id": 123, | |
"nodeType": "Return", | |
"src": "3987:13:0" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 69, | |
"nodeType": "StructuredDocumentation", | |
"src": "2466:122:0", | |
"text": " @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately." | |
}, | |
"id": 125, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "recover", | |
"nameLocation": "2602:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 78, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 71, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "2618:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2610:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 70, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2610:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 73, | |
"mutability": "mutable", | |
"name": "v", | |
"nameLocation": "2630:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2624:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 72, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "2624:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 75, | |
"mutability": "mutable", | |
"name": "r", | |
"nameLocation": "2641:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2633:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 74, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2633:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 77, | |
"mutability": "mutable", | |
"name": "s", | |
"nameLocation": "2652:1:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2644:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 76, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2644:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2609:45:0" | |
}, | |
"returnParameters": { | |
"id": 81, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 80, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 125, | |
"src": "2678:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 79, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2678:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2677:9:0" | |
}, | |
"scope": 402, | |
"src": "2593:1414:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 166, | |
"nodeType": "Block", | |
"src": "4100:373:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 136, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 133, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4131:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 134, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "4131:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 135, | |
"name": "_stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 129, | |
"src": "4144:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint128", | |
"typeString": "uint128" | |
} | |
}, | |
"src": "4131:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722068617320746f20706173732061737365742076616c756520657175616c20746f207365636f6e6420706172616d65746572206f662074686520636f6e7374727563746f7220287374616b6529", | |
"id": 137, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4164:83:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"typeString": "literal_string \"user has to pass asset value equal to second parameter of the constructor (stake)\"" | |
}, | |
"value": "user has to pass asset value equal to second parameter of the constructor (stake)" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"typeString": "literal_string \"user has to pass asset value equal to second parameter of the constructor (stake)\"" | |
} | |
], | |
"id": 132, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4110:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 138, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4110:147:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 139, | |
"nodeType": "ExpressionStatement", | |
"src": "4110:147:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 146, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 141, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "4275:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 144, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4301:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 143, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4293:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 142, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4293:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 145, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4293:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "4275:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365724f6e65416464726573732063616e277420626520616c726561647920736574", | |
"id": 147, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4305:37:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19", | |
"typeString": "literal_string \"userOneAddress can't be already set\"" | |
}, | |
"value": "userOneAddress can't be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_8c5519475aef189254d7f70e3c511a5755434a489823c240386312610ff0ed19", | |
"typeString": "literal_string \"userOneAddress can't be already set\"" | |
} | |
], | |
"id": 140, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4267:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 148, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4267:76:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 149, | |
"nodeType": "ExpressionStatement", | |
"src": "4267:76:0" | |
}, | |
{ | |
"expression": { | |
"id": 152, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 150, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "4353:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 151, | |
"name": "_stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 129, | |
"src": "4361:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint128", | |
"typeString": "uint128" | |
} | |
}, | |
"src": "4353:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 153, | |
"nodeType": "ExpressionStatement", | |
"src": "4353:14:0" | |
}, | |
{ | |
"expression": { | |
"id": 160, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 154, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "4377:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 157, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4402:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 158, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "4402:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 156, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4394:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_payable_$", | |
"typeString": "type(address payable)" | |
}, | |
"typeName": { | |
"id": 155, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4394:8:0", | |
"stateMutability": "payable", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 159, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4394:19:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "4377:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 161, | |
"nodeType": "ExpressionStatement", | |
"src": "4377:36:0" | |
}, | |
{ | |
"expression": { | |
"id": 164, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 162, | |
"name": "userOneSignedChoiceHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "4423:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes storage ref" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 163, | |
"name": "_signedChoiceHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 127, | |
"src": "4449:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
"src": "4423:43:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes storage ref" | |
} | |
}, | |
"id": 165, | |
"nodeType": "ExpressionStatement", | |
"src": "4423:43:0" | |
} | |
] | |
}, | |
"functionSelector": "ef3022df", | |
"id": 167, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "depositUserOne", | |
"nameLocation": "4022:14:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 130, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 127, | |
"mutability": "mutable", | |
"name": "_signedChoiceHash", | |
"nameLocation": "4050:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 167, | |
"src": "4037:30:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 126, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "4037:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 129, | |
"mutability": "mutable", | |
"name": "_stake", | |
"nameLocation": "4077:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 167, | |
"src": "4069:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint128", | |
"typeString": "uint128" | |
}, | |
"typeName": { | |
"id": 128, | |
"name": "uint128", | |
"nodeType": "ElementaryTypeName", | |
"src": "4069:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint128", | |
"typeString": "uint128" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "4036:48:0" | |
}, | |
"returnParameters": { | |
"id": 131, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4100:0:0" | |
}, | |
"scope": 402, | |
"src": "4013:460:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 225, | |
"nodeType": "Block", | |
"src": "4531:568:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 176, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 173, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4562:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 174, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "4562:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 175, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 13, | |
"src": "4575:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "4562:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722068617320746f20706173732061737365742076616c756520657175616c20746f207365636f6e6420706172616d65746572206f662074686520636f6e7374727563746f7220287374616b6529", | |
"id": 177, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4594:83:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"typeString": "literal_string \"user has to pass asset value equal to second parameter of the constructor (stake)\"" | |
}, | |
"value": "user has to pass asset value equal to second parameter of the constructor (stake)" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"typeString": "literal_string \"user has to pass asset value equal to second parameter of the constructor (stake)\"" | |
} | |
], | |
"id": 172, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4541:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 178, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4541:146:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 179, | |
"nodeType": "ExpressionStatement", | |
"src": "4541:146:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 186, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 181, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "4705:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 184, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4731:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 183, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4723:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 182, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4723:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 185, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4723:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "4705:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365724f6e65416464726573732068617320746f20626520616c726561647920736574", | |
"id": 187, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4735:38:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
}, | |
"value": "userOneAddress has to be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
} | |
], | |
"id": 180, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4697:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 188, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4697:77:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 189, | |
"nodeType": "ExpressionStatement", | |
"src": "4697:77:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 196, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 191, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "4792:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 194, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4818:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 193, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4810:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 192, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4810:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 195, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4810:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "4792:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7573657254776f416464726573732063616e277420626520616c726561647920736574", | |
"id": 197, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4822:37:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b", | |
"typeString": "literal_string \"userTwoAddress can't be already set\"" | |
}, | |
"value": "userTwoAddress can't be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b", | |
"typeString": "literal_string \"userTwoAddress can't be already set\"" | |
} | |
], | |
"id": 190, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4784:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 198, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4784:76:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 199, | |
"nodeType": "ExpressionStatement", | |
"src": "4784:76:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 204, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 201, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "4878:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"expression": { | |
"id": 202, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4896:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 203, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "4896:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "4878:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7573657254776f416464726573732068617320746f206469666665722066726f6d20757365724f6e6541646472657373", | |
"id": 205, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4908:50:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57", | |
"typeString": "literal_string \"userTwoAddress has to differ from userOneAddress\"" | |
}, | |
"value": "userTwoAddress has to differ from userOneAddress" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57", | |
"typeString": "literal_string \"userTwoAddress has to differ from userOneAddress\"" | |
} | |
], | |
"id": 200, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "4870:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 206, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4870:89:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 207, | |
"nodeType": "ExpressionStatement", | |
"src": "4870:89:0" | |
}, | |
{ | |
"expression": { | |
"id": 214, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 208, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "4970:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 211, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "4995:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 212, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "4995:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 210, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4987:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_payable_$", | |
"typeString": "type(address payable)" | |
}, | |
"typeName": { | |
"id": 209, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4987:8:0", | |
"stateMutability": "payable", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 213, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4987:19:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "4970:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 215, | |
"nodeType": "ExpressionStatement", | |
"src": "4970:36:0" | |
}, | |
{ | |
"expression": { | |
"id": 218, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 216, | |
"name": "userTwoChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 9, | |
"src": "5016:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 217, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 169, | |
"src": "5032:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "5016:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 219, | |
"nodeType": "ExpressionStatement", | |
"src": "5016:22:0" | |
}, | |
{ | |
"expression": { | |
"id": 223, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 220, | |
"name": "userTwoChoiceSubmittedTime", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 11, | |
"src": "5048:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 221, | |
"name": "block", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -4, | |
"src": "5077:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_block", | |
"typeString": "block" | |
} | |
}, | |
"id": 222, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "timestamp", | |
"nodeType": "MemberAccess", | |
"src": "5077:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "5048:44:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 224, | |
"nodeType": "ExpressionStatement", | |
"src": "5048:44:0" | |
} | |
] | |
}, | |
"functionSelector": "f9846e1f", | |
"id": 226, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "depositUserTwo", | |
"nameLocation": "4488:14:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 170, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 169, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "4508:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 226, | |
"src": "4503:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 168, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "4503:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "4502:13:0" | |
}, | |
"returnParameters": { | |
"id": 171, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4531:0:0" | |
}, | |
"scope": 402, | |
"src": "4479:620:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 274, | |
"nodeType": "Block", | |
"src": "5191:574:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 241, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 236, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "5209:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 239, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5235:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 238, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "5227:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 237, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "5227:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 240, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5227:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "5209:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365724f6e65416464726573732068617320746f20626520616c726561647920736574", | |
"id": 242, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5239:38:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
}, | |
"value": "userOneAddress has to be already set" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_e5183f739b3ef3d1de82903e344efb3a1a419a0ca78e7466076b9d4b83b369de", | |
"typeString": "literal_string \"userOneAddress has to be already set\"" | |
} | |
], | |
"id": 235, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "5201:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 243, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5201:77:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 244, | |
"nodeType": "ExpressionStatement", | |
"src": "5201:77:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 251, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 246, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 7, | |
"src": "5309:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 249, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5335:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
} | |
], | |
"id": 248, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "5327:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 247, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "5327:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 250, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5327:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "5309:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722074776f20616464726573732068617320746f20626520736574206265666f726520646973747269627574696e67207072697a65", | |
"id": 252, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5351:58:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"typeString": "literal_string \"user two address has to be set before distributing prize\"" | |
}, | |
"value": "user two address has to be set before distributing prize" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"typeString": "literal_string \"user two address has to be set before distributing prize\"" | |
} | |
], | |
"id": 245, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "5288:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 253, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "5288:131:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 254, | |
"nodeType": "ExpressionStatement", | |
"src": "5288:131:0" | |
}, | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment