Created
April 13, 2021 16:19
-
-
Save e00dan/282610d5d34aca64d7d991a68805ca6a to your computer and use it in GitHub Desktop.
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": [], | |
"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\":[],\"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\":\"0x26e0f95a320f6693460aca479b9c6ddfed1d7371cd54fea5ee78d82e8425edb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9dc0c738ea46e23bd82c6745924b0189bda226fdddcb3654e90cd06700916e2\",\"dweb:/ipfs/QmNpRp6LctHnDn1aoSQq4VBgRRHN4CgmBidpnEEhJywT4z\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x752ac2a89da774de5c98f8ca1adcad306ce00d0ebb547ad7be8ba7e95468aa73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d684ee425c1b73399887ee6776e45686067b2ed1a20717df71cda6be5406c82\",\"dweb:/ipfs/QmQhfMHrfNYMiHhtNqh95qD55sh4hTed9drMxCVW38CYEA\"]}},\"version\":1}", | |
"bytecode": "0x608060405234801561001057600080fd5b50611b62806100206000396000f3fe6080604052600436106100a75760003560e01c80637fb1d0dd116100645780637fb1d0dd146101c057806390bddff0146101eb578063b5e23d1814610228578063b70d2ee814610232578063d536ac951461025d578063f9846e1f1461029a576100a7565b8063258ae582146100ac5780633a4b66f1146100e95780634212259e146101145780635e157d1f1461013f57806370dea79a1461016a578063711aa39b14610195575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190610ea7565b6102b6565b6040516100e091906111df565b60405180910390f35b3480156100f557600080fd5b506100fe6102d2565b60405161010b9190611412565b60405180910390f35b34801561012057600080fd5b506101296102d8565b6040516101369190611412565b60405180910390f35b34801561014b57600080fd5b506101546102de565b6040516101619190611290565b60405180910390f35b34801561017657600080fd5b5061017f61036c565b60405161018c9190611215565b60405180910390f35b3480156101a157600080fd5b506101aa610520565b6040516101b791906111fa565b60405180910390f35b3480156101cc57600080fd5b506101d5610544565b6040516101e291906111fa565b60405180910390f35b3480156101f757600080fd5b50610212600480360381019061020d9190610e53565b61056a565b60405161021f9190611230565b60405180910390f35b61023061059d565b005b34801561023e57600080fd5b506102476105e6565b6040516102549190611215565b60405180910390f35b34801561026957600080fd5b50610284600480360381019061027f9190610e53565b6105f9565b6040516102919190611215565b60405180910390f35b6102b460048036038101906102af9190610e2a565b61081a565b005b60006102ca6102c4846109e3565b83610a13565b905092915050565b60045481565b60035481565b600180546102eb9061165a565b80601f01602080910402602001604051908101604052809291908181526020018280546103179061165a565b80156103645780601f1061033957610100808354040283529160200191610364565b820191906000526020600020905b81548152906001019060200180831161034757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156103ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f6906113b2565b60405180910390fd5b600454600261040e919061154d565b471461044f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610446906112f2565b60405180910390fd5b6201518060035461046091906114f7565b4210156104a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610499906113f2565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60045460026104ed919061154d565b9081150290604051600060405180830381858888f19350505050158015610518573d6000803e3d6000fd5b506001905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000828260405160200161057f929190611191565b60405160208183030381529060405280519060200120905092915050565b34600481905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260149054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561068c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610683906113b2565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107606106d0858561056a565b600180546106dd9061165a565b80601f01602080910402602001604051908101604052809291908181526020018280546107099061165a565b80156107565780601f1061072b57610100808354040283529160200191610756565b820191906000526020600020905b81548152906001019060200180831161073957829003601f168201915b50505050506102b6565b73ffffffffffffffffffffffffffffffffffffffff16146107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90611372565b60405180910390fd5b60045460026107c5919061154d565b4714610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd906112f2565b60405180910390fd5b61080f83610a8d565b506001905092915050565b600454341461085e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610855906113d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e690611392565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561097e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097590611312565b60405180910390fd5b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260146101000a81548160ff0219169083151502179055504260038190555050565b6000816040516020016109f691906111b9565b604051602081830303815290604052805190602001209050919050565b60006041825114610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a50906112d2565b60405180910390fd5b60008060006020850151925060408501519150606085015160001a9050610a8286828585610ba5565b935050505092915050565b6000811515600260149054906101000a900460ff1615151415610b2657600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004546002610af5919061154d565b9081150290604051600060405180830381858888f19350505050158015610b20573d6000803e3d6000fd5b50610b9c565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004546002610b6f919061154d565b9081150290604051600060405180830381858888f19350505050158015610b9a573d6000803e3d6000fd5b505b60019050919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0490611332565b60405180910390fd5b601b8460ff161480610c225750601c8460ff16145b610c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5890611352565b60405180910390fd5b600060018686868660405160008152602001604052604051610c86949392919061124b565b6020604051602081039080840390855afa158015610ca8573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b906112b2565b60405180910390fd5b80915050949350505050565b6000610d43610d3e84611452565b61142d565b905082815260208101848484011115610d5b57600080fd5b610d66848285611618565b509392505050565b6000610d81610d7c84611483565b61142d565b905082815260208101848484011115610d9957600080fd5b610da4848285611618565b509392505050565b600081359050610dbb81611afe565b92915050565b600081359050610dd081611b15565b92915050565b600082601f830112610de757600080fd5b8135610df7848260208601610d30565b91505092915050565b600082601f830112610e1157600080fd5b8135610e21848260208601610d6e565b91505092915050565b600060208284031215610e3c57600080fd5b6000610e4a84828501610dac565b91505092915050565b60008060408385031215610e6657600080fd5b6000610e7485828601610dac565b925050602083013567ffffffffffffffff811115610e9157600080fd5b610e9d85828601610e00565b9150509250929050565b60008060408385031215610eba57600080fd5b6000610ec885828601610dc1565b925050602083013567ffffffffffffffff811115610ee557600080fd5b610ef185828601610dd6565b9150509250929050565b610f04816115b9565b82525050565b610f13816115a7565b82525050565b610f22816115cb565b82525050565b610f39610f34826115cb565b6116bd565b82525050565b610f48816115d7565b82525050565b610f5f610f5a826115d7565b6116cf565b82525050565b6000610f70826114b4565b610f7a81856114ca565b9350610f8a818560208601611627565b610f9381611778565b840191505092915050565b6000610fa9826114bf565b610fb381856114ec565b9350610fc3818560208601611627565b80840191505092915050565b6000610fdc6018836114db565b9150610fe782611796565b602082019050919050565b6000610fff601f836114db565b915061100a826117bf565b602082019050919050565b6000611022601c836114ec565b915061102d826117e8565b601c82019050919050565b60006110456028836114db565b915061105082611811565b604082019050919050565b60006110686030836114db565b915061107382611860565b604082019050919050565b600061108b6022836114db565b9150611096826118af565b604082019050919050565b60006110ae6022836114db565b91506110b9826118fe565b604082019050919050565b60006110d16022836114db565b91506110dc8261194d565b604082019050919050565b60006110f46023836114db565b91506110ff8261199c565b604082019050919050565b60006111176038836114db565b9150611122826119eb565b604082019050919050565b600061113a6051836114db565b915061114582611a3a565b606082019050919050565b600061115d6034836114db565b915061116882611aaf565b604082019050919050565b61117c81611601565b82525050565b61118b8161160b565b82525050565b600061119d8285610f28565b6001820191506111ad8284610f9e565b91508190509392505050565b60006111c482611015565b91506111d08284610f4e565b60208201915081905092915050565b60006020820190506111f46000830184610f0a565b92915050565b600060208201905061120f6000830184610efb565b92915050565b600060208201905061122a6000830184610f19565b92915050565b60006020820190506112456000830184610f3f565b92915050565b60006080820190506112606000830187610f3f565b61126d6020830186611182565b61127a6040830185610f3f565b6112876060830184610f3f565b95945050505050565b600060208201905081810360008301526112aa8184610f65565b905092915050565b600060208201905081810360008301526112cb81610fcf565b9050919050565b600060208201905081810360008301526112eb81610ff2565b9050919050565b6000602082019050818103600083015261130b81611038565b9050919050565b6000602082019050818103600083015261132b8161105b565b9050919050565b6000602082019050818103600083015261134b8161107e565b9050919050565b6000602082019050818103600083015261136b816110a1565b9050919050565b6000602082019050818103600083015261138b816110c4565b9050919050565b600060208201905081810360008301526113ab816110e7565b9050919050565b600060208201905081810360008301526113cb8161110a565b9050919050565b600060208201905081810360008301526113eb8161112d565b9050919050565b6000602082019050818103600083015261140b81611150565b9050919050565b60006020820190506114276000830184611173565b92915050565b6000611437611448565b9050611443828261168c565b919050565b6000604051905090565b600067ffffffffffffffff82111561146d5761146c611749565b5b61147682611778565b9050602081019050919050565b600067ffffffffffffffff82111561149e5761149d611749565b5b6114a782611778565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061150282611601565b915061150d83611601565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611542576115416116eb565b5b828201905092915050565b600061155882611601565b915061156383611601565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561159c5761159b6116eb565b5b828202905092915050565b60006115b2826115e1565b9050919050565b60006115c4826115e1565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561164557808201518184015260208101905061162a565b83811115611654576000848401525b50505050565b6000600282049050600182168061167257607f821691505b602082108114156116865761168561171a565b5b50919050565b61169582611778565b810181811067ffffffffffffffff821117156116b4576116b3611749565b5b80604052505050565b60006116c8826116d9565b9050919050565b6000819050919050565b60006116e482611789565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f7072697a652068617320746f206265206e6f74206265656e206469737472696260008201527f7574656420796574000000000000000000000000000000000000000000000000602082015250565b7f7573657254776f416464726573732068617320746f206469666665722066726f60008201527f6d20757365724f6e654164647265737300000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f63686f696365207369676e61747572652068617320746f20626520636f72726560008201527f6374000000000000000000000000000000000000000000000000000000000000602082015250565b7f7573657254776f416464726573732063616e277420626520616c72656164792060008201527f7365740000000000000000000000000000000000000000000000000000000000602082015250565b7f757365722074776f20616464726573732068617320746f20626520736574206260008201527f65666f726520646973747269627574696e67207072697a650000000000000000602082015250565b7f757365722068617320746f20706173732061737365742076616c75652065717560008201527f616c20746f207365636f6e6420706172616d65746572206f662074686520636f60208201527f6e7374727563746f7220287374616b6529000000000000000000000000000000604082015250565b7f323420686f757273206e65656420746f2070617373206265666f72652061626960008201527f6c69747920746f2063616c6c2074696d656f7574000000000000000000000000602082015250565b611b07816115cb565b8114611b1257600080fd5b50565b611b1e816115d7565b8114611b2957600080fd5b5056fea2646970667358221220db6d61b696b3da1ba5d1f02d1d90e68f895206125689fb2b219c95594430380864736f6c63430008030033", | |
"deployedBytecode": "0x6080604052600436106100a75760003560e01c80637fb1d0dd116100645780637fb1d0dd146101c057806390bddff0146101eb578063b5e23d1814610228578063b70d2ee814610232578063d536ac951461025d578063f9846e1f1461029a576100a7565b8063258ae582146100ac5780633a4b66f1146100e95780634212259e146101145780635e157d1f1461013f57806370dea79a1461016a578063711aa39b14610195575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190610ea7565b6102b6565b6040516100e091906111df565b60405180910390f35b3480156100f557600080fd5b506100fe6102d2565b60405161010b9190611412565b60405180910390f35b34801561012057600080fd5b506101296102d8565b6040516101369190611412565b60405180910390f35b34801561014b57600080fd5b506101546102de565b6040516101619190611290565b60405180910390f35b34801561017657600080fd5b5061017f61036c565b60405161018c9190611215565b60405180910390f35b3480156101a157600080fd5b506101aa610520565b6040516101b791906111fa565b60405180910390f35b3480156101cc57600080fd5b506101d5610544565b6040516101e291906111fa565b60405180910390f35b3480156101f757600080fd5b50610212600480360381019061020d9190610e53565b61056a565b60405161021f9190611230565b60405180910390f35b61023061059d565b005b34801561023e57600080fd5b506102476105e6565b6040516102549190611215565b60405180910390f35b34801561026957600080fd5b50610284600480360381019061027f9190610e53565b6105f9565b6040516102919190611215565b60405180910390f35b6102b460048036038101906102af9190610e2a565b61081a565b005b60006102ca6102c4846109e3565b83610a13565b905092915050565b60045481565b60035481565b600180546102eb9061165a565b80601f01602080910402602001604051908101604052809291908181526020018280546103179061165a565b80156103645780601f1061033957610100808354040283529160200191610364565b820191906000526020600020905b81548152906001019060200180831161034757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156103ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f6906113b2565b60405180910390fd5b600454600261040e919061154d565b471461044f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610446906112f2565b60405180910390fd5b6201518060035461046091906114f7565b4210156104a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610499906113f2565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60045460026104ed919061154d565b9081150290604051600060405180830381858888f19350505050158015610518573d6000803e3d6000fd5b506001905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000828260405160200161057f929190611191565b60405160208183030381529060405280519060200120905092915050565b34600481905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260149054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561068c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610683906113b2565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107606106d0858561056a565b600180546106dd9061165a565b80601f01602080910402602001604051908101604052809291908181526020018280546107099061165a565b80156107565780601f1061072b57610100808354040283529160200191610756565b820191906000526020600020905b81548152906001019060200180831161073957829003601f168201915b50505050506102b6565b73ffffffffffffffffffffffffffffffffffffffff16146107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90611372565b60405180910390fd5b60045460026107c5919061154d565b4714610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd906112f2565b60405180910390fd5b61080f83610a8d565b506001905092915050565b600454341461085e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610855906113d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e690611392565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561097e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097590611312565b60405180910390fd5b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260146101000a81548160ff0219169083151502179055504260038190555050565b6000816040516020016109f691906111b9565b604051602081830303815290604052805190602001209050919050565b60006041825114610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a50906112d2565b60405180910390fd5b60008060006020850151925060408501519150606085015160001a9050610a8286828585610ba5565b935050505092915050565b6000811515600260149054906101000a900460ff1615151415610b2657600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004546002610af5919061154d565b9081150290604051600060405180830381858888f19350505050158015610b20573d6000803e3d6000fd5b50610b9c565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004546002610b6f919061154d565b9081150290604051600060405180830381858888f19350505050158015610b9a573d6000803e3d6000fd5b505b60019050919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0490611332565b60405180910390fd5b601b8460ff161480610c225750601c8460ff16145b610c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5890611352565b60405180910390fd5b600060018686868660405160008152602001604052604051610c86949392919061124b565b6020604051602081039080840390855afa158015610ca8573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b906112b2565b60405180910390fd5b80915050949350505050565b6000610d43610d3e84611452565b61142d565b905082815260208101848484011115610d5b57600080fd5b610d66848285611618565b509392505050565b6000610d81610d7c84611483565b61142d565b905082815260208101848484011115610d9957600080fd5b610da4848285611618565b509392505050565b600081359050610dbb81611afe565b92915050565b600081359050610dd081611b15565b92915050565b600082601f830112610de757600080fd5b8135610df7848260208601610d30565b91505092915050565b600082601f830112610e1157600080fd5b8135610e21848260208601610d6e565b91505092915050565b600060208284031215610e3c57600080fd5b6000610e4a84828501610dac565b91505092915050565b60008060408385031215610e6657600080fd5b6000610e7485828601610dac565b925050602083013567ffffffffffffffff811115610e9157600080fd5b610e9d85828601610e00565b9150509250929050565b60008060408385031215610eba57600080fd5b6000610ec885828601610dc1565b925050602083013567ffffffffffffffff811115610ee557600080fd5b610ef185828601610dd6565b9150509250929050565b610f04816115b9565b82525050565b610f13816115a7565b82525050565b610f22816115cb565b82525050565b610f39610f34826115cb565b6116bd565b82525050565b610f48816115d7565b82525050565b610f5f610f5a826115d7565b6116cf565b82525050565b6000610f70826114b4565b610f7a81856114ca565b9350610f8a818560208601611627565b610f9381611778565b840191505092915050565b6000610fa9826114bf565b610fb381856114ec565b9350610fc3818560208601611627565b80840191505092915050565b6000610fdc6018836114db565b9150610fe782611796565b602082019050919050565b6000610fff601f836114db565b915061100a826117bf565b602082019050919050565b6000611022601c836114ec565b915061102d826117e8565b601c82019050919050565b60006110456028836114db565b915061105082611811565b604082019050919050565b60006110686030836114db565b915061107382611860565b604082019050919050565b600061108b6022836114db565b9150611096826118af565b604082019050919050565b60006110ae6022836114db565b91506110b9826118fe565b604082019050919050565b60006110d16022836114db565b91506110dc8261194d565b604082019050919050565b60006110f46023836114db565b91506110ff8261199c565b604082019050919050565b60006111176038836114db565b9150611122826119eb565b604082019050919050565b600061113a6051836114db565b915061114582611a3a565b606082019050919050565b600061115d6034836114db565b915061116882611aaf565b604082019050919050565b61117c81611601565b82525050565b61118b8161160b565b82525050565b600061119d8285610f28565b6001820191506111ad8284610f9e565b91508190509392505050565b60006111c482611015565b91506111d08284610f4e565b60208201915081905092915050565b60006020820190506111f46000830184610f0a565b92915050565b600060208201905061120f6000830184610efb565b92915050565b600060208201905061122a6000830184610f19565b92915050565b60006020820190506112456000830184610f3f565b92915050565b60006080820190506112606000830187610f3f565b61126d6020830186611182565b61127a6040830185610f3f565b6112876060830184610f3f565b95945050505050565b600060208201905081810360008301526112aa8184610f65565b905092915050565b600060208201905081810360008301526112cb81610fcf565b9050919050565b600060208201905081810360008301526112eb81610ff2565b9050919050565b6000602082019050818103600083015261130b81611038565b9050919050565b6000602082019050818103600083015261132b8161105b565b9050919050565b6000602082019050818103600083015261134b8161107e565b9050919050565b6000602082019050818103600083015261136b816110a1565b9050919050565b6000602082019050818103600083015261138b816110c4565b9050919050565b600060208201905081810360008301526113ab816110e7565b9050919050565b600060208201905081810360008301526113cb8161110a565b9050919050565b600060208201905081810360008301526113eb8161112d565b9050919050565b6000602082019050818103600083015261140b81611150565b9050919050565b60006020820190506114276000830184611173565b92915050565b6000611437611448565b9050611443828261168c565b919050565b6000604051905090565b600067ffffffffffffffff82111561146d5761146c611749565b5b61147682611778565b9050602081019050919050565b600067ffffffffffffffff82111561149e5761149d611749565b5b6114a782611778565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061150282611601565b915061150d83611601565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611542576115416116eb565b5b828201905092915050565b600061155882611601565b915061156383611601565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561159c5761159b6116eb565b5b828202905092915050565b60006115b2826115e1565b9050919050565b60006115c4826115e1565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561164557808201518184015260208101905061162a565b83811115611654576000848401525b50505050565b6000600282049050600182168061167257607f821691505b602082108114156116865761168561171a565b5b50919050565b61169582611778565b810181811067ffffffffffffffff821117156116b4576116b3611749565b5b80604052505050565b60006116c8826116d9565b9050919050565b6000819050919050565b60006116e482611789565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f7072697a652068617320746f206265206e6f74206265656e206469737472696260008201527f7574656420796574000000000000000000000000000000000000000000000000602082015250565b7f7573657254776f416464726573732068617320746f206469666665722066726f60008201527f6d20757365724f6e654164647265737300000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f63686f696365207369676e61747572652068617320746f20626520636f72726560008201527f6374000000000000000000000000000000000000000000000000000000000000602082015250565b7f7573657254776f416464726573732063616e277420626520616c72656164792060008201527f7365740000000000000000000000000000000000000000000000000000000000602082015250565b7f757365722074776f20616464726573732068617320746f20626520736574206260008201527f65666f726520646973747269627574696e67207072697a650000000000000000602082015250565b7f757365722068617320746f20706173732061737365742076616c75652065717560008201527f616c20746f207365636f6e6420706172616d65746572206f662074686520636f60208201527f6e7374727563746f7220287374616b6529000000000000000000000000000000604082015250565b7f323420686f757273206e65656420746f2070617373206265666f72652061626960008201527f6c69747920746f2063616c6c2074696d656f7574000000000000000000000000602082015250565b611b07816115cb565b8114611b1257600080fd5b50565b611b1e816115d7565b8114611b2957600080fd5b5056fea2646970667358221220db6d61b696b3da1ba5d1f02d1d90e68f895206125689fb2b219c95594430380864736f6c63430008030033", | |
"immutableReferences": {}, | |
"generatedSources": [], | |
"deployedGeneratedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:24913:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "90:260:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "100:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "166:6:2" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "125:40:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "125:48:2" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "109:15:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "109:65:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "100:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "190:5:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "197:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "183:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "183:21:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "183:21:2" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "213:27:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "228:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "235:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "224:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "224:16:2" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "217:3:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "278:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "287:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "290:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "280:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "280:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "280:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "259:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "264:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "255:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "255:16:2" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "273:3:2" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "252:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "252:25:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "249:2:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "327:3:2" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "332:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "337:6:2" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "303:23:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "303:41:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "303:41:2" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "63:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "68:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "76:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "84:5:2", | |
"type": "" | |
} | |
], | |
"src": "7:343:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "440:261:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "450:75:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "517:6:2" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "475:41:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "475:49:2" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "459:15:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "459:66:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "450:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "541:5:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "548:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "534:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "534:21:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "534:21:2" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "564:27:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "579:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "575:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "575:16:2" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "568:3:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "629:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "638:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "641:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "631:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "631:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "631:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "610:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "615:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "606:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "606:16:2" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "624:3:2" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "603:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "603:25:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "600:2:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "678:3:2" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "683:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "688:6:2" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "654:23:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "654:41:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "654:41:2" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "413:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "418:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "426:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "434:5:2", | |
"type": "" | |
} | |
], | |
"src": "356:345:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "756:84:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "766:29:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "788:6:2" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "775:12:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "775:20:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "766:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "828:5:2" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "804:23:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "804:30:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "804:30:2" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "734:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "742:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "750:5:2", | |
"type": "" | |
} | |
], | |
"src": "707:133:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "898:87:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "908:29:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "930:6:2" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "917:12:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "917:20:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "908:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "973:5:2" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "946:26:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "946:33:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "946:33:2" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "876:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "884:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "892:5:2", | |
"type": "" | |
} | |
], | |
"src": "846:139:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1065:210:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1114:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1123:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1126:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1116:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1116:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1116:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1093:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1101:4:2", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1089:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1089:17:2" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1108:3:2" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1085:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1085:27:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1078:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1078:35:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1075:2:2" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1139:34:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1166:6:2" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1153:12:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1153:20:2" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1143:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1182:87:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1242:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1250:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1238:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1238:17:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1257:6:2" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1265:3:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1191:46:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1191:78:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "1182:5:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1043:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1051:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "1059:5:2", | |
"type": "" | |
} | |
], | |
"src": "1004:271:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1357:211:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1406:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1415:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1418:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1408:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1408:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1408:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1385:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1393:4:2", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1381:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1381:17:2" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1400:3:2" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1377:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1377:27:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1370:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1370:35:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1367:2:2" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1431:34:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1458:6:2" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1445:12:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1445:20:2" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1435:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1474:88:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1535:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1543:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1531:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1531:17:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1550:6:2" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1558:3:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1483:47:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1483:79:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "1474:5:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1335:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1343:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "1351:5:2", | |
"type": "" | |
} | |
], | |
"src": "1295:273:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1637:193:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1683:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1692:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1695:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1685:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1685:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1685:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1658:7:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1667:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1654:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1654:23:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1679:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1650:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1650:32:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1647:2:2" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1709:114:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1724:15:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1738:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1728:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1753:60:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1785:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1796:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1781:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1781:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1805:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "1763:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1763:50:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1753:6:2" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1607:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1618:7:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1630:6:2", | |
"type": "" | |
} | |
], | |
"src": "1574:256:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1926:424:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1972:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1981:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1984:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1974:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1974:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1974:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1947:7:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1956:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1943:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1943:23:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1968:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1939:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1939:32:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1936:2:2" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1998:114:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2013:15:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2027:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2017:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2042:60:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2074:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2085:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2070:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2070:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2094:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "2052:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2052:50:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2042:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2122:221:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2137:46:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2168:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2179:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2164:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2164:18:2" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2151:12:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2151:32:2" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2141:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2230:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2239:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2242:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2232:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2232:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2232:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2202:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2210:18:2", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2199:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2199:30:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "2196:2:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2260:73:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2305:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2316:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2301:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2301:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2325:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2270:30:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2270:63:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2260:6:2" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_boolt_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1888:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1899:7:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1911:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1919:6:2", | |
"type": "" | |
} | |
], | |
"src": "1836:514:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2448:426:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2494:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2503:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2506:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2496:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2496:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2496:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2469:7:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2478:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2465:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2465:23:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2490:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2461:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2461:32:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "2458:2:2" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2520:117:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2535:15:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2549:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2539:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2564:63:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2599:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2610:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2595:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2595:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2619:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "2574:20:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2574:53:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2564:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2647:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2662:46:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2693:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2704:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2689:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2689:18:2" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2676:12:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2676:32:2" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2666:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2755:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2764:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2767:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2757:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2757:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2757:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2727:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2735:18:2", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2724:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2724:30:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "2721:2:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2785:72:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2829:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2840:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2825:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2825:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2849:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2795:29:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2795:62:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2785:6:2" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bytes32t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2410:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2421:7:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2433:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "2441:6:2", | |
"type": "" | |
} | |
], | |
"src": "2356:518:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2961:61:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2978:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3009:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "2983:25:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2983:32:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2971:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2971:45:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2971:45:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2949:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2956:3:2", | |
"type": "" | |
} | |
], | |
"src": "2880:142:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3093:53:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3110:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3133:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "3115:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3115:24:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3103:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3103:37:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3103:37:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3081:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3088:3:2", | |
"type": "" | |
} | |
], | |
"src": "3028:118:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3211:50:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3228:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3248:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "3233:14:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3233:21:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3221:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3221:34:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3221:34:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3199:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3206:3:2", | |
"type": "" | |
} | |
], | |
"src": "3152:109:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3344:68:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3361:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3398:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "3383:14:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3383:21:2" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "3366:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3366:39:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3354:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3354:52:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3354:52:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3332:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3339:3:2", | |
"type": "" | |
} | |
], | |
"src": "3267:145:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3483:53:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3500:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3523:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "3505:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3505:24:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3493:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3493:37:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3493:37:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3471:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3478:3:2", | |
"type": "" | |
} | |
], | |
"src": "3418:118:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3625:74:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3642:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3685:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "3667:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3667:24:2" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "3647:19:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3647:45:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3635:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3635:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3635:58:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3613:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3620:3:2", | |
"type": "" | |
} | |
], | |
"src": "3542:157:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3795:270:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3805:52:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3851:5:2" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3819:31:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3819:38:2" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3809:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3866:77:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3931:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3936:6:2" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3873:57:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3873:70:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3866:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3978:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3985:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3974:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3974:16:2" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3992:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3997:6:2" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "3952:21:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3952:52:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3952:52:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4013:46:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4024:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4051:6:2" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "4029:21:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4029:29:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4020:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4020:39:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4013:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3776:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3783:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3791:3:2", | |
"type": "" | |
} | |
], | |
"src": "3705:360:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4181:267:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4191:53:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4238:5:2" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "4205:32:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4205:39:2" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4195:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4253:96:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4337:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4342:6:2" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4260:76:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4260:89:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4253:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4384:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4391:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4380:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4380:16:2" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4398:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4403:6:2" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "4358:21:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4358:52:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4358:52:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4419:23:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4430:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4435:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4426:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4426:16:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4419:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4162:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4169:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4177:3:2", | |
"type": "" | |
} | |
], | |
"src": "4071:377:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4600:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4610:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4676:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4681:2:2", | |
"type": "", | |
"value": "24" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4617:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4617:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4610:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4782:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", | |
"nodeType": "YulIdentifier", | |
"src": "4693:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4693:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4693:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4795:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4806:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4811:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4802:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4802:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4795:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4588:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4596:3:2", | |
"type": "" | |
} | |
], | |
"src": "4454:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4972:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4982:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5048:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5053:2:2", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4989:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4989:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4982:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5154:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", | |
"nodeType": "YulIdentifier", | |
"src": "5065:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5065:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5065:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5167:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5178:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5183:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5174:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5174:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5167:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4960:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4968:3:2", | |
"type": "" | |
} | |
], | |
"src": "4826:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5362:238:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5372:92:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5456:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5461:2:2", | |
"type": "", | |
"value": "28" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5379:76:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5379:85:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5372:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5562:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", | |
"nodeType": "YulIdentifier", | |
"src": "5473:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5473:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5473:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5575:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5586:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5591:2:2", | |
"type": "", | |
"value": "28" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5582:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5582:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5575:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5350:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5358:3:2", | |
"type": "" | |
} | |
], | |
"src": "5198:402:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5752:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5762:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5828:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5833:2:2", | |
"type": "", | |
"value": "40" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5769:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5769:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5762:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5934:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2", | |
"nodeType": "YulIdentifier", | |
"src": "5845:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5845:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5845:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5947:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5958:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5963:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5954:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5954:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5947:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5740:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5748:3:2", | |
"type": "" | |
} | |
], | |
"src": "5606:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6124:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6134:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6200:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6205:2:2", | |
"type": "", | |
"value": "48" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6141:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6141:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6134:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6306:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57", | |
"nodeType": "YulIdentifier", | |
"src": "6217:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6217:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6217:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6319:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6330:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6335:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6326:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6326:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6319:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6112:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6120:3:2", | |
"type": "" | |
} | |
], | |
"src": "5978:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6496:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6506:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6572:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6577:2:2", | |
"type": "", | |
"value": "34" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6513:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6513:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6506:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6678:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", | |
"nodeType": "YulIdentifier", | |
"src": "6589:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6589:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6589:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6691:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6702:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6707:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6698:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6698:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6691:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6484:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6492:3:2", | |
"type": "" | |
} | |
], | |
"src": "6350:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6868:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6878:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6944:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6949:2:2", | |
"type": "", | |
"value": "34" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6885:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6885:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6878:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7050:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", | |
"nodeType": "YulIdentifier", | |
"src": "6961:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6961:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6961:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7063:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7074:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7079:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7070:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7070:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "7063:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6856:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6864:3:2", | |
"type": "" | |
} | |
], | |
"src": "6722:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7240:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7250:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7316:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7321:2:2", | |
"type": "", | |
"value": "34" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7257:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7257:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7250:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7422:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36", | |
"nodeType": "YulIdentifier", | |
"src": "7333:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7333:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7333:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7435:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7446:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7451:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7442:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7442:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "7435:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7228:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "7236:3:2", | |
"type": "" | |
} | |
], | |
"src": "7094:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7612:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7622:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7688:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7693:2:2", | |
"type": "", | |
"value": "35" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7629:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7629:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7622:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7794:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b", | |
"nodeType": "YulIdentifier", | |
"src": "7705:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7705:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7705:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7807:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7818:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7823:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7814:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7814:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "7807:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7600:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "7608:3:2", | |
"type": "" | |
} | |
], | |
"src": "7466:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7984:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7994:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8060:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8065:2:2", | |
"type": "", | |
"value": "56" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8001:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8001:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7994:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8166:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"nodeType": "YulIdentifier", | |
"src": "8077:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8077:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8077:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8179:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8190:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8195:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8186:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8186:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "8179:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7972:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "7980:3:2", | |
"type": "" | |
} | |
], | |
"src": "7838:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8356:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8366:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8432:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8437:2:2", | |
"type": "", | |
"value": "81" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8373:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8373:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8366:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8538:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"nodeType": "YulIdentifier", | |
"src": "8449:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8449:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8449:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8551:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8562:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8567:2:2", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8558:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8558:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "8551:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8344:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "8352:3:2", | |
"type": "" | |
} | |
], | |
"src": "8210:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8728:220:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8738:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8804:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8809:2:2", | |
"type": "", | |
"value": "52" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8745:58:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8745:67:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8738:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8910:3:2" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005", | |
"nodeType": "YulIdentifier", | |
"src": "8821:88:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8821:93:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8821:93:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8923:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8934:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8939:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8930:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8930:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "8923:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8716:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "8724:3:2", | |
"type": "" | |
} | |
], | |
"src": "8582:366:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9019:53:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9036:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "9059:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "9041:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9041:24:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9029:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9029:37:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9029:37:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "9007:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "9014:3:2", | |
"type": "" | |
} | |
], | |
"src": "8954:118:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9139:51:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9156:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "9177:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "9161:15:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9161:22:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9149:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9149:35:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9149:35:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint8_to_t_uint8_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "9127:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "9134:3:2", | |
"type": "" | |
} | |
], | |
"src": "9078:112:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9354:245:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "9421:6:2" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9430:3:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9365:55:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9365:69:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9365:69:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9443:18:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9454:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9459:1:2", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9450:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9450:11:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9443:3:2" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9471:102:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "9560:6:2" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9569:3:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9478:81:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9478:95:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9471:3:2" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9583:10:2", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9590:3:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "9583:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"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": "9325:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "9331:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "9339:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "9350:3:2", | |
"type": "" | |
} | |
], | |
"src": "9196:403:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9822:305:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9833:155:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9984:3:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9840:142:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9840:148:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9833:3:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10060:6:2" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10069:3:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9998:61:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9998:75:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9998:75:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10082:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10093:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10098:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10089:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10089:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10082:3:2" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10111:10:2", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10118:3:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "10111:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"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": "9801:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "9807:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "9818:3:2", | |
"type": "" | |
} | |
], | |
"src": "9605:522:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10231:124:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10241:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10253:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10264:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10249:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10249:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10241:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10321:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10334:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10345:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10330:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10330:17:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10277:43:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10277:71:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10277:71:2" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10203:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10215:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10226:4:2", | |
"type": "" | |
} | |
], | |
"src": "10133:222:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10475:140:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10485:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10497:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10508:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10493:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10493:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10485:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10581:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10594:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10605:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10590:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10590:17:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10521:59:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10521:87:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10521:87:2" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10447:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10459:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10470:4:2", | |
"type": "" | |
} | |
], | |
"src": "10361:254:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10713:118:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10723:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10735:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10746:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10731:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10731:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10723:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10797:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10810:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10821:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10806:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10806:17:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10759:37:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10759:65:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10759:65:2" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10685:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10697:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10708:4:2", | |
"type": "" | |
} | |
], | |
"src": "10621:210:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10935:124:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10945:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10957:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10968:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10953:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10953:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10945:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "11025:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11038:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11049:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11034:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11034:17:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10981:43:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10981:71:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10981:71:2" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10907:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10919:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10930:4:2", | |
"type": "" | |
} | |
], | |
"src": "10837:222:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11243:367:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11253:27:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11265:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11276:3:2", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11261:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11261:19:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11253:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "11334:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11347:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11358:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11343:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11343:17:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11290:43:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11290:71:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11290:71:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "11411:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11424:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11435:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11420:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11420:18:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint8_to_t_uint8_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11371:39:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11371:68:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11371:68:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "11493:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11506:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11517:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11502:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11502:18:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11449:43:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11449:72:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11449:72:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "11575:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11588:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11599:2:2", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11584:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11584:18:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11531:43:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11531:72:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11531:72:2" | |
} | |
] | |
}, | |
"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": "11191:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "11203:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "11211:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "11219:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "11227:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11238:4:2", | |
"type": "" | |
} | |
], | |
"src": "11065:545:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11732:193:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11742:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11754:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11765:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11750:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11750:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11742:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11789:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11800:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11785:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11785:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11808:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11814:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "11804:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11804:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11778:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11778:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11778:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11834:84:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "11904:6:2" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11913:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11842:61:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11842:76:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11834:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11704:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "11716:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11727:4:2", | |
"type": "" | |
} | |
], | |
"src": "11616:309:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12102:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12112:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12124:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12135:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12120:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12120:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12112:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12159:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12170:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12155:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12155:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12178:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12184:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "12174:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12174:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "12148:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12148:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12148:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12204:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12338:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12212:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12212:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12204:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12082:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12097:4:2", | |
"type": "" | |
} | |
], | |
"src": "11931:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12527:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12537:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12549:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12560:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12545:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12545:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12537:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12584:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12595:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12580:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12580:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12603:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12609:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "12599:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12599:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "12573:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12573:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12573:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12629:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12763:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12637:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12637:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12629:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12507:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12522:4:2", | |
"type": "" | |
} | |
], | |
"src": "12356:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12952:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12962:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12974:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12985:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12970:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12970:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12962:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13009:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13020:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13005:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13005:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13028:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13034:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "13024:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13024:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "12998:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12998:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12998:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13054:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13188:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13062:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13062:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13054:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12932:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12947:4:2", | |
"type": "" | |
} | |
], | |
"src": "12781:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13377:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13387:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13399:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13410:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13395:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13395:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13387:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13434:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13445:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13430:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13430:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13453:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13459:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "13449:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13449:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13423:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13423:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13423:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13479:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13613:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13487:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13487:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13479:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "13357:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "13372:4:2", | |
"type": "" | |
} | |
], | |
"src": "13206:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13802:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13812:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13824:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13835:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13820:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13820:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13812:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13859:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13870:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13855:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13855:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13878:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13884:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "13874:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13874:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13848:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13848:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13848:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13904:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14038:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13912:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13912:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13904:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "13782:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "13797:4:2", | |
"type": "" | |
} | |
], | |
"src": "13631:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14227:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14237:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14249:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14260:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14245:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14245:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14237:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14284:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14295:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14280:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14280:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14303:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14309:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14299:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14299:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14273:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14273:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14273:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14329:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14463:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14337:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14337:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14329:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "14207:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "14222:4:2", | |
"type": "" | |
} | |
], | |
"src": "14056:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14652:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14662:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14674:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14685:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14670:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14670:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14662:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14709:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14720:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14705:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14705:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14728:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14734:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14724:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14724:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14698:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14698:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14698:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14754:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14888:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14762:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14762:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14754:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "14632:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "14647:4:2", | |
"type": "" | |
} | |
], | |
"src": "14481:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15077:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15087:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15099:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15110:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15095:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15095:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15087:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15134:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15145:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15130:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15130:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15153:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15159:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "15149:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15149:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15123:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15123:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15123:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15179:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15313:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "15187:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15187:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15179:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "15057:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "15072:4:2", | |
"type": "" | |
} | |
], | |
"src": "14906:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15502:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15512:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15524:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15535:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15520:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15520:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15512:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15559:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15570:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15555:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15555:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15578:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15584:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "15574:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15574:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15548:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15548:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15548:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15604:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15738:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "15612:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15612:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15604:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "15482:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "15497:4:2", | |
"type": "" | |
} | |
], | |
"src": "15331:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15927:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15937:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15949:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15960:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15945:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15945:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15937:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15984:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15995:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15980:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15980:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16003:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16009:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "15999:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15999:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15973:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15973:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15973:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16029:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16163:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16037:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16037:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16029:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "15907:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "15922:4:2", | |
"type": "" | |
} | |
], | |
"src": "15756:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16352:248:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16362:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16374:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16385:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16370:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16370:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16362:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16409:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16420:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16405:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16405:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16428:4:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16434:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "16424:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16424:20:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16398:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16398:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16398:47:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16454:139:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16588:4:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16462:124:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16462:131:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16454:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "16332:9:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "16347:4:2", | |
"type": "" | |
} | |
], | |
"src": "16181:419:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16704:124:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16714:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16726:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16737:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16722:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16722:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16714:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "16794:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16807:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16818:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16803:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16803:17:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16750:43:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16750:71:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16750:71:2" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "16676:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "16688:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "16699:4:2", | |
"type": "" | |
} | |
], | |
"src": "16606:222:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16875:88:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16885:30:2", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nodeType": "YulIdentifier", | |
"src": "16895:18:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16895:20:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "16885:6:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "16944:6:2" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "16952:4:2" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nodeType": "YulIdentifier", | |
"src": "16924:19:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16924:33:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16924:33:2" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "16859:4:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "16868:6:2", | |
"type": "" | |
} | |
], | |
"src": "16834:129:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17009:35:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17019:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17035:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "17029:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17029:9:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "17019:6:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "17002:6:2", | |
"type": "" | |
} | |
], | |
"src": "16969:75:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17116:241:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17221:22:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "17223:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17223:18:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17223:18:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "17193:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17201:18:2", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "17190:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17190:30:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "17187:2:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17253:37:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "17283:6:2" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "17261:21:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17261:29:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "17253:4:2" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17327:23:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "17339:4:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17345:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17335:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17335:15:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "17327:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "17100:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "17111:4:2", | |
"type": "" | |
} | |
], | |
"src": "17050:307:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17430:241:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17535:22:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "17537:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17537:18:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17537:18:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "17507:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17515:18:2", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "17504:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17504:30:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "17501:2:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17567:37:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "17597:6:2" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "17575:21:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17575:29:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "17567:4:2" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17641:23:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "17653:4:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17659:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17649:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17649:15:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "17641:4:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "17414:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "17425:4:2", | |
"type": "" | |
} | |
], | |
"src": "17363:308:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17735:40:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17746:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "17762:5:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "17756:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17756:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "17746:6:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "17718:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "17728:6:2", | |
"type": "" | |
} | |
], | |
"src": "17677:98:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17840:40:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17851:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "17867:5:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "17861:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17861:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "17851:6:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "17823:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "17833:6:2", | |
"type": "" | |
} | |
], | |
"src": "17781:99:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17981:73:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "17998:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "18003:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17991:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17991:19:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17991:19:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18019:29:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "18038:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18043:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18034:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18034:14:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "18019:11:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "17953:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "17958:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "17969:11:2", | |
"type": "" | |
} | |
], | |
"src": "17886:168:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18156:73:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "18173:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "18178:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "18166:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18166:19:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18166:19:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18194:29:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "18213:3:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18218:4:2", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18209:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18209:14:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "18194:11:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "18128:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "18133:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "18144:11:2", | |
"type": "" | |
} | |
], | |
"src": "18060:169:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18349:34:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18359:18:2", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "18374:3:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "18359:11:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "18321:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "18326:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "18337:11:2", | |
"type": "" | |
} | |
], | |
"src": "18235:148:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18433:261:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18443:25:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "18466:1:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "18448:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18448:20:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "18443:1:2" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18477:25:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "18500:1:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "18482:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18482:20:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "18477:1:2" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18640:22:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "18642:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18642:18:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18642:18:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "18561:1:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18568:66:2", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "18636:1:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "18564:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18564:74:2" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "18558:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18558:81:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "18555:2:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18672:16:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "18683:1:2" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "18686:1:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18679:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18679:9:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "18672:3:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "18420:1:2", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "18423:1:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "18429:3:2", | |
"type": "" | |
} | |
], | |
"src": "18389:305:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18748:300:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18758:25:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "18781:1:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "18763:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18763:20:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "18758:1:2" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18792:25:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "18815:1:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "18797:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18797:20:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "18792:1:2" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18990:22:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "18992:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18992:18:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18992:18:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "18902:1:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "18895:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18895:9:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "18888:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18888:17:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "18910:1:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18917:66:2", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "18985:1:2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "18913:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18913:74:2" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "18907:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18907:81:2" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "18884:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18884:105:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "18881:2:2" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19022:20:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "19037:1:2" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "19040:1:2" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "19033:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19033:9:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "19022:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_mul_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "18731:1:2", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "18734:1:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "18740:7:2", | |
"type": "" | |
} | |
], | |
"src": "18700:348:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19099:51:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19109:35:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19138:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "19120:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19120:24:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "19109:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19081:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "19091:7:2", | |
"type": "" | |
} | |
], | |
"src": "19054:96:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19209:51:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19219:35:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19248:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "19230:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19230:24:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "19219:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19191:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "19201:7:2", | |
"type": "" | |
} | |
], | |
"src": "19156:104:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19308:48:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19318:32:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19343:5:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "19336:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19336:13:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "19329:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19329:21:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "19318:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19290:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "19300:7:2", | |
"type": "" | |
} | |
], | |
"src": "19266:90:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19407:32:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19417:16:2", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19428:5:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "19417:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19389:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "19399:7:2", | |
"type": "" | |
} | |
], | |
"src": "19362:77:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19490:81:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19500:65:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19515:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19522:42:2", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "19511:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19511:54:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "19500:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19472:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "19482:7:2", | |
"type": "" | |
} | |
], | |
"src": "19445:126:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19622:32:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19632:16:2", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19643:5:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "19632:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19604:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "19614:7:2", | |
"type": "" | |
} | |
], | |
"src": "19577:77:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19703:43:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19713:27:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19728:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19735:4:2", | |
"type": "", | |
"value": "0xff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "19724:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19724:16:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "19713:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19685:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "19695:7:2", | |
"type": "" | |
} | |
], | |
"src": "19660:86:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19803:103:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "19826:3:2" | |
}, | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "19831:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "19836:6:2" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nodeType": "YulIdentifier", | |
"src": "19813:12:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19813:30:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19813:30:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "19884:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "19889:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19880:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19880:16:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19898:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19873:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19873:27:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19873:27:2" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "19785:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "19790:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "19795:6:2", | |
"type": "" | |
} | |
], | |
"src": "19752:154:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19961:258:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "19971:10:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19980:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "19975:1:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20040:63:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "20065:3:2" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "20070:1:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20061:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20061:11:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "20084:3:2" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "20089:1:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20080:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20080:11:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "20074:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20074:18:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "20054:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20054:39:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20054:39:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "20001:1:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "20004:6:2" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "19998:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19998:13:2" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "20012:19:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20014:15:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "20023:1:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20026:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20019:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20019:10:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "20014:1:2" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "19994:3:2", | |
"statements": [] | |
}, | |
"src": "19990:113:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20137:76:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "20187:3:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "20192:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20183:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20183:16:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20201:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "20176:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20176:27:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20176:27:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "20118:1:2" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "20121:6:2" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "20115:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20115:13:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "20112:2:2" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "19943:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "19948:3:2", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "19953:6:2", | |
"type": "" | |
} | |
], | |
"src": "19912:307:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20276:269:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20286:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "20300:4:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20306:1:2", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "20296:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20296:12:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "20286:6:2" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "20317:38:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "20347:4:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20353:1:2", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "20343:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20343:12:2" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulTypedName", | |
"src": "20321:18:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20394:51:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20408:27:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "20422:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20430:4:2", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "20418:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20418:17:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "20408:6:2" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "20374:18:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "20367:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20367:26:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "20364:2:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20497:42:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nodeType": "YulIdentifier", | |
"src": "20511:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20511:18:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20511:18:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "20461:18:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "20484:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20492:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "20481:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20481:14:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "20458:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20458:38:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "20455:2:2" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "20260:4:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "20269:6:2", | |
"type": "" | |
} | |
], | |
"src": "20225:320:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20594:238:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "20604:58:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "20626:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "20656:4:2" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "20634:21:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20634:27:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20622:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20622:40:2" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulTypedName", | |
"src": "20608:10:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20773:22:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "20775:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20775:18:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20775:18:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "20716:10:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20728:18:2", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "20713:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20713:34:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "20752:10:2" | |
}, | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "20764:6:2" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "20749:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20749:22:2" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "20710:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20710:62:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "20707:2:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20811:2:2", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "20815:10:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "20804:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20804:22:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20804:22:2" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "20580:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "20588:4:2", | |
"type": "" | |
} | |
], | |
"src": "20551:281:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20882:51:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20892:35:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20921:5:2" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "20903:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20903:24:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "20892:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20864:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "20874:7:2", | |
"type": "" | |
} | |
], | |
"src": "20838:95:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20986:32:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20996:16:2", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21007:5:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "20996:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20968:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "20978:7:2", | |
"type": "" | |
} | |
], | |
"src": "20939:79:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21069:48:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21079:32:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21105:5:2" | |
} | |
], | |
"functionName": { | |
"name": "shift_left_248", | |
"nodeType": "YulIdentifier", | |
"src": "21090:14:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21090:21:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "21079:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "21051:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "21061:7:2", | |
"type": "" | |
} | |
], | |
"src": "21024:93:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21151:152:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21168:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21171:77:2", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21161:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21161:88:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21161:88:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21265:1:2", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21268:4:2", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21258:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21258:15:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21258:15:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21289:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21292:4:2", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "21282:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21282:15:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21282:15:2" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "21123:180:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21337:152:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21354:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21357:77:2", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21347:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21347:88:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21347:88:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21451:1:2", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21454:4:2", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21444:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21444:15:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21444:15:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21475:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21478:4:2", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "21468:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21468:15:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21468:15:2" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nodeType": "YulFunctionDefinition", | |
"src": "21309:180:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21523:152:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21540:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21543:77:2", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21533:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21533:88:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21533:88:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21637:1:2", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21640:4:2", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21630:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21630:15:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21630:15:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21661:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21664:4:2", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "21654:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21654:15:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21654:15:2" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "21495:180:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21729:54:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21739:38:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21757:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21764:2:2", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21753:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21753:14:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21773:2:2", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "21769:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21769:7:2" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "21749:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21749:28:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "21739:6:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "21712:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "21722:6:2", | |
"type": "" | |
} | |
], | |
"src": "21681:102:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21832:53:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21842:36:2", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21867:3:2", | |
"type": "", | |
"value": "248" | |
}, | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21872:5:2" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "21863:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21863:15:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "newValue", | |
"nodeType": "YulIdentifier", | |
"src": "21842:8:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "shift_left_248", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "21813:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "newValue", | |
"nodeType": "YulTypedName", | |
"src": "21823:8:2", | |
"type": "" | |
} | |
], | |
"src": "21789:96:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21997:68:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22019:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22027:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22015:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22015:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "22031:26:2", | |
"type": "", | |
"value": "ECDSA: invalid signature" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22008:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22008:50:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22008:50:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "21989:6:2", | |
"type": "" | |
} | |
], | |
"src": "21891:174:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22177:75:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22199:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22207:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22195:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22195:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "22211:33:2", | |
"type": "", | |
"value": "ECDSA: invalid signature length" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22188:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22188:57:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22188:57:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "22169:6:2", | |
"type": "" | |
} | |
], | |
"src": "22071:181:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22364:108:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22386:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22394:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22382:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22382:14:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22398:66:2", | |
"type": "", | |
"value": "0x19457468657265756d205369676e6564204d6573736167653a0a333200000000" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22375:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22375:90:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22375:90:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "22356:6:2", | |
"type": "" | |
} | |
], | |
"src": "22258:214:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22584:121:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22606:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22614:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22602:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22602:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "22618:34:2", | |
"type": "", | |
"value": "prize has to be not been distrib" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22595:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22595:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22595:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22674:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22682:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22670:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22670:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "22687:10:2", | |
"type": "", | |
"value": "uted yet" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22663:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22663:35:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22663:35:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_322acca70e3875e3c4b10fd0cd9ec7e9b5c117ca4043d15c4ba87524317009f2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "22576:6:2", | |
"type": "" | |
} | |
], | |
"src": "22478:227:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22817:129:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22839:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22847:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22835:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22835:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "22851:34:2", | |
"type": "", | |
"value": "userTwoAddress has to differ fro" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22828:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22828:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22828:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "22907:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22915:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22903:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22903:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "22920:18:2", | |
"type": "", | |
"value": "m userOneAddress" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22896:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22896:43:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22896:43:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_4db16271a417e227ff672f09cb9b37f9d1e9d855fdc768fd0495249cf2ec5d57", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "22809:6:2", | |
"type": "" | |
} | |
], | |
"src": "22711:235:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23058:115:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23080:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23088:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23076:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23076:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23092:34:2", | |
"type": "", | |
"value": "ECDSA: invalid signature 's' val" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23069:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23069:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23069:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23148:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23156:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23144:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23144:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23161:4:2", | |
"type": "", | |
"value": "ue" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23137:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23137:29:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23137:29:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "23050:6:2", | |
"type": "" | |
} | |
], | |
"src": "22952:221:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23285:115:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23307:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23315:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23303:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23303:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23319:34:2", | |
"type": "", | |
"value": "ECDSA: invalid signature 'v' val" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23296:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23296:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23296:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23375:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23383:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23371:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23371:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23388:4:2", | |
"type": "", | |
"value": "ue" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23364:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23364:29:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23364:29:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "23277:6:2", | |
"type": "" | |
} | |
], | |
"src": "23179:221:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23512:115:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23534:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23542:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23530:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23530:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23546:34:2", | |
"type": "", | |
"value": "choice signature has to be corre" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23523:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23523:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23523:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23602:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23610:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23598:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23598:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23615:4:2", | |
"type": "", | |
"value": "ct" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23591:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23591:29:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23591:29:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "23504:6:2", | |
"type": "" | |
} | |
], | |
"src": "23406:221:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23739:116:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23761:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23769:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23757:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23757:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23773:34:2", | |
"type": "", | |
"value": "userTwoAddress can't be already " | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23750:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23750:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23750:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23829:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23837:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23825:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23825:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "23842:5:2", | |
"type": "", | |
"value": "set" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23818:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23818:30:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23818:30:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_950172b5b902333cf9ac6777057618d901a2c928210dc88f99152eb761cd2b8b", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "23731:6:2", | |
"type": "" | |
} | |
], | |
"src": "23633:222:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23967:137:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "23989:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23997:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23985:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23985:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24001:34:2", | |
"type": "", | |
"value": "user two address has to be set b" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23978:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23978:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23978:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24057:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24065:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24053:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24053:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24070:26:2", | |
"type": "", | |
"value": "efore distributing prize" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24046:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24046:51:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24046:51:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_99f12b07b1481506aae8c3ea836f5ef11a3ff9f1511c3020333e60bff19f8c55", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "23959:6:2", | |
"type": "" | |
} | |
], | |
"src": "23861:243:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24216:199:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24238:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24246:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24234:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24234:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24250:34:2", | |
"type": "", | |
"value": "user has to pass asset value equ" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24227:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24227:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24227:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24306:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24314:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24302:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24302:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24319:34:2", | |
"type": "", | |
"value": "al to second parameter of the co" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24295:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24295:59:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24295:59:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24375:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24383:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24371:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24371:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24388:19:2", | |
"type": "", | |
"value": "nstructor (stake)" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24364:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24364:44:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24364:44:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_b2c46552c2a7470d7794d34a6e00e0a45c20a709f14957fb694f0f143e8b5fc2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "24208:6:2", | |
"type": "" | |
} | |
], | |
"src": "24110:305:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24527:133:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24549:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24557:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24545:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24545:14:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24561:34:2", | |
"type": "", | |
"value": "24 hours need to pass before abi" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24538:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24538:58:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24538:58:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "24617:6:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24625:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "24613:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24613:15:2" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "24630:22:2", | |
"type": "", | |
"value": "lity to call timeout" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "24606:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24606:47:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24606:47:2" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_ffc0b621e75cb9c73f74624211b3bfc0ed05dc0d66bdc7308136a1407eac0005", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "24519:6:2", | |
"type": "" | |
} | |
], | |
"src": "24421:239:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24706:76:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24760:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24769:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24772:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "24762:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24762:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24762:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "24729:5:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "24751:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "24736:14:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24736:21:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "24726:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24726:32:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "24719:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24719:40:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "24716:2:2" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "24699:5:2", | |
"type": "" | |
} | |
], | |
"src": "24666:116:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24831:79:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "24888:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24897:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "24900:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "24890:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24890:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "24890:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "24854:5:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "24879:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "24861:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24861:24:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "24851:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24851:35:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "24844:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "24844:43:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "24841:2:2" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "24824:5:2", | |
"type": "" | |
} | |
], | |
"src": "24788:122:2" | |
} | |
] | |
}, | |
"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_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_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_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36(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_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_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36__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_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36_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_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_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_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36(memPtr) {\n\n mstore(add(memPtr, 0), \"choice signature has to be corre\")\n\n mstore(add(memPtr, 32), \"ct\")\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_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}\n", | |
"id": 2, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"sourceMap": "122:2922:0:-:0;;;;;;;;;;;;;;;;;;;", | |
"deployedSourceMap": "122:2922:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2438:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;351:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;306:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;189:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1982:450;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;146:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;232;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2612:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;724:248;;;:::i;:::-;;275:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1483:493;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;978:499;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2438:168;2513:7;2539:60;2553:34;2582:4;2553:28;:34::i;:::-;2589:9;2539:13;:60::i;:::-;2532:67;;2438:168;;;;:::o;351:20::-;;;;:::o;306:38::-;;;;:::o;189:36::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1982:450::-;2017:4;2067:1;2041:28;;:14;;;;;;;;;;;:28;;;;2033:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;2177:5;;2173:1;:9;;;;:::i;:::-;2148:21;:34;2140:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;2293:8;2264:26;;:37;;;;:::i;:::-;2245:15;:56;;2237:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;2369:14;;;;;;;;;;;:23;;:34;2397:5;;2393:1;:9;;;;:::i;:::-;2369:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:4;2414:11;;1982:450;:::o;146:37::-;;;;;;;;;;;;:::o;232:::-;;;;;;;;;;;;;:::o;2612:158::-;2694:7;2747:6;2755;2730:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2720:43;;;;;;2713:50;;2612:158;;;;:::o;724:248::-;910:9;902:5;:17;;;;954:10;929:14;;:36;;;;;;;;;;;;;;;;;;724:248::o;275:25::-;;;;;;;;;;;;;:::o;1483:493::-;1563:4;1613:1;1587:28;;:14;;;;;;;;;;;:28;;;;1579:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;1763:14;;;;;;;;;;1694:83;;:65;1701:32;1718:6;1726;1701:16;:32::i;:::-;1735:23;1694:65;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:6;:65::i;:::-;:83;;;1686:130;;;;;;;;;;;;:::i;:::-;;;;;;;;;1863:5;;1859:1;:9;;;;:::i;:::-;1834:21;:34;1826:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1924:23;1940:6;1924:15;:23::i;:::-;;1965:4;1958:11;;1483:493;;;;:::o;978:499::-;1061:5;;1048:9;:18;1040:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;1196:1;1170:28;;:14;;;;;;;;;;;:28;;;1162:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;1274:10;1256:28;;:14;;;;;;;;;;:28;;;;1248:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;1373:10;1348:14;;:36;;;;;;;;;;;;;;;;;;1410:6;1394:13;;:22;;;;;;;;;;;;;;;;;;1455:15;1426:26;:44;;;;978:499;:::o;3641:265:1:-;3710:7;3893:4;3840:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;3830:69;;;;;;3823:76;;3641:265;;;:::o;1064:740::-;1142:7;1223:2;1203:9;:16;:22;1199:94;;1241:41;;;;;;;;;;:::i;:::-;;;;;;;;1199:94;1359:9;1378;1397:7;1643:4;1632:9;1628:20;1622:27;1617:32;;1688:4;1677:9;1673:20;1667:27;1662:32;;1741:4;1730:9;1726:20;1720:27;1717:1;1712:36;1707:41;;1775:22;1783:4;1789:1;1792;1795;1775:7;:22::i;:::-;1768:29;;;;;1064:740;;;;:::o;2776:266:0:-;2838:4;2875:13;2858:30;;:13;;;;;;;;;;;:30;;;2854:160;;;2904:14;;;;;;;;;;;:23;;:34;2932:5;;2928:1;:9;;;;:::i;:::-;2904:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2854:160;;;2969:14;;;;;;;;;;:23;;:34;2997:5;;2993:1;:9;;;;:::i;:::-;2969:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2854:160;3031:4;3024:11;;2776:266;;;:::o;1937:1414:1:-;2022:7;2937:66;2931:1;2923:10;;:80;;2915:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;3065:2;3060:1;:7;;;:18;;;;3076:2;3071:1;:7;;;3060:18;3052:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3212:14;3229:24;3239:4;3245:1;3248;3251;3229:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3212:41;;3289:1;3271:20;;:6;:20;;;;3263:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3338:6;3331:13;;;1937:1414;;;;;;:::o;7:343:2:-;;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:256::-;;1679:2;1667:9;1658:7;1654:23;1650:32;1647:2;;;1695:1;1692;1685:12;1647:2;1738:1;1763:50;1805:7;1796:6;1785:9;1781:22;1763:50;:::i;:::-;1753:60;;1709:114;1637:193;;;;:::o;1836:514::-;;;1968:2;1956:9;1947:7;1943:23;1939:32;1936:2;;;1984:1;1981;1974:12;1936:2;2027:1;2052:50;2094:7;2085:6;2074:9;2070:22;2052:50;:::i;:::-;2042:60;;1998:114;2179:2;2168:9;2164:18;2151:32;2210:18;2202:6;2199:30;2196:2;;;2242:1;2239;2232:12;2196:2;2270:63;2325:7;2316:6;2305:9;2301:22;2270:63;:::i;:::-;2260:73;;2122:221;1926:424;;;;;:::o;2356:518::-;;;2490:2;2478:9;2469:7;2465:23;2461:32;2458:2;;;2506:1;2503;2496:12;2458:2;2549:1;2574:53;2619:7;2610:6;2599:9;2595:22;2574:53;:::i;:::-;2564:63;;2520:117;2704:2;2693:9;2689:18;2676:32;2735:18;2727:6;2724:30;2721:2;;;2767:1;2764;2757:12;2721:2;2795:62;2849:7;2840:6;2829:9;2825:22;2795:62;:::i;:::-;2785:72;;2647:220;2448:426;;;;;:::o;2880:142::-;2983:32;3009:5;2983:32;:::i;:::-;2978:3;2971:45;2961:61;;:::o;3028:118::-;3115:24;3133:5;3115:24;:::i;:::-;3110:3;3103:37;3093:53;;:::o;3152:109::-;3233:21;3248:5;3233:21;:::i;:::-;3228:3;3221:34;3211:50;;:::o;3267:145::-;3366:39;3383:21;3398:5;3383:21;:::i;:::-;3366:39;:::i;:::-;3361:3;3354:52;3344:68;;:::o;3418:118::-;3505:24;3523:5;3505:24;:::i;:::-;3500:3;3493:37;3483:53;;:::o;3542:157::-;3647:45;3667:24;3685:5;3667:24;:::i;:::-;3647:45;:::i;:::-;3642:3;3635:58;3625:74;;:::o;3705:360::-;;3819:38;3851:5;3819:38;:::i;:::-;3873:70;3936:6;3931:3;3873:70;:::i;:::-;3866:77;;3952:52;3997:6;3992:3;3985:4;3978:5;3974:16;3952:52;:::i;:::-;4029:29;4051:6;4029:29;:::i;:::-;4024:3;4020:39;4013:46;;3795:270;;;;;:::o;4071:377::-;;4205:39;4238:5;4205:39;:::i;:::-;4260:89;4342:6;4337:3;4260:89;:::i;:::-;4253:96;;4358:52;4403:6;4398:3;4391:4;4384:5;4380:16;4358:52;:::i;:::-;4435:6;4430:3;4426:16;4419:23;;4181:267;;;;;:::o;4454:366::-;;4617:67;4681:2;4676:3;4617:67;:::i;:::-;4610:74;;4693:93;4782:3;4693:93;:::i;:::-;4811:2;4806:3;4802:12;4795:19;;4600:220;;;:::o;4826:366::-;;4989:67;5053:2;5048:3;4989:67;:::i;:::-;4982:74;;5065:93;5154:3;5065:93;:::i;:::-;5183:2;5178:3;5174:12;5167:19;;4972:220;;;:::o;5198:402::-;;5379:85;5461:2;5456:3;5379:85;:::i;:::-;5372:92;;5473:93;5562:3;5473:93;:::i;:::-;5591:2;5586:3;5582:12;5575:19;;5362:238;;;:::o;5606:366::-;;5769:67;5833:2;5828:3;5769:67;:::i;:::-;5762:74;;5845:93;5934:3;5845:93;:::i;:::-;5963:2;5958:3;5954:12;5947:19;;5752:220;;;:::o;5978:366::-;;6141:67;6205:2;6200:3;6141:67;:::i;:::-;6134:74;;6217:93;6306:3;6217:93;:::i;:::-;6335:2;6330:3;6326:12;6319:19;;6124:220;;;:::o;6350:366::-;;6513:67;6577:2;6572:3;6513:67;:::i;:::-;6506:74;;6589:93;6678:3;6589:93;:::i;:::-;6707:2;6702:3;6698:12;6691:19;;6496:220;;;:::o;6722:366::-;;6885:67;6949:2;6944:3;6885:67;:::i;:::-;6878:74;;6961:93;7050:3;6961:93;:::i;:::-;7079:2;7074:3;7070:12;7063:19;;6868:220;;;:::o;7094:366::-;;7257:67;7321:2;7316:3;7257:67;:::i;:::-;7250:74;;7333:93;7422:3;7333:93;:::i;:::-;7451:2;7446:3;7442:12;7435:19;;7240:220;;;:::o;7466:366::-;;7629:67;7693:2;7688:3;7629:67;:::i;:::-;7622:74;;7705:93;7794:3;7705:93;:::i;:::-;7823:2;7818:3;7814:12;7807:19;;7612:220;;;:::o;7838:366::-;;8001:67;8065:2;8060:3;8001:67;:::i;:::-;7994:74;;8077:93;8166:3;8077:93;:::i;:::-;8195:2;8190:3;8186:12;8179:19;;7984:220;;;:::o;8210:366::-;;8373:67;8437:2;8432:3;8373:67;:::i;:::-;8366:74;;8449:93;8538:3;8449:93;:::i;:::-;8567:2;8562:3;8558:12;8551:19;;8356:220;;;:::o;8582:366::-;;8745:67;8809:2;8804:3;8745:67;:::i;:::-;8738:74;;8821:93;8910:3;8821:93;:::i;:::-;8939:2;8934:3;8930:12;8923:19;;8728:220;;;:::o;8954:118::-;9041:24;9059:5;9041:24;:::i;:::-;9036:3;9029:37;9019:53;;:::o;9078:112::-;9161:22;9177:5;9161:22;:::i;:::-;9156:3;9149:35;9139:51;;:::o;9196:403::-;;9365:69;9430:3;9421:6;9365:69;:::i;:::-;9459:1;9454:3;9450:11;9443:18;;9478:95;9569:3;9560:6;9478:95;:::i;:::-;9471:102;;9590:3;9583:10;;9354:245;;;;;:::o;9605:522::-;;9840:148;9984:3;9840:148;:::i;:::-;9833:155;;9998:75;10069:3;10060:6;9998:75;:::i;:::-;10098:2;10093:3;10089:12;10082:19;;10118:3;10111:10;;9822:305;;;;:::o;10133:222::-;;10264:2;10253:9;10249:18;10241:26;;10277:71;10345:1;10334:9;10330:17;10321:6;10277:71;:::i;:::-;10231:124;;;;:::o;10361:254::-;;10508:2;10497:9;10493:18;10485:26;;10521:87;10605:1;10594:9;10590:17;10581:6;10521:87;:::i;:::-;10475:140;;;;:::o;10621:210::-;;10746:2;10735:9;10731:18;10723:26;;10759:65;10821:1;10810:9;10806:17;10797:6;10759:65;:::i;:::-;10713:118;;;;:::o;10837:222::-;;10968:2;10957:9;10953:18;10945:26;;10981:71;11049:1;11038:9;11034:17;11025:6;10981:71;:::i;:::-;10935:124;;;;:::o;11065:545::-;;11276:3;11265:9;11261:19;11253:27;;11290:71;11358:1;11347:9;11343:17;11334:6;11290:71;:::i;:::-;11371:68;11435:2;11424:9;11420:18;11411:6;11371:68;:::i;:::-;11449:72;11517:2;11506:9;11502:18;11493:6;11449:72;:::i;:::-;11531;11599:2;11588:9;11584:18;11575:6;11531:72;:::i;:::-;11243:367;;;;;;;:::o;11616:309::-;;11765:2;11754:9;11750:18;11742:26;;11814:9;11808:4;11804:20;11800:1;11789:9;11785:17;11778:47;11842:76;11913:4;11904:6;11842:76;:::i;:::-;11834:84;;11732:193;;;;:::o;11931:419::-;;12135:2;12124:9;12120:18;12112:26;;12184:9;12178:4;12174:20;12170:1;12159:9;12155:17;12148:47;12212:131;12338:4;12212:131;:::i;:::-;12204:139;;12102:248;;;:::o;12356:419::-;;12560:2;12549:9;12545:18;12537:26;;12609:9;12603:4;12599:20;12595:1;12584:9;12580:17;12573:47;12637:131;12763:4;12637:131;:::i;:::-;12629:139;;12527:248;;;:::o;12781:419::-;;12985:2;12974:9;12970:18;12962:26;;13034:9;13028:4;13024:20;13020:1;13009:9;13005:17;12998:47;13062:131;13188:4;13062:131;:::i;:::-;13054:139;;12952:248;;;:::o;13206:419::-;;13410:2;13399:9;13395:18;13387:26;;13459:9;13453:4;13449:20;13445:1;13434:9;13430:17;13423:47;13487:131;13613:4;13487:131;:::i;:::-;13479:139;;13377:248;;;:::o;13631:419::-;;13835:2;13824:9;13820:18;13812:26;;13884:9;13878:4;13874:20;13870:1;13859:9;13855:17;13848:47;13912:131;14038:4;13912:131;:::i;:::-;13904:139;;13802:248;;;:::o;14056:419::-;;14260:2;14249:9;14245:18;14237:26;;14309:9;14303:4;14299:20;14295:1;14284:9;14280:17;14273:47;14337:131;14463:4;14337:131;:::i;:::-;14329:139;;14227:248;;;:::o;14481:419::-;;14685:2;14674:9;14670:18;14662:26;;14734:9;14728:4;14724:20;14720:1;14709:9;14705:17;14698:47;14762:131;14888:4;14762:131;:::i;:::-;14754:139;;14652:248;;;:::o;14906:419::-;;15110:2;15099:9;15095:18;15087:26;;15159:9;15153:4;15149:20;15145:1;15134:9;15130:17;15123:47;15187:131;15313:4;15187:131;:::i;:::-;15179:139;;15077:248;;;:::o;15331:419::-;;15535:2;15524:9;15520:18;15512:26;;15584:9;15578:4;15574:20;15570:1;15559:9;15555:17;15548:47;15612:131;15738:4;15612:131;:::i;:::-;15604:139;;15502:248;;;:::o;15756:419::-;;15960:2;15949:9;15945:18;15937:26;;16009:9;16003:4;15999:20;15995:1;15984:9;15980:17;15973:47;16037:131;16163:4;16037:131;:::i;:::-;16029:139;;15927:248;;;:::o;16181:419::-;;16385:2;16374:9;16370:18;16362:26;;16434:9;16428:4;16424:20;16420:1;16409:9;16405:17;16398:47;16462:131;16588:4;16462:131;:::i;:::-;16454:139;;16352:248;;;:::o;16606:222::-;;16737:2;16726:9;16722:18;16714:26;;16750:71;16818:1;16807:9;16803:17;16794:6;16750:71;:::i;:::-;16704:124;;;;:::o;16834:129::-;;16895:20;;:::i;:::-;16885:30;;16924:33;16952:4;16944:6;16924:33;:::i;:::-;16875:88;;;:::o;16969:75::-;;17035:2;17029:9;17019:19;;17009:35;:::o;17050:307::-;;17201:18;17193:6;17190:30;17187:2;;;17223:18;;:::i;:::-;17187:2;17261:29;17283:6;17261:29;:::i;:::-;17253:37;;17345:4;17339;17335:15;17327:23;;17116:241;;;:::o;17363:308::-;;17515:18;17507:6;17504:30;17501:2;;;17537:18;;:::i;:::-;17501:2;17575:29;17597:6;17575:29;:::i;:::-;17567:37;;17659:4;17653;17649:15;17641:23;;17430:241;;;:::o;17677:98::-;;17762:5;17756:12;17746:22;;17735:40;;;:::o;17781:99::-;;17867:5;17861:12;17851:22;;17840:40;;;:::o;17886:168::-;;18003:6;17998:3;17991:19;18043:4;18038:3;18034:14;18019:29;;17981:73;;;;:::o;18060:169::-;;18178:6;18173:3;18166:19;18218:4;18213:3;18209:14;18194:29;;18156:73;;;;:::o;18235:148::-;;18374:3;18359:18;;18349:34;;;;:::o;18389:305::-;;18448:20;18466:1;18448:20;:::i;:::-;18443:25;;18482:20;18500:1;18482:20;:::i;:::-;18477:25;;18636:1;18568:66;18564:74;18561:1;18558:81;18555:2;;;18642:18;;:::i;:::-;18555:2;18686:1;18683;18679:9;18672:16;;18433:261;;;;:::o;18700:348::-;;18763:20;18781:1;18763:20;:::i;:::-;18758:25;;18797:20;18815:1;18797:20;:::i;:::-;18792:25;;18985:1;18917:66;18913:74;18910:1;18907:81;18902:1;18895:9;18888:17;18884:105;18881:2;;;18992:18;;:::i;:::-;18881:2;19040:1;19037;19033:9;19022:20;;18748:300;;;;:::o;19054:96::-;;19120:24;19138:5;19120:24;:::i;:::-;19109:35;;19099:51;;;:::o;19156:104::-;;19230:24;19248:5;19230:24;:::i;:::-;19219:35;;19209:51;;;:::o;19266:90::-;;19343:5;19336:13;19329:21;19318:32;;19308:48;;;:::o;19362:77::-;;19428:5;19417:16;;19407:32;;;:::o;19445:126::-;;19522:42;19515:5;19511:54;19500:65;;19490:81;;;:::o;19577:77::-;;19643:5;19632:16;;19622:32;;;:::o;19660:86::-;;19735:4;19728:5;19724:16;19713:27;;19703:43;;;:::o;19752:154::-;19836:6;19831:3;19826;19813:30;19898:1;19889:6;19884:3;19880:16;19873:27;19803:103;;;:::o;19912:307::-;19980:1;19990:113;20004:6;20001:1;19998:13;19990:113;;;20089:1;20084:3;20080:11;20074:18;20070:1;20065:3;20061:11;20054:39;20026:2;20023:1;20019:10;20014:15;;19990:113;;;20121:6;20118:1;20115:13;20112:2;;;20201:1;20192:6;20187:3;20183:16;20176:27;20112:2;19961:258;;;;:::o;20225:320::-;;20306:1;20300:4;20296:12;20286:22;;20353:1;20347:4;20343:12;20374:18;20364:2;;20430:4;20422:6;20418:17;20408:27;;20364:2;20492;20484:6;20481:14;20461:18;20458:38;20455:2;;;20511:18;;:::i;:::-;20455:2;20276:269;;;;:::o;20551:281::-;20634:27;20656:4;20634:27;:::i;:::-;20626:6;20622:40;20764:6;20752:10;20749:22;20728:18;20716:10;20713:34;20710:62;20707:2;;;20775:18;;:::i;:::-;20707:2;20815:10;20811:2;20804:22;20594:238;;;:::o;20838:95::-;;20903:24;20921:5;20903:24;:::i;:::-;20892:35;;20882:51;;;:::o;20939:79::-;;21007:5;20996:16;;20986:32;;;:::o;21024:93::-;;21090:21;21105:5;21090:21;:::i;:::-;21079:32;;21069:48;;;:::o;21123:180::-;21171:77;21168:1;21161:88;21268:4;21265:1;21258:15;21292:4;21289:1;21282:15;21309:180;21357:77;21354:1;21347:88;21454:4;21451:1;21444:15;21478:4;21475:1;21468:15;21495:180;21543:77;21540:1;21533:88;21640:4;21637:1;21630:15;21664:4;21661:1;21654:15;21681:102;;21773:2;21769:7;21764:2;21757:5;21753:14;21749:28;21739:38;;21729:54;;;:::o;21789:96::-;;21872:5;21867:3;21863:15;21842:36;;21832:53;;;:::o;21891:174::-;22031:26;22027:1;22019:6;22015:14;22008:50;21997:68;:::o;22071:181::-;22211:33;22207:1;22199:6;22195:14;22188:57;22177:75;:::o;22258:214::-;22398:66;22394:1;22386:6;22382:14;22375:90;22364:108;:::o;22478:227::-;22618:34;22614:1;22606:6;22602:14;22595:58;22687:10;22682:2;22674:6;22670:15;22663:35;22584:121;:::o;22711:235::-;22851:34;22847:1;22839:6;22835:14;22828:58;22920:18;22915:2;22907:6;22903:15;22896:43;22817:129;:::o;22952:221::-;23092:34;23088:1;23080:6;23076:14;23069:58;23161:4;23156:2;23148:6;23144:15;23137:29;23058:115;:::o;23179:221::-;23319:34;23315:1;23307:6;23303:14;23296:58;23388:4;23383:2;23375:6;23371:15;23364:29;23285:115;:::o;23406:221::-;23546:34;23542:1;23534:6;23530:14;23523:58;23615:4;23610:2;23602:6;23598:15;23591:29;23512:115;:::o;23633:222::-;23773:34;23769:1;23761:6;23757:14;23750:58;23842:5;23837:2;23829:6;23825:15;23818:30;23739:116;:::o;23861:243::-;24001:34;23997:1;23989:6;23985:14;23978:58;24070:26;24065:2;24057:6;24053:15;24046:51;23967:137;:::o;24110:305::-;24250:34;24246:1;24238:6;24234:14;24227:58;24319:34;24314:2;24306:6;24302:15;24295:59;24388:19;24383:2;24375:6;24371:15;24364:44;24216:199;:::o;24421:239::-;24561:34;24557:1;24549:6;24545:14;24538:58;24630:22;24625:2;24617:6;24613:15;24606:47;24527:133;:::o;24666:116::-;24736:21;24751:5;24736:21;:::i;:::-;24729:5;24726:32;24716:2;;24772:1;24769;24762:12;24716:2;24706:76;:::o;24788:122::-;24861:24;24879:5;24861:24;:::i;:::-;24854:5;24851:35;24841:2;;24900:1;24897;24890:12;24841:2;24831:79;:::o", | |
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"@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 uint public userTwoChoiceSubmittedTime;\n\n uint256 public stake;\n\n // constructor(bytes memory _signedChoiceHash, uint128 _stake) payable {\n // require(msg.value == _stake, \"user has to pass asset value equal to second parameter of the constructor (stake)\");\n\n // stake = _stake;\n // userOneAddress = payable(msg.sender);\n // userOneSignedChoiceHash = _signedChoiceHash;\n // }\n\n function depositUserOne() public payable {\n // require(msg.value == _stake, \"user has to pass asset value equal to second parameter of the constructor (stake)\");\n\n stake = msg.value;\n userOneAddress = payable(msg.sender);\n }\n\n function depositUserTwo(bool choice) public payable {\n require(msg.value == stake, \"user has to pass asset value equal to second parameter of the constructor (stake)\");\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(userTwoAddress != address(0), \"user two address has to be set before distributing prize\");\n require(verify(createChoiceHash(choice, secret), userOneSignedChoiceHash) == userOneAddress, \"choice signature has to be correct\");\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(userTwoAddress != address(0), \"user two address has to be set before distributing prize\");\n require(address(this).balance == 2 * stake, \"prize has to be not been distributed yet\");\n require(block.timestamp >= userTwoChoiceSubmittedTime + 24 hours, \"24 hours need to pass before ability to call timeout\");\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 ECDSA.recover(ECDSA.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": { | |
"ECDSA": [ | |
387 | |
], | |
"HeadTail": [ | |
251 | |
] | |
}, | |
"id": 252, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "33:23:0" | |
}, | |
{ | |
"absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", | |
"file": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", | |
"id": 2, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 252, | |
"sourceUnit": 388, | |
"src": "58:62:0", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 251, | |
"linearizedBaseContracts": [ | |
251 | |
], | |
"name": "HeadTail", | |
"nameLocation": "131:8:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "711aa39b", | |
"id": 4, | |
"mutability": "mutable", | |
"name": "userOneAddress", | |
"nameLocation": "169:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "146:37:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 3, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "146:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "5e157d1f", | |
"id": 6, | |
"mutability": "mutable", | |
"name": "userOneSignedChoiceHash", | |
"nameLocation": "202:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "189:36:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 5, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "189:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "7fb1d0dd", | |
"id": 8, | |
"mutability": "mutable", | |
"name": "userTwoAddress", | |
"nameLocation": "255:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "232:37:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 7, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "232:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b70d2ee8", | |
"id": 10, | |
"mutability": "mutable", | |
"name": "userTwoChoice", | |
"nameLocation": "287:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "275:25:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 9, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "275:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "4212259e", | |
"id": 12, | |
"mutability": "mutable", | |
"name": "userTwoChoiceSubmittedTime", | |
"nameLocation": "318:26:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "306:38:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 11, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "306:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "3a4b66f1", | |
"id": 14, | |
"mutability": "mutable", | |
"name": "stake", | |
"nameLocation": "366:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "351:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 13, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "351:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 30, | |
"nodeType": "Block", | |
"src": "765:207:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 20, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 17, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "902:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 18, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "910:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 19, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "910:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "902:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 21, | |
"nodeType": "ExpressionStatement", | |
"src": "902:17:0" | |
}, | |
{ | |
"expression": { | |
"id": 28, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 22, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "929:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 25, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "954:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 26, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "954:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 24, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "946:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_payable_$", | |
"typeString": "type(address payable)" | |
}, | |
"typeName": { | |
"id": 23, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "946:8:0", | |
"stateMutability": "payable", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 27, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "946:19:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "929:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 29, | |
"nodeType": "ExpressionStatement", | |
"src": "929:36:0" | |
} | |
] | |
}, | |
"functionSelector": "b5e23d18", | |
"id": 31, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "depositUserOne", | |
"nameLocation": "733:14:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "747:2:0" | |
}, | |
"returnParameters": { | |
"id": 16, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "765:0:0" | |
}, | |
"scope": 251, | |
"src": "724:248:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 79, | |
"nodeType": "Block", | |
"src": "1030:447:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 40, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 37, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "1048:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 38, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "1048:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 39, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "1061:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1048:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722068617320746f20706173732061737365742076616c756520657175616c20746f207365636f6e6420706172616d65746572206f662074686520636f6e7374727563746f7220287374616b6529", | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1068: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": 36, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1040:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1040:112:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 43, | |
"nodeType": "ExpressionStatement", | |
"src": "1040:112:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 50, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 45, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "1170:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 48, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1196: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": 47, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1188:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 46, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1188:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 49, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1188:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "1170:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7573657254776f416464726573732063616e277420626520616c726561647920736574", | |
"id": 51, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1200: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": 44, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1162:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 52, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1162:76:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 53, | |
"nodeType": "ExpressionStatement", | |
"src": "1162:76:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 58, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 55, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "1256:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"expression": { | |
"id": 56, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "1274:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 57, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "1274:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "1256:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7573657254776f416464726573732068617320746f206469666665722066726f6d20757365724f6e6541646472657373", | |
"id": 59, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1286: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": 54, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1248:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 60, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1248:89:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 61, | |
"nodeType": "ExpressionStatement", | |
"src": "1248:89:0" | |
}, | |
{ | |
"expression": { | |
"id": 68, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 62, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "1348:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 65, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "1373:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 66, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "1373:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 64, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1365:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_payable_$", | |
"typeString": "type(address payable)" | |
}, | |
"typeName": { | |
"id": 63, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1365:8:0", | |
"stateMutability": "payable", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 67, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1365:19:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "1348:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 69, | |
"nodeType": "ExpressionStatement", | |
"src": "1348:36:0" | |
}, | |
{ | |
"expression": { | |
"id": 72, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 70, | |
"name": "userTwoChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 10, | |
"src": "1394:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 71, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 33, | |
"src": "1410:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "1394:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 73, | |
"nodeType": "ExpressionStatement", | |
"src": "1394:22:0" | |
}, | |
{ | |
"expression": { | |
"id": 77, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 74, | |
"name": "userTwoChoiceSubmittedTime", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 12, | |
"src": "1426:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 75, | |
"name": "block", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -4, | |
"src": "1455:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_block", | |
"typeString": "block" | |
} | |
}, | |
"id": 76, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "timestamp", | |
"nodeType": "MemberAccess", | |
"src": "1455:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1426:44:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 78, | |
"nodeType": "ExpressionStatement", | |
"src": "1426:44:0" | |
} | |
] | |
}, | |
"functionSelector": "f9846e1f", | |
"id": 80, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "depositUserTwo", | |
"nameLocation": "987:14:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 34, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 33, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "1007:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 80, | |
"src": "1002:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 32, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1002:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1001:13:0" | |
}, | |
"returnParameters": { | |
"id": 35, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1030:0:0" | |
}, | |
"scope": 251, | |
"src": "978:499:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 131, | |
"nodeType": "Block", | |
"src": "1569:407:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 95, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 90, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "1587:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 93, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1613: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": 92, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1605:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 91, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1605:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 94, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1605:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "1587:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722074776f20616464726573732068617320746f20626520736574206265666f726520646973747269627574696e67207072697a65", | |
"id": 96, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1617: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": 89, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1579:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 97, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1579:97:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 98, | |
"nodeType": "ExpressionStatement", | |
"src": "1579:97:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 108, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 102, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 82, | |
"src": "1718:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"id": 103, | |
"name": "secret", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 84, | |
"src": "1726: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" | |
} | |
], | |
"id": 101, | |
"name": "createChoiceHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 218, | |
"src": "1701:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$_t_bytes32_$", | |
"typeString": "function (bool,string memory) pure returns (bytes32)" | |
} | |
}, | |
"id": 104, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1701:32:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 105, | |
"name": "userOneSignedChoiceHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 6, | |
"src": "1735:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes storage ref" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes storage ref" | |
} | |
], | |
"id": 100, | |
"name": "verify", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 200, | |
"src": "1694:6: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": 106, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1694:65:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 107, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "1763:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "1694:83:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "63686f696365207369676e61747572652068617320746f20626520636f7272656374", | |
"id": 109, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1779:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36", | |
"typeString": "literal_string \"choice signature has to be correct\"" | |
}, | |
"value": "choice signature has to be correct" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36", | |
"typeString": "literal_string \"choice signature has to be correct\"" | |
} | |
], | |
"id": 99, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1686:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 110, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1686:130:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 111, | |
"nodeType": "ExpressionStatement", | |
"src": "1686:130:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 121, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 115, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -28, | |
"src": "1842:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_HeadTail_$251", | |
"typeString": "contract HeadTail" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_HeadTail_$251", | |
"typeString": "contract HeadTail" | |
} | |
], | |
"id": 114, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1834:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 113, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1834:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 116, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1834:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 117, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "balance", | |
"nodeType": "MemberAccess", | |
"src": "1834:21:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 120, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 118, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1859:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 119, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "1863:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1859:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1834:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7072697a652068617320746f206265206e6f74206265656e20646973747269627574656420796574", | |
"id": 122, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1870: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": 112, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1826:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 123, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1826:87:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 124, | |
"nodeType": "ExpressionStatement", | |
"src": "1826:87:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 126, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 82, | |
"src": "1940:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
], | |
"id": 125, | |
"name": "distributePrize", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 250, | |
"src": "1924:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$_t_bool_$", | |
"typeString": "function (bool) returns (bool)" | |
} | |
}, | |
"id": 127, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1924:23:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 128, | |
"nodeType": "ExpressionStatement", | |
"src": "1924:23:0" | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 129, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1965:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 88, | |
"id": 130, | |
"nodeType": "Return", | |
"src": "1958:11:0" | |
} | |
] | |
}, | |
"functionSelector": "d536ac95", | |
"id": 132, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "revealUserOneChoice", | |
"nameLocation": "1492:19:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 85, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 82, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "1517:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 132, | |
"src": "1512:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 81, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1512:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 84, | |
"mutability": "mutable", | |
"name": "secret", | |
"nameLocation": "1539:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 132, | |
"src": "1525:20:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 83, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "1525:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1511:35:0" | |
}, | |
"returnParameters": { | |
"id": 88, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 87, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 132, | |
"src": "1563:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 86, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1563:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1562:6:0" | |
}, | |
"scope": 251, | |
"src": "1483:493:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 180, | |
"nodeType": "Block", | |
"src": "2023:409:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 143, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 138, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "2041:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 141, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2067: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": 140, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "2059:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 139, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2059:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 142, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2059:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "2041:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722074776f20616464726573732068617320746f20626520736574206265666f726520646973747269627574696e67207072697a65", | |
"id": 144, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2071: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": 137, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "2033:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 145, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2033:97:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 146, | |
"nodeType": "ExpressionStatement", | |
"src": "2033:97:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 156, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 150, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -28, | |
"src": "2156:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_HeadTail_$251", | |
"typeString": "contract HeadTail" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_HeadTail_$251", | |
"typeString": "contract HeadTail" | |
} | |
], | |
"id": 149, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "2148:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 148, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2148:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 151, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2148:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 152, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "balance", | |
"nodeType": "MemberAccess", | |
"src": "2148:21:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 155, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 153, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2173:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 154, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2177:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2173:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2148:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7072697a652068617320746f206265206e6f74206265656e20646973747269627574656420796574", | |
"id": 157, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2184: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": 147, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "2140:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 158, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2140:87:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 159, | |
"nodeType": "ExpressionStatement", | |
"src": "2140:87:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 166, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 161, | |
"name": "block", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -4, | |
"src": "2245:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_block", | |
"typeString": "block" | |
} | |
}, | |
"id": 162, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "timestamp", | |
"nodeType": "MemberAccess", | |
"src": "2245:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">=", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 165, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 163, | |
"name": "userTwoChoiceSubmittedTime", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 12, | |
"src": "2264:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"hexValue": "3234", | |
"id": 164, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2293:8:0", | |
"subdenomination": "hours", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_86400_by_1", | |
"typeString": "int_const 86400" | |
}, | |
"value": "24" | |
}, | |
"src": "2264:37:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2245:56:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "323420686f757273206e65656420746f2070617373206265666f7265206162696c69747920746f2063616c6c2074696d656f7574", | |
"id": 167, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2303: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": 160, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "2237:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 168, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2237:121:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 169, | |
"nodeType": "ExpressionStatement", | |
"src": "2237:121:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 175, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 173, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2393:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 174, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2397:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2393:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 170, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "2369:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 172, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "2369:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 176, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2369:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 177, | |
"nodeType": "ExpressionStatement", | |
"src": "2369:34:0" | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 178, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2421:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 136, | |
"id": 179, | |
"nodeType": "Return", | |
"src": "2414:11:0" | |
} | |
] | |
}, | |
"functionSelector": "70dea79a", | |
"id": 181, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "timeout", | |
"nameLocation": "1991:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 133, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1998:2:0" | |
}, | |
"returnParameters": { | |
"id": 136, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 135, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 181, | |
"src": "2017:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 134, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2017:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2016:6:0" | |
}, | |
"scope": 251, | |
"src": "1982:450:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 199, | |
"nodeType": "Block", | |
"src": "2522:84:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 194, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 183, | |
"src": "2582:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"expression": { | |
"id": 192, | |
"name": "ECDSA", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 387, | |
"src": "2553:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_contract$_ECDSA_$387_$", | |
"typeString": "type(library ECDSA)" | |
} | |
}, | |
"id": 193, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "toEthSignedMessageHash", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 366, | |
"src": "2553:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", | |
"typeString": "function (bytes32) pure returns (bytes32)" | |
} | |
}, | |
"id": 195, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2553:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 196, | |
"name": "signature", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 185, | |
"src": "2589: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" | |
} | |
], | |
"expression": { | |
"id": 190, | |
"name": "ECDSA", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 387, | |
"src": "2539:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_contract$_ECDSA_$387_$", | |
"typeString": "type(library ECDSA)" | |
} | |
}, | |
"id": 191, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "recover", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 292, | |
"src": "2539:13: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": 197, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2539:60:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"functionReturnParameters": 189, | |
"id": 198, | |
"nodeType": "Return", | |
"src": "2532:67:0" | |
} | |
] | |
}, | |
"functionSelector": "258ae582", | |
"id": 200, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "verify", | |
"nameLocation": "2447:6:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 186, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 183, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "2462:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 200, | |
"src": "2454:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 182, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2454:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 185, | |
"mutability": "mutable", | |
"name": "signature", | |
"nameLocation": "2481:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 200, | |
"src": "2468:22:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 184, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "2468:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2453:38:0" | |
}, | |
"returnParameters": { | |
"id": 189, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 188, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 200, | |
"src": "2513:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 187, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2513:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2512:9:0" | |
}, | |
"scope": 251, | |
"src": "2438:168:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 217, | |
"nodeType": "Block", | |
"src": "2703:67:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 212, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 202, | |
"src": "2747:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"id": 213, | |
"name": "secret", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 204, | |
"src": "2755: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": 210, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -1, | |
"src": "2730:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 211, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodePacked", | |
"nodeType": "MemberAccess", | |
"src": "2730:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function () pure returns (bytes memory)" | |
} | |
}, | |
"id": 214, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2730:32:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 209, | |
"name": "keccak256", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -8, | |
"src": "2720:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", | |
"typeString": "function (bytes memory) pure returns (bytes32)" | |
} | |
}, | |
"id": 215, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2720:43:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"functionReturnParameters": 208, | |
"id": 216, | |
"nodeType": "Return", | |
"src": "2713:50:0" | |
} | |
] | |
}, | |
"functionSelector": "90bddff0", | |
"id": 218, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "createChoiceHash", | |
"nameLocation": "2621:16:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 205, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 202, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "2643:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 218, | |
"src": "2638:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 201, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2638:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 204, | |
"mutability": "mutable", | |
"name": "secret", | |
"nameLocation": "2665:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 218, | |
"src": "2651:20:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 203, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "2651:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2637:35:0" | |
}, | |
"returnParameters": { | |
"id": 208, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 207, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 218, | |
"src": "2694:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 206, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2694:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2693:9:0" | |
}, | |
"scope": 251, | |
"src": "2612:158:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 249, | |
"nodeType": "Block", | |
"src": "2844:198:0", | |
"statements": [ | |
{ | |
"condition": { | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"id": 227, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 225, | |
"name": "userTwoChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 10, | |
"src": "2858:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 226, | |
"name": "userOneChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 220, | |
"src": "2875:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "2858:30:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 245, | |
"nodeType": "Block", | |
"src": "2955:59:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 242, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 240, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2993:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 241, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2997:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2993:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 237, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "2969:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 239, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "2969:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 243, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2969:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 244, | |
"nodeType": "ExpressionStatement", | |
"src": "2969:34:0" | |
} | |
] | |
}, | |
"id": 246, | |
"nodeType": "IfStatement", | |
"src": "2854:160:0", | |
"trueBody": { | |
"id": 236, | |
"nodeType": "Block", | |
"src": "2890:59:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 233, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 231, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2928:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 232, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2932:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2928:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 228, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "2904:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 230, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "2904:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 234, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2904:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 235, | |
"nodeType": "ExpressionStatement", | |
"src": "2904:34:0" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 247, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3031:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 224, | |
"id": 248, | |
"nodeType": "Return", | |
"src": "3024:11:0" | |
} | |
] | |
}, | |
"id": 250, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "distributePrize", | |
"nameLocation": "2785:15:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 221, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 220, | |
"mutability": "mutable", | |
"name": "userOneChoice", | |
"nameLocation": "2806:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 250, | |
"src": "2801:18:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 219, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2801:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2800:20:0" | |
}, | |
"returnParameters": { | |
"id": 224, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 223, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 250, | |
"src": "2838:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 222, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2838:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2837:6:0" | |
}, | |
"scope": 251, | |
"src": "2776:266:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "private" | |
} | |
], | |
"scope": 252, | |
"src": "122:2922:0" | |
} | |
], | |
"src": "33:3012:0" | |
}, | |
"legacyAST": { | |
"absolutePath": "/home/kuzi/projects/blockchain-workshop/contracts/HeadTail.sol", | |
"exportedSymbols": { | |
"ECDSA": [ | |
387 | |
], | |
"HeadTail": [ | |
251 | |
] | |
}, | |
"id": 252, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "33:23:0" | |
}, | |
{ | |
"absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", | |
"file": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", | |
"id": 2, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 252, | |
"sourceUnit": 388, | |
"src": "58:62:0", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 251, | |
"linearizedBaseContracts": [ | |
251 | |
], | |
"name": "HeadTail", | |
"nameLocation": "131:8:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "711aa39b", | |
"id": 4, | |
"mutability": "mutable", | |
"name": "userOneAddress", | |
"nameLocation": "169:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "146:37:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 3, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "146:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "5e157d1f", | |
"id": 6, | |
"mutability": "mutable", | |
"name": "userOneSignedChoiceHash", | |
"nameLocation": "202:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "189:36:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 5, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "189:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "7fb1d0dd", | |
"id": 8, | |
"mutability": "mutable", | |
"name": "userTwoAddress", | |
"nameLocation": "255:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "232:37:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 7, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "232:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b70d2ee8", | |
"id": 10, | |
"mutability": "mutable", | |
"name": "userTwoChoice", | |
"nameLocation": "287:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "275:25:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 9, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "275:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "4212259e", | |
"id": 12, | |
"mutability": "mutable", | |
"name": "userTwoChoiceSubmittedTime", | |
"nameLocation": "318:26:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "306:38:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 11, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "306:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "3a4b66f1", | |
"id": 14, | |
"mutability": "mutable", | |
"name": "stake", | |
"nameLocation": "366:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "351:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 13, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "351:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 30, | |
"nodeType": "Block", | |
"src": "765:207:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 20, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 17, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "902:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 18, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "910:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 19, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "910:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "902:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 21, | |
"nodeType": "ExpressionStatement", | |
"src": "902:17:0" | |
}, | |
{ | |
"expression": { | |
"id": 28, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 22, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "929:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 25, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "954:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 26, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "954:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 24, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "946:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_payable_$", | |
"typeString": "type(address payable)" | |
}, | |
"typeName": { | |
"id": 23, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "946:8:0", | |
"stateMutability": "payable", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 27, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "946:19:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "929:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 29, | |
"nodeType": "ExpressionStatement", | |
"src": "929:36:0" | |
} | |
] | |
}, | |
"functionSelector": "b5e23d18", | |
"id": 31, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "depositUserOne", | |
"nameLocation": "733:14:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "747:2:0" | |
}, | |
"returnParameters": { | |
"id": 16, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "765:0:0" | |
}, | |
"scope": 251, | |
"src": "724:248:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 79, | |
"nodeType": "Block", | |
"src": "1030:447:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 40, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 37, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "1048:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 38, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "1048:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 39, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "1061:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1048:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722068617320746f20706173732061737365742076616c756520657175616c20746f207365636f6e6420706172616d65746572206f662074686520636f6e7374727563746f7220287374616b6529", | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1068: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": 36, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1040:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1040:112:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 43, | |
"nodeType": "ExpressionStatement", | |
"src": "1040:112:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 50, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 45, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "1170:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 48, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1196: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": 47, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1188:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 46, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1188:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 49, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1188:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "1170:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7573657254776f416464726573732063616e277420626520616c726561647920736574", | |
"id": 51, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1200: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": 44, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1162:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 52, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1162:76:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 53, | |
"nodeType": "ExpressionStatement", | |
"src": "1162:76:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 58, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 55, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "1256:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"expression": { | |
"id": 56, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "1274:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 57, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "1274:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "1256:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7573657254776f416464726573732068617320746f206469666665722066726f6d20757365724f6e6541646472657373", | |
"id": 59, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1286: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": 54, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1248:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 60, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1248:89:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 61, | |
"nodeType": "ExpressionStatement", | |
"src": "1248:89:0" | |
}, | |
{ | |
"expression": { | |
"id": 68, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 62, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "1348:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 65, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -15, | |
"src": "1373:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 66, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "1373:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 64, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1365:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_payable_$", | |
"typeString": "type(address payable)" | |
}, | |
"typeName": { | |
"id": 63, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1365:8:0", | |
"stateMutability": "payable", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 67, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1365:19:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "1348:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 69, | |
"nodeType": "ExpressionStatement", | |
"src": "1348:36:0" | |
}, | |
{ | |
"expression": { | |
"id": 72, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 70, | |
"name": "userTwoChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 10, | |
"src": "1394:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"id": 71, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 33, | |
"src": "1410:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "1394:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 73, | |
"nodeType": "ExpressionStatement", | |
"src": "1394:22:0" | |
}, | |
{ | |
"expression": { | |
"id": 77, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 74, | |
"name": "userTwoChoiceSubmittedTime", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 12, | |
"src": "1426:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 75, | |
"name": "block", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -4, | |
"src": "1455:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_block", | |
"typeString": "block" | |
} | |
}, | |
"id": 76, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "timestamp", | |
"nodeType": "MemberAccess", | |
"src": "1455:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1426:44:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 78, | |
"nodeType": "ExpressionStatement", | |
"src": "1426:44:0" | |
} | |
] | |
}, | |
"functionSelector": "f9846e1f", | |
"id": 80, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "depositUserTwo", | |
"nameLocation": "987:14:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 34, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 33, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "1007:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 80, | |
"src": "1002:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 32, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1002:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1001:13:0" | |
}, | |
"returnParameters": { | |
"id": 35, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1030:0:0" | |
}, | |
"scope": 251, | |
"src": "978:499:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 131, | |
"nodeType": "Block", | |
"src": "1569:407:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 95, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 90, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "1587:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 93, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1613: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": 92, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1605:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 91, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1605:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 94, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1605:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "1587:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722074776f20616464726573732068617320746f20626520736574206265666f726520646973747269627574696e67207072697a65", | |
"id": 96, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1617: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": 89, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1579:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 97, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1579:97:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 98, | |
"nodeType": "ExpressionStatement", | |
"src": "1579:97:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 108, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 102, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 82, | |
"src": "1718:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"id": 103, | |
"name": "secret", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 84, | |
"src": "1726: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" | |
} | |
], | |
"id": 101, | |
"name": "createChoiceHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 218, | |
"src": "1701:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$_t_bytes32_$", | |
"typeString": "function (bool,string memory) pure returns (bytes32)" | |
} | |
}, | |
"id": 104, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1701:32:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 105, | |
"name": "userOneSignedChoiceHash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 6, | |
"src": "1735:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes storage ref" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_bytes_storage", | |
"typeString": "bytes storage ref" | |
} | |
], | |
"id": 100, | |
"name": "verify", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 200, | |
"src": "1694:6: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": 106, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1694:65:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 107, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "1763:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"src": "1694:83:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "63686f696365207369676e61747572652068617320746f20626520636f7272656374", | |
"id": 109, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1779:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36", | |
"typeString": "literal_string \"choice signature has to be correct\"" | |
}, | |
"value": "choice signature has to be correct" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_94899326e50d15364e6217bd2d28b11a09ba7246c9ea3420e3f9733e96531a36", | |
"typeString": "literal_string \"choice signature has to be correct\"" | |
} | |
], | |
"id": 99, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1686:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 110, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1686:130:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 111, | |
"nodeType": "ExpressionStatement", | |
"src": "1686:130:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 121, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 115, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -28, | |
"src": "1842:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_HeadTail_$251", | |
"typeString": "contract HeadTail" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_HeadTail_$251", | |
"typeString": "contract HeadTail" | |
} | |
], | |
"id": 114, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1834:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 113, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1834:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 116, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1834:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 117, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "balance", | |
"nodeType": "MemberAccess", | |
"src": "1834:21:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 120, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 118, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1859:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 119, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "1863:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1859:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1834:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7072697a652068617320746f206265206e6f74206265656e20646973747269627574656420796574", | |
"id": 122, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1870: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": 112, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "1826:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 123, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1826:87:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 124, | |
"nodeType": "ExpressionStatement", | |
"src": "1826:87:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 126, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 82, | |
"src": "1940:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
], | |
"id": 125, | |
"name": "distributePrize", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 250, | |
"src": "1924:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$_t_bool_$", | |
"typeString": "function (bool) returns (bool)" | |
} | |
}, | |
"id": 127, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1924:23:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 128, | |
"nodeType": "ExpressionStatement", | |
"src": "1924:23:0" | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 129, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1965:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 88, | |
"id": 130, | |
"nodeType": "Return", | |
"src": "1958:11:0" | |
} | |
] | |
}, | |
"functionSelector": "d536ac95", | |
"id": 132, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "revealUserOneChoice", | |
"nameLocation": "1492:19:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 85, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 82, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "1517:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 132, | |
"src": "1512:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 81, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1512:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 84, | |
"mutability": "mutable", | |
"name": "secret", | |
"nameLocation": "1539:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 132, | |
"src": "1525:20:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 83, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "1525:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1511:35:0" | |
}, | |
"returnParameters": { | |
"id": 88, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 87, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 132, | |
"src": "1563:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 86, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1563:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1562:6:0" | |
}, | |
"scope": 251, | |
"src": "1483:493:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 180, | |
"nodeType": "Block", | |
"src": "2023:409:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 143, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 138, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "2041:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"arguments": [ | |
{ | |
"hexValue": "30", | |
"id": 141, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2067: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": 140, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "2059:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 139, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2059:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 142, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2059:10:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "2041:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "757365722074776f20616464726573732068617320746f20626520736574206265666f726520646973747269627574696e67207072697a65", | |
"id": 144, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2071: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": 137, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "2033:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 145, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2033:97:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 146, | |
"nodeType": "ExpressionStatement", | |
"src": "2033:97:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 156, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 150, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -28, | |
"src": "2156:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_HeadTail_$251", | |
"typeString": "contract HeadTail" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_HeadTail_$251", | |
"typeString": "contract HeadTail" | |
} | |
], | |
"id": 149, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "2148:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 148, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2148:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 151, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2148:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 152, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "balance", | |
"nodeType": "MemberAccess", | |
"src": "2148:21:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 155, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 153, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2173:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 154, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2177:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2173:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2148:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "7072697a652068617320746f206265206e6f74206265656e20646973747269627574656420796574", | |
"id": 157, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2184: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": 147, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "2140:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 158, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2140:87:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 159, | |
"nodeType": "ExpressionStatement", | |
"src": "2140:87:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 166, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 161, | |
"name": "block", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -4, | |
"src": "2245:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_block", | |
"typeString": "block" | |
} | |
}, | |
"id": 162, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "timestamp", | |
"nodeType": "MemberAccess", | |
"src": "2245:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">=", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 165, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 163, | |
"name": "userTwoChoiceSubmittedTime", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 12, | |
"src": "2264:26:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"hexValue": "3234", | |
"id": 164, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2293:8:0", | |
"subdenomination": "hours", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_86400_by_1", | |
"typeString": "int_const 86400" | |
}, | |
"value": "24" | |
}, | |
"src": "2264:37:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2245:56:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "323420686f757273206e65656420746f2070617373206265666f7265206162696c69747920746f2063616c6c2074696d656f7574", | |
"id": 167, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2303: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": 160, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
-18, | |
-18 | |
], | |
"referencedDeclaration": -18, | |
"src": "2237:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 168, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2237:121:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 169, | |
"nodeType": "ExpressionStatement", | |
"src": "2237:121:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 175, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 173, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2393:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 174, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2397:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2393:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 170, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "2369:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 172, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "2369:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 176, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2369:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 177, | |
"nodeType": "ExpressionStatement", | |
"src": "2369:34:0" | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 178, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2421:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 136, | |
"id": 179, | |
"nodeType": "Return", | |
"src": "2414:11:0" | |
} | |
] | |
}, | |
"functionSelector": "70dea79a", | |
"id": 181, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "timeout", | |
"nameLocation": "1991:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 133, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1998:2:0" | |
}, | |
"returnParameters": { | |
"id": 136, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 135, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 181, | |
"src": "2017:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 134, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2017:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2016:6:0" | |
}, | |
"scope": 251, | |
"src": "1982:450:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 199, | |
"nodeType": "Block", | |
"src": "2522:84:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 194, | |
"name": "hash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 183, | |
"src": "2582:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"expression": { | |
"id": 192, | |
"name": "ECDSA", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 387, | |
"src": "2553:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_contract$_ECDSA_$387_$", | |
"typeString": "type(library ECDSA)" | |
} | |
}, | |
"id": 193, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "toEthSignedMessageHash", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 366, | |
"src": "2553:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", | |
"typeString": "function (bytes32) pure returns (bytes32)" | |
} | |
}, | |
"id": 195, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2553:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 196, | |
"name": "signature", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 185, | |
"src": "2589: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" | |
} | |
], | |
"expression": { | |
"id": 190, | |
"name": "ECDSA", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 387, | |
"src": "2539:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_contract$_ECDSA_$387_$", | |
"typeString": "type(library ECDSA)" | |
} | |
}, | |
"id": 191, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "recover", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 292, | |
"src": "2539:13: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": 197, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2539:60:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"functionReturnParameters": 189, | |
"id": 198, | |
"nodeType": "Return", | |
"src": "2532:67:0" | |
} | |
] | |
}, | |
"functionSelector": "258ae582", | |
"id": 200, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "verify", | |
"nameLocation": "2447:6:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 186, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 183, | |
"mutability": "mutable", | |
"name": "hash", | |
"nameLocation": "2462:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 200, | |
"src": "2454:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 182, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2454:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 185, | |
"mutability": "mutable", | |
"name": "signature", | |
"nameLocation": "2481:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 200, | |
"src": "2468:22:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 184, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "2468:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2453:38:0" | |
}, | |
"returnParameters": { | |
"id": 189, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 188, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 200, | |
"src": "2513:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 187, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2513:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2512:9:0" | |
}, | |
"scope": 251, | |
"src": "2438:168:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 217, | |
"nodeType": "Block", | |
"src": "2703:67:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 212, | |
"name": "choice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 202, | |
"src": "2747:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"id": 213, | |
"name": "secret", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 204, | |
"src": "2755: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": 210, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -1, | |
"src": "2730:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 211, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodePacked", | |
"nodeType": "MemberAccess", | |
"src": "2730:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function () pure returns (bytes memory)" | |
} | |
}, | |
"id": 214, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2730:32:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 209, | |
"name": "keccak256", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": -8, | |
"src": "2720:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", | |
"typeString": "function (bytes memory) pure returns (bytes32)" | |
} | |
}, | |
"id": 215, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2720:43:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"functionReturnParameters": 208, | |
"id": 216, | |
"nodeType": "Return", | |
"src": "2713:50:0" | |
} | |
] | |
}, | |
"functionSelector": "90bddff0", | |
"id": 218, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "createChoiceHash", | |
"nameLocation": "2621:16:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 205, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 202, | |
"mutability": "mutable", | |
"name": "choice", | |
"nameLocation": "2643:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 218, | |
"src": "2638:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 201, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2638:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 204, | |
"mutability": "mutable", | |
"name": "secret", | |
"nameLocation": "2665:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 218, | |
"src": "2651:20:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 203, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "2651:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2637:35:0" | |
}, | |
"returnParameters": { | |
"id": 208, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 207, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 218, | |
"src": "2694:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 206, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2694:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2693:9:0" | |
}, | |
"scope": 251, | |
"src": "2612:158:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 249, | |
"nodeType": "Block", | |
"src": "2844:198:0", | |
"statements": [ | |
{ | |
"condition": { | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"id": 227, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 225, | |
"name": "userTwoChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 10, | |
"src": "2858:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 226, | |
"name": "userOneChoice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 220, | |
"src": "2875:13:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "2858:30:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 245, | |
"nodeType": "Block", | |
"src": "2955:59:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 242, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 240, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2993:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 241, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2997:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2993:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 237, | |
"name": "userOneAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "2969:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 239, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "2969:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 243, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2969:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 244, | |
"nodeType": "ExpressionStatement", | |
"src": "2969:34:0" | |
} | |
] | |
}, | |
"id": 246, | |
"nodeType": "IfStatement", | |
"src": "2854:160:0", | |
"trueBody": { | |
"id": 236, | |
"nodeType": "Block", | |
"src": "2890:59:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 233, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "32", | |
"id": 231, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2928:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 232, | |
"name": "stake", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2932:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2928:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 228, | |
"name": "userTwoAddress", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "2904:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 230, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "2904:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 234, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2904:34:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 235, | |
"nodeType": "ExpressionStatement", | |
"src": "2904:34:0" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"hexValue": "74727565", | |
"id": 247, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3031:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 224, | |
"id": 248, | |
"nodeType": "Return", | |
"src": "3024:11:0" | |
} | |
] | |
}, | |
"id": 250, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "distributePrize", | |
"nameLocation": "2785:15:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 221, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 220, | |
"mutability": "mutable", | |
"name": "userOneChoice", | |
"nameLocation": "2806:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 250, | |
"src": "2801:18:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 219, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2801:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2800:20:0" | |
}, | |
"returnParameters": { | |
"id": 224, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 223, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 250, | |
"src": "2838:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 222, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2838:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2837:6:0" | |
}, | |
"scope": 251, | |
"src": "2776:266:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "private" | |
} | |
], | |
"scope": 252, | |
"src": "122:2922:0" | |
} | |
], | |
"src": "33:3012:0" | |
}, | |
"compiler": { | |
"name": "solc", | |
"version": "0.8.3+commit.8d00100c.Linux.g++" | |
}, | |
"networks": {}, | |
"schemaVersion": "3.3.4", | |
"updatedAt": "2021-04-13T16:01:40.830Z", | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment