{ "contractName": "Legacy", "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "wills", "outputs": [ { "internalType": "uint256", "name": "withdrawDate", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address", "name": "testator", "type": "address" }, { "internalType": "address", "name": "beneficiary", "type": "address" }, { "internalType": "enum Legacy.Status", "name": "status", "type": "uint8" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "wills_beneficiary", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "wills_testator", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [ { "internalType": "address", "name": "_beneficiary", "type": "address" }, { "internalType": "uint256", "name": "_withdrawDate", "type": "uint256" } ], "name": "deposit", "outputs": [], "stateMutability": "payable", "type": "function", "payable": true }, { "inputs": [], "name": "currentDate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "withdrawBeneficiary", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "depositmore", "outputs": [], "stateMutability": "payable", "type": "function", "payable": true }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "withdrawTestator", "outputs": [], "stateMutability": "payable", "type": "function", "payable": true }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_newWithdrawDate", "type": "uint256" } ], "name": "changeWithdrawDate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "get_amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [ { "internalType": "address", "name": "testatorAddress", "type": "address" } ], "name": "get_wills_testator", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [ { "internalType": "address", "name": "beneficiaryAddress", "type": "address" } ], "name": "get_wills_beneficiary", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function", "constant": true } ], "metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_newWithdrawDate\",\"type\":\"uint256\"}],\"name\":\"changeWithdrawDate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_withdrawDate\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"depositmore\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"get_amount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiaryAddress\",\"type\":\"address\"}],\"name\":\"get_wills_beneficiary\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"testatorAddress\",\"type\":\"address\"}],\"name\":\"get_wills_testator\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"wills\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"testator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"enum Legacy.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"wills_beneficiary\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"wills_testator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"withdrawBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"withdrawTestator\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:dev-run-script\":\"./scripts/deploy_with_ethers.ts\",\"details\":\"Store & retrieve value in a variable\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Storage\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Legacy.sol\":\"Legacy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/Legacy.sol\":{\"keccak256\":\"0x8d369ecb3d5a40d91f5f7d75a462ad7e3594be0d4f62cad06bc5dc5dae4858b3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f9de12ab29f76be06d3a24681ac5574f250423fd585a1378a6fb520fe1566d44\",\"dweb:/ipfs/QmZK7zb5LZX6YvJgTd9YkgQd3fAL56GgAHMmfjPFVE5DDz\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b5060008081905550611364806100276000396000f3fe6080604052600436106100a75760003560e01c80638db7fbe7116100645780638db7fbe7146101b25780639879f8f9146101f3578063a95e95e71461020f578063c78d30d51461024c578063e3d7d40f14610289578063f2dcc9b9146102c6576100a7565b806335b354b3146100ac57806347e7ef24146100e95780634f99b7c5146101055780635046c66d146101305780636e0c28581461016d5780636fb4f86914610189575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190610d79565b6102ef565b6040516100e09190610e6e565b60405180910390f35b61010360048036038101906100fe9190610ebc565b610386565b005b34801561011157600080fd5b5061011a6105c0565b6040516101279190610f0b565b60405180910390f35b34801561013c57600080fd5b5061015760048036038101906101529190610d79565b6105c8565b6040516101649190610e6e565b60405180910390f35b61018760048036038101906101829190610f26565b61065f565b005b34801561019557600080fd5b506101b060048036038101906101ab9190610f26565b610781565b005b3480156101be57600080fd5b506101d960048036038101906101d49190610f26565b610990565b6040516101ea959493929190610fd9565b60405180910390f35b61020d60048036038101906102089190610f26565b610a13565b005b34801561021b57600080fd5b5061023660048036038101906102319190610ebc565b610b92565b6040516102439190610f0b565b60405180910390f35b34801561025857600080fd5b50610273600480360381019061026e9190610ebc565b610bc3565b6040516102809190610f0b565b60405180910390f35b34801561029557600080fd5b506102b060048036038101906102ab9190610f26565b610bf4565b6040516102bd9190610f0b565b60405180910390f35b3480156102d257600080fd5b506102ed60048036038101906102e8919061102c565b610c14565b005b6060600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561037a57602002820191906000526020600020905b815481526020019060010190808311610366575b50505050509050919050565b6040518060a001604052808281526020013481526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001600060038111156103e9576103e8610f62565b5b8152506001600080548152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160030160146101000a81548160ff021916908360038111156104cd576104cc610f62565b5b0217905550905050600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000549080600181540180825580915050600190039060005260206000200160009091909190915055600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005490806001815401808255809150506001900390600052602060002001600090919091909150556000808154809291906105b79061109b565b91905055505050565b600042905090565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561065357602002820191906000526020600020905b81548152602001906001019080831161063f575b50505050509050919050565b6001600082815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611140565b60405180910390fd5b3460016000838152602001908152602001600020600101546107259190611160565b600160008381526020019081526020016000206001018190555060026001600083815260200190815260200160002060030160146101000a81548160ff0219169083600381111561077957610778610f62565b5b021790555050565b6001600082815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081c90611202565b60405180910390fd5b600060016000838152602001908152602001600020600101541161087e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108759061126e565b60405180910390fd5b426001600083815260200190815260200160002060000154106108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd906112da565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc60016000848152602001908152602001600020600101549081150290604051600060405180830381858888f19350505050158015610932573d6000803e3d6000fd5b5060006001600083815260200190815260200160002060010181905550600180600083815260200190815260200160002060030160146101000a81548160ff0219169083600381111561098857610987610f62565b5b021790555050565b60016020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160149054906101000a900460ff16905085565b6001600082815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aae90611140565b60405180910390fd5b346001600083815260200190815260200160002060010154610ad991906112fa565b60016000838152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff166108fc60016000848152602001908152602001600020600101549081150290604051600060405180830381858888f19350505050158015610b4f573d6000803e3d6000fd5b5060026001600083815260200190815260200160002060030160146101000a81548160ff02191690836003811115610b8a57610b89610f62565b5b021790555050565b60036020528160005260406000208181548110610bae57600080fd5b90600052602060002001600091509150505481565b60026020528160005260406000208181548110610bdf57600080fd5b90600052602060002001600091509150505481565b600060016000838152602001908152602001600020600101549050919050565b6001600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf90611140565b60405180910390fd5b80600160008481526020019081526020016000206000018190555060036001600084815260200190815260200160002060030160146101000a81548160ff02191690836003811115610d0d57610d0c610f62565b5b02179055505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d4682610d1b565b9050919050565b610d5681610d3b565b8114610d6157600080fd5b50565b600081359050610d7381610d4d565b92915050565b600060208284031215610d8f57610d8e610d16565b5b6000610d9d84828501610d64565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b610de581610dd2565b82525050565b6000610df78383610ddc565b60208301905092915050565b6000602082019050919050565b6000610e1b82610da6565b610e258185610db1565b9350610e3083610dc2565b8060005b83811015610e61578151610e488882610deb565b9750610e5383610e03565b925050600181019050610e34565b5085935050505092915050565b60006020820190508181036000830152610e888184610e10565b905092915050565b610e9981610dd2565b8114610ea457600080fd5b50565b600081359050610eb681610e90565b92915050565b60008060408385031215610ed357610ed2610d16565b5b6000610ee185828601610d64565b9250506020610ef285828601610ea7565b9150509250929050565b610f0581610dd2565b82525050565b6000602082019050610f206000830184610efc565b92915050565b600060208284031215610f3c57610f3b610d16565b5b6000610f4a84828501610ea7565b91505092915050565b610f5c81610d3b565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110610fa257610fa1610f62565b5b50565b6000819050610fb382610f91565b919050565b6000610fc382610fa5565b9050919050565b610fd381610fb8565b82525050565b600060a082019050610fee6000830188610efc565b610ffb6020830187610efc565b6110086040830186610f53565b6110156060830185610f53565b6110226080830184610fca565b9695505050505050565b6000806040838503121561104357611042610d16565b5b600061105185828601610ea7565b925050602061106285828601610ea7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006110a682610dd2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036110d8576110d761106c565b5b600182019050919050565b600082825260208201905092915050565b7f596f7520617265206e6f7420746865207465737461746f720000000000000000600082015250565b600061112a6018836110e3565b9150611135826110f4565b602082019050919050565b600060208201905081810360008301526111598161111d565b9050919050565b600061116b82610dd2565b915061117683610dd2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156111ab576111aa61106c565b5b828201905092915050565b7f596f7520617265206e6f74207468652062656e65666963696172792100000000600082015250565b60006111ec601c836110e3565b91506111f7826111b6565b602082019050919050565b6000602082019050818103600083015261121b816111df565b9050919050565b7f4e6f20666f756e647320617661696c61626c6500000000000000000000000000600082015250565b60006112586013836110e3565b915061126382611222565b602082019050919050565b600060208201905081810360008301526112878161124b565b9050919050565b7f57697468647261772064617465206973206e6f7420726561636865642e000000600082015250565b60006112c4601d836110e3565b91506112cf8261128e565b602082019050919050565b600060208201905081810360008301526112f3816112b7565b9050919050565b600061130582610dd2565b915061131083610dd2565b9250828210156113235761132261106c565b5b82820390509291505056fea2646970667358221220c6a39f7a08e72982a8ddf09c0ef0d5f2da9ef198293a7a7cc395b01202dc3d2c64736f6c634300080d0033", "deployedBytecode": "0x6080604052600436106100a75760003560e01c80638db7fbe7116100645780638db7fbe7146101b25780639879f8f9146101f3578063a95e95e71461020f578063c78d30d51461024c578063e3d7d40f14610289578063f2dcc9b9146102c6576100a7565b806335b354b3146100ac57806347e7ef24146100e95780634f99b7c5146101055780635046c66d146101305780636e0c28581461016d5780636fb4f86914610189575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190610d79565b6102ef565b6040516100e09190610e6e565b60405180910390f35b61010360048036038101906100fe9190610ebc565b610386565b005b34801561011157600080fd5b5061011a6105c0565b6040516101279190610f0b565b60405180910390f35b34801561013c57600080fd5b5061015760048036038101906101529190610d79565b6105c8565b6040516101649190610e6e565b60405180910390f35b61018760048036038101906101829190610f26565b61065f565b005b34801561019557600080fd5b506101b060048036038101906101ab9190610f26565b610781565b005b3480156101be57600080fd5b506101d960048036038101906101d49190610f26565b610990565b6040516101ea959493929190610fd9565b60405180910390f35b61020d60048036038101906102089190610f26565b610a13565b005b34801561021b57600080fd5b5061023660048036038101906102319190610ebc565b610b92565b6040516102439190610f0b565b60405180910390f35b34801561025857600080fd5b50610273600480360381019061026e9190610ebc565b610bc3565b6040516102809190610f0b565b60405180910390f35b34801561029557600080fd5b506102b060048036038101906102ab9190610f26565b610bf4565b6040516102bd9190610f0b565b60405180910390f35b3480156102d257600080fd5b506102ed60048036038101906102e8919061102c565b610c14565b005b6060600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561037a57602002820191906000526020600020905b815481526020019060010190808311610366575b50505050509050919050565b6040518060a001604052808281526020013481526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001600060038111156103e9576103e8610f62565b5b8152506001600080548152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160030160146101000a81548160ff021916908360038111156104cd576104cc610f62565b5b0217905550905050600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000549080600181540180825580915050600190039060005260206000200160009091909190915055600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005490806001815401808255809150506001900390600052602060002001600090919091909150556000808154809291906105b79061109b565b91905055505050565b600042905090565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561065357602002820191906000526020600020905b81548152602001906001019080831161063f575b50505050509050919050565b6001600082815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611140565b60405180910390fd5b3460016000838152602001908152602001600020600101546107259190611160565b600160008381526020019081526020016000206001018190555060026001600083815260200190815260200160002060030160146101000a81548160ff0219169083600381111561077957610778610f62565b5b021790555050565b6001600082815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081c90611202565b60405180910390fd5b600060016000838152602001908152602001600020600101541161087e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108759061126e565b60405180910390fd5b426001600083815260200190815260200160002060000154106108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd906112da565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc60016000848152602001908152602001600020600101549081150290604051600060405180830381858888f19350505050158015610932573d6000803e3d6000fd5b5060006001600083815260200190815260200160002060010181905550600180600083815260200190815260200160002060030160146101000a81548160ff0219169083600381111561098857610987610f62565b5b021790555050565b60016020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160149054906101000a900460ff16905085565b6001600082815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aae90611140565b60405180910390fd5b346001600083815260200190815260200160002060010154610ad991906112fa565b60016000838152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff166108fc60016000848152602001908152602001600020600101549081150290604051600060405180830381858888f19350505050158015610b4f573d6000803e3d6000fd5b5060026001600083815260200190815260200160002060030160146101000a81548160ff02191690836003811115610b8a57610b89610f62565b5b021790555050565b60036020528160005260406000208181548110610bae57600080fd5b90600052602060002001600091509150505481565b60026020528160005260406000208181548110610bdf57600080fd5b90600052602060002001600091509150505481565b600060016000838152602001908152602001600020600101549050919050565b6001600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf90611140565b60405180910390fd5b80600160008481526020019081526020016000206000018190555060036001600084815260200190815260200160002060030160146101000a81548160ff02191690836003811115610d0d57610d0c610f62565b5b02179055505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d4682610d1b565b9050919050565b610d5681610d3b565b8114610d6157600080fd5b50565b600081359050610d7381610d4d565b92915050565b600060208284031215610d8f57610d8e610d16565b5b6000610d9d84828501610d64565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b610de581610dd2565b82525050565b6000610df78383610ddc565b60208301905092915050565b6000602082019050919050565b6000610e1b82610da6565b610e258185610db1565b9350610e3083610dc2565b8060005b83811015610e61578151610e488882610deb565b9750610e5383610e03565b925050600181019050610e34565b5085935050505092915050565b60006020820190508181036000830152610e888184610e10565b905092915050565b610e9981610dd2565b8114610ea457600080fd5b50565b600081359050610eb681610e90565b92915050565b60008060408385031215610ed357610ed2610d16565b5b6000610ee185828601610d64565b9250506020610ef285828601610ea7565b9150509250929050565b610f0581610dd2565b82525050565b6000602082019050610f206000830184610efc565b92915050565b600060208284031215610f3c57610f3b610d16565b5b6000610f4a84828501610ea7565b91505092915050565b610f5c81610d3b565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110610fa257610fa1610f62565b5b50565b6000819050610fb382610f91565b919050565b6000610fc382610fa5565b9050919050565b610fd381610fb8565b82525050565b600060a082019050610fee6000830188610efc565b610ffb6020830187610efc565b6110086040830186610f53565b6110156060830185610f53565b6110226080830184610fca565b9695505050505050565b6000806040838503121561104357611042610d16565b5b600061105185828601610ea7565b925050602061106285828601610ea7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006110a682610dd2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036110d8576110d761106c565b5b600182019050919050565b600082825260208201905092915050565b7f596f7520617265206e6f7420746865207465737461746f720000000000000000600082015250565b600061112a6018836110e3565b9150611135826110f4565b602082019050919050565b600060208201905081810360008301526111598161111d565b9050919050565b600061116b82610dd2565b915061117683610dd2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156111ab576111aa61106c565b5b828201905092915050565b7f596f7520617265206e6f74207468652062656e65666963696172792100000000600082015250565b60006111ec601c836110e3565b91506111f7826111b6565b602082019050919050565b6000602082019050818103600083015261121b816111df565b9050919050565b7f4e6f20666f756e647320617661696c61626c6500000000000000000000000000600082015250565b60006112586013836110e3565b915061126382611222565b602082019050919050565b600060208201905081810360008301526112878161124b565b9050919050565b7f57697468647261772064617465206973206e6f7420726561636865642e000000600082015250565b60006112c4601d836110e3565b91506112cf8261128e565b602082019050919050565b600060208201905081810360008301526112f3816112b7565b9050919050565b600061130582610dd2565b915061131083610dd2565b9250828210156113235761132261106c565b5b82820390509291505056fea2646970667358221220c6a39f7a08e72982a8ddf09c0ef0d5f2da9ef198293a7a7cc395b01202dc3d2c64736f6c634300080d0033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:11744:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "47:35:3", "statements": [ { "nodeType": "YulAssignment", "src": "57:19:3", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "73:2:3", "type": "", "value": "64" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "67:5:3" }, "nodeType": "YulFunctionCall", "src": "67:9:3" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "57:6:3" } ] } ] }, "name": "allocate_unbounded", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "40:6:3", "type": "" } ], "src": "7:75:3" }, { "body": { "nodeType": "YulBlock", "src": "177:28:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "194:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "197:1:3", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "187:6:3" }, "nodeType": "YulFunctionCall", "src": "187:12:3" }, "nodeType": "YulExpressionStatement", "src": "187:12:3" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", "src": "88:117:3" }, { "body": { "nodeType": "YulBlock", "src": "300:28:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "317:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "320:1:3", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "310:6:3" }, "nodeType": "YulFunctionCall", "src": "310:12:3" }, "nodeType": "YulExpressionStatement", "src": "310:12:3" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", "src": "211:117:3" }, { "body": { "nodeType": "YulBlock", "src": "379:81:3", "statements": [ { "nodeType": "YulAssignment", "src": "389:65:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "404:5:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "411:42:3", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "400:3:3" }, "nodeType": "YulFunctionCall", "src": "400:54:3" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "389:7:3" } ] } ] }, "name": "cleanup_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "361:5:3", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "371:7:3", "type": "" } ], "src": "334:126:3" }, { "body": { "nodeType": "YulBlock", "src": "511:51:3", "statements": [ { "nodeType": "YulAssignment", "src": "521:35:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "550:5:3" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", "src": "532:17:3" }, "nodeType": "YulFunctionCall", "src": "532:24:3" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "521:7:3" } ] } ] }, "name": "cleanup_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "493:5:3", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "503:7:3", "type": "" } ], "src": "466:96:3" }, { "body": { "nodeType": "YulBlock", "src": "611:79:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "668:16:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "677:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "680:1:3", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "670:6:3" }, "nodeType": "YulFunctionCall", "src": "670:12:3" }, "nodeType": "YulExpressionStatement", "src": "670:12:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "634:5:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "659:5:3" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "641:17:3" }, "nodeType": "YulFunctionCall", "src": "641:24:3" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "631:2:3" }, "nodeType": "YulFunctionCall", "src": "631:35:3" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "624:6:3" }, "nodeType": "YulFunctionCall", "src": "624:43:3" }, "nodeType": "YulIf", "src": "621:63:3" } ] }, "name": "validator_revert_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "604:5:3", "type": "" } ], "src": "568:122:3" }, { "body": { "nodeType": "YulBlock", "src": "748:87:3", "statements": [ { "nodeType": "YulAssignment", "src": "758:29:3", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "780:6:3" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "767:12:3" }, "nodeType": "YulFunctionCall", "src": "767:20:3" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "758:5:3" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "823:5:3" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", "src": "796:26:3" }, "nodeType": "YulFunctionCall", "src": "796:33:3" }, "nodeType": "YulExpressionStatement", "src": "796:33:3" } ] }, "name": "abi_decode_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "726:6:3", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "734:3:3", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "742:5:3", "type": "" } ], "src": "696:139:3" }, { "body": { "nodeType": "YulBlock", "src": "907:263:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "953:83:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "955:77:3" }, "nodeType": "YulFunctionCall", "src": "955:79:3" }, "nodeType": "YulExpressionStatement", "src": "955:79:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "928:7:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "937:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "924:3:3" }, "nodeType": "YulFunctionCall", "src": "924:23:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "949:2:3", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "920:3:3" }, "nodeType": "YulFunctionCall", "src": "920:32:3" }, "nodeType": "YulIf", "src": "917:119:3" }, { "nodeType": "YulBlock", "src": "1046:117:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1061:15:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "1075:1:3", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "1065:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "1090:63:3", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1125:9:3" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "1136:6:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1121:3:3" }, "nodeType": "YulFunctionCall", "src": "1121:22:3" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "1145:7:3" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", "src": "1100:20:3" }, "nodeType": "YulFunctionCall", "src": "1100:53:3" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "1090:6:3" } ] } ] } ] }, "name": "abi_decode_tuple_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "877:9:3", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "888:7:3", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "900:6:3", "type": "" } ], "src": "841:329:3" }, { "body": { "nodeType": "YulBlock", "src": "1250:40:3", "statements": [ { "nodeType": "YulAssignment", "src": "1261:22:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1277:5:3" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "1271:5:3" }, "nodeType": "YulFunctionCall", "src": "1271:12:3" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", "src": "1261:6:3" } ] } ] }, "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1233:5:3", "type": "" } ], "returnVariables": [ { "name": "length", "nodeType": "YulTypedName", "src": "1243:6:3", "type": "" } ], "src": "1176:114:3" }, { "body": { "nodeType": "YulBlock", "src": "1407:73:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1424:3:3" }, { "name": "length", "nodeType": "YulIdentifier", "src": "1429:6:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1417:6:3" }, "nodeType": "YulFunctionCall", "src": "1417:19:3" }, "nodeType": "YulExpressionStatement", "src": "1417:19:3" }, { "nodeType": "YulAssignment", "src": "1445:29:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1464:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1469:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1460:3:3" }, "nodeType": "YulFunctionCall", "src": "1460:14:3" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", "src": "1445:11:3" } ] } ] }, "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "1379:3:3", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "1384:6:3", "type": "" } ], "returnVariables": [ { "name": "updated_pos", "nodeType": "YulTypedName", "src": "1395:11:3", "type": "" } ], "src": "1296:184:3" }, { "body": { "nodeType": "YulBlock", "src": "1558:60:3", "statements": [ { "nodeType": "YulAssignment", "src": "1568:11:3", "value": { "name": "ptr", "nodeType": "YulIdentifier", "src": "1576:3:3" }, "variableNames": [ { "name": "data", "nodeType": "YulIdentifier", "src": "1568:4:3" } ] }, { "nodeType": "YulAssignment", "src": "1589:22:3", "value": { "arguments": [ { "name": "ptr", "nodeType": "YulIdentifier", "src": "1601:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1606:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1597:3:3" }, "nodeType": "YulFunctionCall", "src": "1597:14:3" }, "variableNames": [ { "name": "data", "nodeType": "YulIdentifier", "src": "1589:4:3" } ] } ] }, "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "ptr", "nodeType": "YulTypedName", "src": "1545:3:3", "type": "" } ], "returnVariables": [ { "name": "data", "nodeType": "YulTypedName", "src": "1553:4:3", "type": "" } ], "src": "1486:132:3" }, { "body": { "nodeType": "YulBlock", "src": "1669:32:3", "statements": [ { "nodeType": "YulAssignment", "src": "1679:16:3", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "1690:5:3" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "1679:7:3" } ] } ] }, "name": "cleanup_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1651:5:3", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "1661:7:3", "type": "" } ], "src": "1624:77:3" }, { "body": { "nodeType": "YulBlock", "src": "1762:53:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1779:3:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1802:5:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "1784:17:3" }, "nodeType": "YulFunctionCall", "src": "1784:24:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1772:6:3" }, "nodeType": "YulFunctionCall", "src": "1772:37:3" }, "nodeType": "YulExpressionStatement", "src": "1772:37:3" } ] }, "name": "abi_encode_t_uint256_to_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1750:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "1757:3:3", "type": "" } ], "src": "1707:108:3" }, { "body": { "nodeType": "YulBlock", "src": "1901:99:3", "statements": [ { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "1945:6:3" }, { "name": "pos", "nodeType": "YulIdentifier", "src": "1953:3:3" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256", "nodeType": "YulIdentifier", "src": "1911:33:3" }, "nodeType": "YulFunctionCall", "src": "1911:46:3" }, "nodeType": "YulExpressionStatement", "src": "1911:46:3" }, { "nodeType": "YulAssignment", "src": "1966:28:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1984:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1989:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1980:3:3" }, "nodeType": "YulFunctionCall", "src": "1980:14:3" }, "variableNames": [ { "name": "updatedPos", "nodeType": "YulIdentifier", "src": "1966:10:3" } ] } ] }, "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value0", "nodeType": "YulTypedName", "src": "1874:6:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "1882:3:3", "type": "" } ], "returnVariables": [ { "name": "updatedPos", "nodeType": "YulTypedName", "src": "1890:10:3", "type": "" } ], "src": "1821:179:3" }, { "body": { "nodeType": "YulBlock", "src": "2081:38:3", "statements": [ { "nodeType": "YulAssignment", "src": "2091:22:3", "value": { "arguments": [ { "name": "ptr", "nodeType": "YulIdentifier", "src": "2103:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2108:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2099:3:3" }, "nodeType": "YulFunctionCall", "src": "2099:14:3" }, "variableNames": [ { "name": "next", "nodeType": "YulIdentifier", "src": "2091:4:3" } ] } ] }, "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "ptr", "nodeType": "YulTypedName", "src": "2068:3:3", "type": "" } ], "returnVariables": [ { "name": "next", "nodeType": "YulTypedName", "src": "2076:4:3", "type": "" } ], "src": "2006:113:3" }, { "body": { "nodeType": "YulBlock", "src": "2279:608:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "2289:68:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2351:5:3" } ], "functionName": { "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulIdentifier", "src": "2303:47:3" }, "nodeType": "YulFunctionCall", "src": "2303:54:3" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", "src": "2293:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "2366:93:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2447:3:3" }, { "name": "length", "nodeType": "YulIdentifier", "src": "2452:6:3" } ], "functionName": { "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "2373:73:3" }, "nodeType": "YulFunctionCall", "src": "2373:86:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2366:3:3" } ] }, { "nodeType": "YulVariableDeclaration", "src": "2468:71:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2533:5:3" } ], "functionName": { "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulIdentifier", "src": "2483:49:3" }, "nodeType": "YulFunctionCall", "src": "2483:56:3" }, "variables": [ { "name": "baseRef", "nodeType": "YulTypedName", "src": "2472:7:3", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", "src": "2548:21:3", "value": { "name": "baseRef", "nodeType": "YulIdentifier", "src": "2562:7:3" }, "variables": [ { "name": "srcPtr", "nodeType": "YulTypedName", "src": "2552:6:3", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "2638:224:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "2652:34:3", "value": { "arguments": [ { "name": "srcPtr", "nodeType": "YulIdentifier", "src": "2679:6:3" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "2673:5:3" }, "nodeType": "YulFunctionCall", "src": "2673:13:3" }, "variables": [ { "name": "elementValue0", "nodeType": "YulTypedName", "src": "2656:13:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "2699:70:3", "value": { "arguments": [ { "name": "elementValue0", "nodeType": "YulIdentifier", "src": "2750:13:3" }, { "name": "pos", "nodeType": "YulIdentifier", "src": "2765:3:3" } ], "functionName": { "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", "nodeType": "YulIdentifier", "src": "2706:43:3" }, "nodeType": "YulFunctionCall", "src": "2706:63:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2699:3:3" } ] }, { "nodeType": "YulAssignment", "src": "2782:70:3", "value": { "arguments": [ { "name": "srcPtr", "nodeType": "YulIdentifier", "src": "2845:6:3" } ], "functionName": { "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulIdentifier", "src": "2792:52:3" }, "nodeType": "YulFunctionCall", "src": "2792:60:3" }, "variableNames": [ { "name": "srcPtr", "nodeType": "YulIdentifier", "src": "2782:6:3" } ] } ] }, "condition": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", "src": "2600:1:3" }, { "name": "length", "nodeType": "YulIdentifier", "src": "2603:6:3" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "2597:2:3" }, "nodeType": "YulFunctionCall", "src": "2597:13:3" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", "src": "2611:18:3", "statements": [ { "nodeType": "YulAssignment", "src": "2613:14:3", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", "src": "2622:1:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2625:1:3", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2618:3:3" }, "nodeType": "YulFunctionCall", "src": "2618:9:3" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", "src": "2613:1:3" } ] } ] }, "pre": { "nodeType": "YulBlock", "src": "2582:14:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "2584:10:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "2593:1:3", "type": "", "value": "0" }, "variables": [ { "name": "i", "nodeType": "YulTypedName", "src": "2588:1:3", "type": "" } ] } ] }, "src": "2578:284:3" }, { "nodeType": "YulAssignment", "src": "2871:10:3", "value": { "name": "pos", "nodeType": "YulIdentifier", "src": "2878:3:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "2871:3:3" } ] } ] }, "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "2258:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "2265:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "2274:3:3", "type": "" } ], "src": "2155:732:3" }, { "body": { "nodeType": "YulBlock", "src": "3041:225:3", "statements": [ { "nodeType": "YulAssignment", "src": "3051:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3063:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3074:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3059:3:3" }, "nodeType": "YulFunctionCall", "src": "3059:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3051:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3098:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3109:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3094:3:3" }, "nodeType": "YulFunctionCall", "src": "3094:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3117:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "3123:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3113:3:3" }, "nodeType": "YulFunctionCall", "src": "3113:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3087:6:3" }, "nodeType": "YulFunctionCall", "src": "3087:47:3" }, "nodeType": "YulExpressionStatement", "src": "3087:47:3" }, { "nodeType": "YulAssignment", "src": "3143:116:3", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "3245:6:3" }, { "name": "tail", "nodeType": "YulIdentifier", "src": "3254:4:3" } ], "functionName": { "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "3151:93:3" }, "nodeType": "YulFunctionCall", "src": "3151:108:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3143:4:3" } ] } ] }, "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "3013:9:3", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "3025:6:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "3036:4:3", "type": "" } ], "src": "2893:373:3" }, { "body": { "nodeType": "YulBlock", "src": "3315:79:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "3372:16:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "3381:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3384:1:3", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "3374:6:3" }, "nodeType": "YulFunctionCall", "src": "3374:12:3" }, "nodeType": "YulExpressionStatement", "src": "3374:12:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3338:5:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3363:5:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "3345:17:3" }, "nodeType": "YulFunctionCall", "src": "3345:24:3" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "3335:2:3" }, "nodeType": "YulFunctionCall", "src": "3335:35:3" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "3328:6:3" }, "nodeType": "YulFunctionCall", "src": "3328:43:3" }, "nodeType": "YulIf", "src": "3325:63:3" } ] }, "name": "validator_revert_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "3308:5:3", "type": "" } ], "src": "3272:122:3" }, { "body": { "nodeType": "YulBlock", "src": "3452:87:3", "statements": [ { "nodeType": "YulAssignment", "src": "3462:29:3", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "3484:6:3" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "3471:12:3" }, "nodeType": "YulFunctionCall", "src": "3471:20:3" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3462:5:3" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3527:5:3" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", "src": "3500:26:3" }, "nodeType": "YulFunctionCall", "src": "3500:33:3" }, "nodeType": "YulExpressionStatement", "src": "3500:33:3" } ] }, "name": "abi_decode_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "3430:6:3", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "3438:3:3", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "3446:5:3", "type": "" } ], "src": "3400:139:3" }, { "body": { "nodeType": "YulBlock", "src": "3628:391:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "3674:83:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "3676:77:3" }, "nodeType": "YulFunctionCall", "src": "3676:79:3" }, "nodeType": "YulExpressionStatement", "src": "3676:79:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "3649:7:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "3658:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3645:3:3" }, "nodeType": "YulFunctionCall", "src": "3645:23:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3670:2:3", "type": "", "value": "64" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "3641:3:3" }, "nodeType": "YulFunctionCall", "src": "3641:32:3" }, "nodeType": "YulIf", "src": "3638:119:3" }, { "nodeType": "YulBlock", "src": "3767:117:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "3782:15:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "3796:1:3", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "3786:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "3811:63:3", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3846:9:3" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "3857:6:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3842:3:3" }, "nodeType": "YulFunctionCall", "src": "3842:22:3" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "3866:7:3" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", "src": "3821:20:3" }, "nodeType": "YulFunctionCall", "src": "3821:53:3" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "3811:6:3" } ] } ] }, { "nodeType": "YulBlock", "src": "3894:118:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "3909:16:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "3923:2:3", "type": "", "value": "32" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "3913:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "3939:63:3", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3974:9:3" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "3985:6:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3970:3:3" }, "nodeType": "YulFunctionCall", "src": "3970:22:3" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "3994:7:3" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", "src": "3949:20:3" }, "nodeType": "YulFunctionCall", "src": "3949:53:3" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", "src": "3939:6:3" } ] } ] } ] }, "name": "abi_decode_tuple_t_addresst_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "3590:9:3", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "3601:7:3", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "3613:6:3", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "3621:6:3", "type": "" } ], "src": "3545:474:3" }, { "body": { "nodeType": "YulBlock", "src": "4090:53:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "4107:3:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "4130:5:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "4112:17:3" }, "nodeType": "YulFunctionCall", "src": "4112:24:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4100:6:3" }, "nodeType": "YulFunctionCall", "src": "4100:37:3" }, "nodeType": "YulExpressionStatement", "src": "4100:37:3" } ] }, "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "4078:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "4085:3:3", "type": "" } ], "src": "4025:118:3" }, { "body": { "nodeType": "YulBlock", "src": "4247:124:3", "statements": [ { "nodeType": "YulAssignment", "src": "4257:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "4269:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4280:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4265:3:3" }, "nodeType": "YulFunctionCall", "src": "4265:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "4257:4:3" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "4337:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "4350:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4361:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4346:3:3" }, "nodeType": "YulFunctionCall", "src": "4346:17:3" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "4293:43:3" }, "nodeType": "YulFunctionCall", "src": "4293:71:3" }, "nodeType": "YulExpressionStatement", "src": "4293:71:3" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "4219:9:3", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "4231:6:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "4242:4:3", "type": "" } ], "src": "4149:222:3" }, { "body": { "nodeType": "YulBlock", "src": "4443:263:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "4489:83:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "4491:77:3" }, "nodeType": "YulFunctionCall", "src": "4491:79:3" }, "nodeType": "YulExpressionStatement", "src": "4491:79:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "4464:7:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "4473:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "4460:3:3" }, "nodeType": "YulFunctionCall", "src": "4460:23:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4485:2:3", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "4456:3:3" }, "nodeType": "YulFunctionCall", "src": "4456:32:3" }, "nodeType": "YulIf", "src": "4453:119:3" }, { "nodeType": "YulBlock", "src": "4582:117:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "4597:15:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "4611:1:3", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "4601:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "4626:63:3", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "4661:9:3" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "4672:6:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4657:3:3" }, "nodeType": "YulFunctionCall", "src": "4657:22:3" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "4681:7:3" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", "src": "4636:20:3" }, "nodeType": "YulFunctionCall", "src": "4636:53:3" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "4626:6:3" } ] } ] } ] }, "name": "abi_decode_tuple_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "4413:9:3", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "4424:7:3", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "4436:6:3", "type": "" } ], "src": "4377:329:3" }, { "body": { "nodeType": "YulBlock", "src": "4777:53:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "4794:3:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "4817:5:3" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "4799:17:3" }, "nodeType": "YulFunctionCall", "src": "4799:24:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4787:6:3" }, "nodeType": "YulFunctionCall", "src": "4787:37:3" }, "nodeType": "YulExpressionStatement", "src": "4787:37:3" } ] }, "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "4765:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "4772:3:3", "type": "" } ], "src": "4712:118:3" }, { "body": { "nodeType": "YulBlock", "src": "4864:152:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4881:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4884:77:3", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4874:6:3" }, "nodeType": "YulFunctionCall", "src": "4874:88:3" }, "nodeType": "YulExpressionStatement", "src": "4874:88:3" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4978:1:3", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4981:4:3", "type": "", "value": "0x21" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4971:6:3" }, "nodeType": "YulFunctionCall", "src": "4971:15:3" }, "nodeType": "YulExpressionStatement", "src": "4971:15:3" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "5002:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5005:4:3", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "4995:6:3" }, "nodeType": "YulFunctionCall", "src": "4995:15:3" }, "nodeType": "YulExpressionStatement", "src": "4995:15:3" } ] }, "name": "panic_error_0x21", "nodeType": "YulFunctionDefinition", "src": "4836:180:3" }, { "body": { "nodeType": "YulBlock", "src": "5074:62:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "5108:22:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x21", "nodeType": "YulIdentifier", "src": "5110:16:3" }, "nodeType": "YulFunctionCall", "src": "5110:18:3" }, "nodeType": "YulExpressionStatement", "src": "5110:18:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "5097:5:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5104:1:3", "type": "", "value": "4" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "5094:2:3" }, "nodeType": "YulFunctionCall", "src": "5094:12:3" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "5087:6:3" }, "nodeType": "YulFunctionCall", "src": "5087:20:3" }, "nodeType": "YulIf", "src": "5084:46:3" } ] }, "name": "validator_assert_t_enum$_Status_$41", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "5067:5:3", "type": "" } ], "src": "5022:114:3" }, { "body": { "nodeType": "YulBlock", "src": "5196:75:3", "statements": [ { "nodeType": "YulAssignment", "src": "5206:16:3", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "5217:5:3" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "5206:7:3" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "5259:5:3" } ], "functionName": { "name": "validator_assert_t_enum$_Status_$41", "nodeType": "YulIdentifier", "src": "5223:35:3" }, "nodeType": "YulFunctionCall", "src": "5223:42:3" }, "nodeType": "YulExpressionStatement", "src": "5223:42:3" } ] }, "name": "cleanup_t_enum$_Status_$41", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "5178:5:3", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "5188:7:3", "type": "" } ], "src": "5142:129:3" }, { "body": { "nodeType": "YulBlock", "src": "5344:62:3", "statements": [ { "nodeType": "YulAssignment", "src": "5354:46:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "5394:5:3" } ], "functionName": { "name": "cleanup_t_enum$_Status_$41", "nodeType": "YulIdentifier", "src": "5367:26:3" }, "nodeType": "YulFunctionCall", "src": "5367:33:3" }, "variableNames": [ { "name": "converted", "nodeType": "YulIdentifier", "src": "5354:9:3" } ] } ] }, "name": "convert_t_enum$_Status_$41_to_t_uint8", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "5324:5:3", "type": "" } ], "returnVariables": [ { "name": "converted", "nodeType": "YulTypedName", "src": "5334:9:3", "type": "" } ], "src": "5277:129:3" }, { "body": { "nodeType": "YulBlock", "src": "5484:73:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "5501:3:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "5544:5:3" } ], "functionName": { "name": "convert_t_enum$_Status_$41_to_t_uint8", "nodeType": "YulIdentifier", "src": "5506:37:3" }, "nodeType": "YulFunctionCall", "src": "5506:44:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5494:6:3" }, "nodeType": "YulFunctionCall", "src": "5494:57:3" }, "nodeType": "YulExpressionStatement", "src": "5494:57:3" } ] }, "name": "abi_encode_t_enum$_Status_$41_to_t_uint8_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "5472:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "5479:3:3", "type": "" } ], "src": "5412:145:3" }, { "body": { "nodeType": "YulBlock", "src": "5780:461:3", "statements": [ { "nodeType": "YulAssignment", "src": "5790:27:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "5802:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5813:3:3", "type": "", "value": "160" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5798:3:3" }, "nodeType": "YulFunctionCall", "src": "5798:19:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "5790:4:3" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "5871:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "5884:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5895:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5880:3:3" }, "nodeType": "YulFunctionCall", "src": "5880:17:3" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "5827:43:3" }, "nodeType": "YulFunctionCall", "src": "5827:71:3" }, "nodeType": "YulExpressionStatement", "src": "5827:71:3" }, { "expression": { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", "src": "5952:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "5965:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5976:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5961:3:3" }, "nodeType": "YulFunctionCall", "src": "5961:18:3" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "5908:43:3" }, "nodeType": "YulFunctionCall", "src": "5908:72:3" }, "nodeType": "YulExpressionStatement", "src": "5908:72:3" }, { "expression": { "arguments": [ { "name": "value2", "nodeType": "YulIdentifier", "src": "6034:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6047:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6058:2:3", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6043:3:3" }, "nodeType": "YulFunctionCall", "src": "6043:18:3" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", "src": "5990:43:3" }, "nodeType": "YulFunctionCall", "src": "5990:72:3" }, "nodeType": "YulExpressionStatement", "src": "5990:72:3" }, { "expression": { "arguments": [ { "name": "value3", "nodeType": "YulIdentifier", "src": "6116:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6129:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6140:2:3", "type": "", "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6125:3:3" }, "nodeType": "YulFunctionCall", "src": "6125:18:3" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", "src": "6072:43:3" }, "nodeType": "YulFunctionCall", "src": "6072:72:3" }, "nodeType": "YulExpressionStatement", "src": "6072:72:3" }, { "expression": { "arguments": [ { "name": "value4", "nodeType": "YulIdentifier", "src": "6205:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6218:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6229:3:3", "type": "", "value": "128" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6214:3:3" }, "nodeType": "YulFunctionCall", "src": "6214:19:3" } ], "functionName": { "name": "abi_encode_t_enum$_Status_$41_to_t_uint8_fromStack", "nodeType": "YulIdentifier", "src": "6154:50:3" }, "nodeType": "YulFunctionCall", "src": "6154:80:3" }, "nodeType": "YulExpressionStatement", "src": "6154:80:3" } ] }, "name": "abi_encode_tuple_t_uint256_t_uint256_t_address_t_address_t_enum$_Status_$41__to_t_uint256_t_uint256_t_address_t_address_t_uint8__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "5720:9:3", "type": "" }, { "name": "value4", "nodeType": "YulTypedName", "src": "5732:6:3", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", "src": "5740:6:3", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", "src": "5748:6:3", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "5756:6:3", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "5764:6:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "5775:4:3", "type": "" } ], "src": "5563:678:3" }, { "body": { "nodeType": "YulBlock", "src": "6330:391:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "6376:83:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "6378:77:3" }, "nodeType": "YulFunctionCall", "src": "6378:79:3" }, "nodeType": "YulExpressionStatement", "src": "6378:79:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "6351:7:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "6360:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "6347:3:3" }, "nodeType": "YulFunctionCall", "src": "6347:23:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6372:2:3", "type": "", "value": "64" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "6343:3:3" }, "nodeType": "YulFunctionCall", "src": "6343:32:3" }, "nodeType": "YulIf", "src": "6340:119:3" }, { "nodeType": "YulBlock", "src": "6469:117:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "6484:15:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "6498:1:3", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "6488:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "6513:63:3", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6548:9:3" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "6559:6:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6544:3:3" }, "nodeType": "YulFunctionCall", "src": "6544:22:3" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "6568:7:3" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", "src": "6523:20:3" }, "nodeType": "YulFunctionCall", "src": "6523:53:3" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "6513:6:3" } ] } ] }, { "nodeType": "YulBlock", "src": "6596:118:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "6611:16:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "6625:2:3", "type": "", "value": "32" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "6615:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "6641:63:3", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6676:9:3" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "6687:6:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6672:3:3" }, "nodeType": "YulFunctionCall", "src": "6672:22:3" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "6696:7:3" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", "src": "6651:20:3" }, "nodeType": "YulFunctionCall", "src": "6651:53:3" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", "src": "6641:6:3" } ] } ] } ] }, "name": "abi_decode_tuple_t_uint256t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "6292:9:3", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "6303:7:3", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "6315:6:3", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "6323:6:3", "type": "" } ], "src": "6247:474:3" }, { "body": { "nodeType": "YulBlock", "src": "6755:152:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "6772:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6775:77:3", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "6765:6:3" }, "nodeType": "YulFunctionCall", "src": "6765:88:3" }, "nodeType": "YulExpressionStatement", "src": "6765:88:3" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "6869:1:3", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6872:4:3", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "6862:6:3" }, "nodeType": "YulFunctionCall", "src": "6862:15:3" }, "nodeType": "YulExpressionStatement", "src": "6862:15:3" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "6893:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6896:4:3", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "6886:6:3" }, "nodeType": "YulFunctionCall", "src": "6886:15:3" }, "nodeType": "YulExpressionStatement", "src": "6886:15:3" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", "src": "6727:180:3" }, { "body": { "nodeType": "YulBlock", "src": "6956:190:3", "statements": [ { "nodeType": "YulAssignment", "src": "6966:33:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "6993:5:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "6975:17:3" }, "nodeType": "YulFunctionCall", "src": "6975:24:3" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "6966:5:3" } ] }, { "body": { "nodeType": "YulBlock", "src": "7089:22:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "7091:16:3" }, "nodeType": "YulFunctionCall", "src": "7091:18:3" }, "nodeType": "YulExpressionStatement", "src": "7091:18:3" } ] }, "condition": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "7014:5:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7021:66:3", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "7011:2:3" }, "nodeType": "YulFunctionCall", "src": "7011:77:3" }, "nodeType": "YulIf", "src": "7008:103:3" }, { "nodeType": "YulAssignment", "src": "7120:20:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "7131:5:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7138:1:3", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7127:3:3" }, "nodeType": "YulFunctionCall", "src": "7127:13:3" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", "src": "7120:3:3" } ] } ] }, "name": "increment_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "6942:5:3", "type": "" } ], "returnVariables": [ { "name": "ret", "nodeType": "YulTypedName", "src": "6952:3:3", "type": "" } ], "src": "6913:233:3" }, { "body": { "nodeType": "YulBlock", "src": "7248:73:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7265:3:3" }, { "name": "length", "nodeType": "YulIdentifier", "src": "7270:6:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "7258:6:3" }, "nodeType": "YulFunctionCall", "src": "7258:19:3" }, "nodeType": "YulExpressionStatement", "src": "7258:19:3" }, { "nodeType": "YulAssignment", "src": "7286:29:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7305:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7310:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7301:3:3" }, "nodeType": "YulFunctionCall", "src": "7301:14:3" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", "src": "7286:11:3" } ] } ] }, "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "7220:3:3", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "7225:6:3", "type": "" } ], "returnVariables": [ { "name": "updated_pos", "nodeType": "YulTypedName", "src": "7236:11:3", "type": "" } ], "src": "7152:169:3" }, { "body": { "nodeType": "YulBlock", "src": "7433:68:3", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "7455:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7463:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7451:3:3" }, "nodeType": "YulFunctionCall", "src": "7451:14:3" }, { "hexValue": "596f7520617265206e6f7420746865207465737461746f72", "kind": "string", "nodeType": "YulLiteral", "src": "7467:26:3", "type": "", "value": "You are not the testator" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "7444:6:3" }, "nodeType": "YulFunctionCall", "src": "7444:50:3" }, "nodeType": "YulExpressionStatement", "src": "7444:50:3" } ] }, "name": "store_literal_in_memory_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "7425:6:3", "type": "" } ], "src": "7327:174:3" }, { "body": { "nodeType": "YulBlock", "src": "7653:220:3", "statements": [ { "nodeType": "YulAssignment", "src": "7663:74:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7729:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7734:2:3", "type": "", "value": "24" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "7670:58:3" }, "nodeType": "YulFunctionCall", "src": "7670:67:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7663:3:3" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7835:3:3" } ], "functionName": { "name": "store_literal_in_memory_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a", "nodeType": "YulIdentifier", "src": "7746:88:3" }, "nodeType": "YulFunctionCall", "src": "7746:93:3" }, "nodeType": "YulExpressionStatement", "src": "7746:93:3" }, { "nodeType": "YulAssignment", "src": "7848:19:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7859:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7864:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7855:3:3" }, "nodeType": "YulFunctionCall", "src": "7855:12:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "7848:3:3" } ] } ] }, "name": "abi_encode_t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "7641:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "7649:3:3", "type": "" } ], "src": "7507:366:3" }, { "body": { "nodeType": "YulBlock", "src": "8050:248:3", "statements": [ { "nodeType": "YulAssignment", "src": "8060:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "8072:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8083:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8068:3:3" }, "nodeType": "YulFunctionCall", "src": "8068:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8060:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "8107:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8118:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8103:3:3" }, "nodeType": "YulFunctionCall", "src": "8103:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8126:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "8132:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "8122:3:3" }, "nodeType": "YulFunctionCall", "src": "8122:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "8096:6:3" }, "nodeType": "YulFunctionCall", "src": "8096:47:3" }, "nodeType": "YulExpressionStatement", "src": "8096:47:3" }, { "nodeType": "YulAssignment", "src": "8152:139:3", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8286:4:3" } ], "functionName": { "name": "abi_encode_t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "8160:124:3" }, "nodeType": "YulFunctionCall", "src": "8160:131:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8152:4:3" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "8030:9:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "8045:4:3", "type": "" } ], "src": "7879:419:3" }, { "body": { "nodeType": "YulBlock", "src": "8348:261:3", "statements": [ { "nodeType": "YulAssignment", "src": "8358:25:3", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "8381:1:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "8363:17:3" }, "nodeType": "YulFunctionCall", "src": "8363:20:3" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", "src": "8358:1:3" } ] }, { "nodeType": "YulAssignment", "src": "8392:25:3", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "8415:1:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "8397:17:3" }, "nodeType": "YulFunctionCall", "src": "8397:20:3" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", "src": "8392:1:3" } ] }, { "body": { "nodeType": "YulBlock", "src": "8555:22:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "8557:16:3" }, "nodeType": "YulFunctionCall", "src": "8557:18:3" }, "nodeType": "YulExpressionStatement", "src": "8557:18:3" } ] }, "condition": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "8476:1:3" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "8483:66:3", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "y", "nodeType": "YulIdentifier", "src": "8551:1:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "8479:3:3" }, "nodeType": "YulFunctionCall", "src": "8479:74:3" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "8473:2:3" }, "nodeType": "YulFunctionCall", "src": "8473:81:3" }, "nodeType": "YulIf", "src": "8470:107:3" }, { "nodeType": "YulAssignment", "src": "8587:16:3", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "8598:1:3" }, { "name": "y", "nodeType": "YulIdentifier", "src": "8601:1:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8594:3:3" }, "nodeType": "YulFunctionCall", "src": "8594:9:3" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", "src": "8587:3:3" } ] } ] }, "name": "checked_add_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", "nodeType": "YulTypedName", "src": "8335:1:3", "type": "" }, { "name": "y", "nodeType": "YulTypedName", "src": "8338:1:3", "type": "" } ], "returnVariables": [ { "name": "sum", "nodeType": "YulTypedName", "src": "8344:3:3", "type": "" } ], "src": "8304:305:3" }, { "body": { "nodeType": "YulBlock", "src": "8721:72:3", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "8743:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8751:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8739:3:3" }, "nodeType": "YulFunctionCall", "src": "8739:14:3" }, { "hexValue": "596f7520617265206e6f74207468652062656e656669636961727921", "kind": "string", "nodeType": "YulLiteral", "src": "8755:30:3", "type": "", "value": "You are not the beneficiary!" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "8732:6:3" }, "nodeType": "YulFunctionCall", "src": "8732:54:3" }, "nodeType": "YulExpressionStatement", "src": "8732:54:3" } ] }, "name": "store_literal_in_memory_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "8713:6:3", "type": "" } ], "src": "8615:178:3" }, { "body": { "nodeType": "YulBlock", "src": "8945:220:3", "statements": [ { "nodeType": "YulAssignment", "src": "8955:74:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "9021:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "9026:2:3", "type": "", "value": "28" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "8962:58:3" }, "nodeType": "YulFunctionCall", "src": "8962:67:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "8955:3:3" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "9127:3:3" } ], "functionName": { "name": "store_literal_in_memory_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2", "nodeType": "YulIdentifier", "src": "9038:88:3" }, "nodeType": "YulFunctionCall", "src": "9038:93:3" }, "nodeType": "YulExpressionStatement", "src": "9038:93:3" }, { "nodeType": "YulAssignment", "src": "9140:19:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "9151:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "9156:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "9147:3:3" }, "nodeType": "YulFunctionCall", "src": "9147:12:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "9140:3:3" } ] } ] }, "name": "abi_encode_t_stringliteral_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "8933:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "8941:3:3", "type": "" } ], "src": "8799:366:3" }, { "body": { "nodeType": "YulBlock", "src": "9342:248:3", "statements": [ { "nodeType": "YulAssignment", "src": "9352:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "9364:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "9375:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "9360:3:3" }, "nodeType": "YulFunctionCall", "src": "9360:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "9352:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "9399:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "9410:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "9395:3:3" }, "nodeType": "YulFunctionCall", "src": "9395:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "9418:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "9424:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "9414:3:3" }, "nodeType": "YulFunctionCall", "src": "9414:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "9388:6:3" }, "nodeType": "YulFunctionCall", "src": "9388:47:3" }, "nodeType": "YulExpressionStatement", "src": "9388:47:3" }, { "nodeType": "YulAssignment", "src": "9444:139:3", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "9578:4:3" } ], "functionName": { "name": "abi_encode_t_stringliteral_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "9452:124:3" }, "nodeType": "YulFunctionCall", "src": "9452:131:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "9444:4:3" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "9322:9:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "9337:4:3", "type": "" } ], "src": "9171:419:3" }, { "body": { "nodeType": "YulBlock", "src": "9702:63:3", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "9724:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "9732:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "9720:3:3" }, "nodeType": "YulFunctionCall", "src": "9720:14:3" }, { "hexValue": "4e6f20666f756e647320617661696c61626c65", "kind": "string", "nodeType": "YulLiteral", "src": "9736:21:3", "type": "", "value": "No founds available" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "9713:6:3" }, "nodeType": "YulFunctionCall", "src": "9713:45:3" }, "nodeType": "YulExpressionStatement", "src": "9713:45:3" } ] }, "name": "store_literal_in_memory_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "9694:6:3", "type": "" } ], "src": "9596:169:3" }, { "body": { "nodeType": "YulBlock", "src": "9917:220:3", "statements": [ { "nodeType": "YulAssignment", "src": "9927:74:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "9993:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "9998:2:3", "type": "", "value": "19" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "9934:58:3" }, "nodeType": "YulFunctionCall", "src": "9934:67:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "9927:3:3" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "10099:3:3" } ], "functionName": { "name": "store_literal_in_memory_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6", "nodeType": "YulIdentifier", "src": "10010:88:3" }, "nodeType": "YulFunctionCall", "src": "10010:93:3" }, "nodeType": "YulExpressionStatement", "src": "10010:93:3" }, { "nodeType": "YulAssignment", "src": "10112:19:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "10123:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "10128:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "10119:3:3" }, "nodeType": "YulFunctionCall", "src": "10119:12:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "10112:3:3" } ] } ] }, "name": "abi_encode_t_stringliteral_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "9905:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "9913:3:3", "type": "" } ], "src": "9771:366:3" }, { "body": { "nodeType": "YulBlock", "src": "10314:248:3", "statements": [ { "nodeType": "YulAssignment", "src": "10324:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "10336:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "10347:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "10332:3:3" }, "nodeType": "YulFunctionCall", "src": "10332:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "10324:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "10371:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "10382:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "10367:3:3" }, "nodeType": "YulFunctionCall", "src": "10367:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "10390:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "10396:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "10386:3:3" }, "nodeType": "YulFunctionCall", "src": "10386:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "10360:6:3" }, "nodeType": "YulFunctionCall", "src": "10360:47:3" }, "nodeType": "YulExpressionStatement", "src": "10360:47:3" }, { "nodeType": "YulAssignment", "src": "10416:139:3", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "10550:4:3" } ], "functionName": { "name": "abi_encode_t_stringliteral_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "10424:124:3" }, "nodeType": "YulFunctionCall", "src": "10424:131:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "10416:4:3" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "10294:9:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "10309:4:3", "type": "" } ], "src": "10143:419:3" }, { "body": { "nodeType": "YulBlock", "src": "10674:73:3", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "10696:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "10704:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "10692:3:3" }, "nodeType": "YulFunctionCall", "src": "10692:14:3" }, { "hexValue": "57697468647261772064617465206973206e6f7420726561636865642e", "kind": "string", "nodeType": "YulLiteral", "src": "10708:31:3", "type": "", "value": "Withdraw date is not reached." } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "10685:6:3" }, "nodeType": "YulFunctionCall", "src": "10685:55:3" }, "nodeType": "YulExpressionStatement", "src": "10685:55:3" } ] }, "name": "store_literal_in_memory_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "10666:6:3", "type": "" } ], "src": "10568:179:3" }, { "body": { "nodeType": "YulBlock", "src": "10899:220:3", "statements": [ { "nodeType": "YulAssignment", "src": "10909:74:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "10975:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "10980:2:3", "type": "", "value": "29" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "10916:58:3" }, "nodeType": "YulFunctionCall", "src": "10916:67:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "10909:3:3" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "11081:3:3" } ], "functionName": { "name": "store_literal_in_memory_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6", "nodeType": "YulIdentifier", "src": "10992:88:3" }, "nodeType": "YulFunctionCall", "src": "10992:93:3" }, "nodeType": "YulExpressionStatement", "src": "10992:93:3" }, { "nodeType": "YulAssignment", "src": "11094:19:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "11105:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "11110:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "11101:3:3" }, "nodeType": "YulFunctionCall", "src": "11101:12:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "11094:3:3" } ] } ] }, "name": "abi_encode_t_stringliteral_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "10887:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "10895:3:3", "type": "" } ], "src": "10753:366:3" }, { "body": { "nodeType": "YulBlock", "src": "11296:248:3", "statements": [ { "nodeType": "YulAssignment", "src": "11306:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "11318:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "11329:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "11314:3:3" }, "nodeType": "YulFunctionCall", "src": "11314:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "11306:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "11353:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "11364:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "11349:3:3" }, "nodeType": "YulFunctionCall", "src": "11349:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "11372:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "11378:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "11368:3:3" }, "nodeType": "YulFunctionCall", "src": "11368:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "11342:6:3" }, "nodeType": "YulFunctionCall", "src": "11342:47:3" }, "nodeType": "YulExpressionStatement", "src": "11342:47:3" }, { "nodeType": "YulAssignment", "src": "11398:139:3", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "11532:4:3" } ], "functionName": { "name": "abi_encode_t_stringliteral_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "11406:124:3" }, "nodeType": "YulFunctionCall", "src": "11406:131:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "11398:4:3" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "11276:9:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "11291:4:3", "type": "" } ], "src": "11125:419:3" }, { "body": { "nodeType": "YulBlock", "src": "11595:146:3", "statements": [ { "nodeType": "YulAssignment", "src": "11605:25:3", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "11628:1:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "11610:17:3" }, "nodeType": "YulFunctionCall", "src": "11610:20:3" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", "src": "11605:1:3" } ] }, { "nodeType": "YulAssignment", "src": "11639:25:3", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "11662:1:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "11644:17:3" }, "nodeType": "YulFunctionCall", "src": "11644:20:3" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", "src": "11639:1:3" } ] }, { "body": { "nodeType": "YulBlock", "src": "11686:22:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "11688:16:3" }, "nodeType": "YulFunctionCall", "src": "11688:18:3" }, "nodeType": "YulExpressionStatement", "src": "11688:18:3" } ] }, "condition": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "11680:1:3" }, { "name": "y", "nodeType": "YulIdentifier", "src": "11683:1:3" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "11677:2:3" }, "nodeType": "YulFunctionCall", "src": "11677:8:3" }, "nodeType": "YulIf", "src": "11674:34:3" }, { "nodeType": "YulAssignment", "src": "11718:17:3", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "11730:1:3" }, { "name": "y", "nodeType": "YulIdentifier", "src": "11733:1:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "11726:3:3" }, "nodeType": "YulFunctionCall", "src": "11726:9:3" }, "variableNames": [ { "name": "diff", "nodeType": "YulIdentifier", "src": "11718:4:3" } ] } ] }, "name": "checked_sub_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", "nodeType": "YulTypedName", "src": "11581:1:3", "type": "" }, { "name": "y", "nodeType": "YulTypedName", "src": "11584:1:3", "type": "" } ], "returnVariables": [ { "name": "diff", "nodeType": "YulTypedName", "src": "11590:4:3", "type": "" } ], "src": "11550:191:3" } ] }, "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_Status_$41(value) {\n if iszero(lt(value, 4)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_Status_$41(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_Status_$41(value)\n }\n\n function convert_t_enum$_Status_$41_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_Status_$41(value)\n }\n\n function abi_encode_t_enum$_Status_$41_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_Status_$41_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_address_t_address_t_enum$_Status_$41__to_t_uint256_t_uint256_t_address_t_address_t_uint8__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_enum$_Status_$41_to_t_uint8_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a(memPtr) {\n\n mstore(add(memPtr, 0), \"You are not the testator\")\n\n }\n\n function abi_encode_t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a__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_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2(memPtr) {\n\n mstore(add(memPtr, 0), \"You are not the beneficiary!\")\n\n }\n\n function abi_encode_t_stringliteral_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2__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_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6(memPtr) {\n\n mstore(add(memPtr, 0), \"No founds available\")\n\n }\n\n function abi_encode_t_stringliteral_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6__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_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6(memPtr) {\n\n mstore(add(memPtr, 0), \"Withdraw date is not reached.\")\n\n }\n\n function abi_encode_t_stringliteral_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6__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_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n}\n", "id": 3, "language": "Yul", "name": "#utility.yul" } ], "sourceMap": "200:2831:1:-:0;;;698:39;;;;;;;;;;728:1;723:2;:6;;;;200:2831;;;;;;", "deployedSourceMap": "200:2831:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2861:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;745:433;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1186:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2707:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1743:255;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1285:450;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;239:34;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;2006:318;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;335:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;280:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2599:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2332:259;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2861:157;2941:13;2973:17;:37;2991:18;2973:37;;;;;;;;;;;;;;;2966:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2861:157;;;:::o;745:433::-;841:217;;;;;;;;947:13;841:217;;;;909:9;841:217;;;;985:10;841:217;;;;;;874:12;841:217;;;;;;1018:28;841:217;;;;;;;;:::i;:::-;;;;;829:5;:9;835:2;;829:9;;;;;;;;;;;:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1069:14;:26;1084:10;1069:26;;;;;;;;;;;;;;;1101:2;;1069:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1115:17;:31;1133:12;1115:31;;;;;;;;;;;;;;;1152:2;;1115:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1166:2;;:4;;;;;;;;;:::i;:::-;;;;;;745:433;;:::o;1186:91::-;1230:4;1254:15;1247:22;;1186:91;:::o;2707:146::-;2781:13;2814:14;:31;2829:15;2814:31;;;;;;;;;;;;;;;2807:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2707:146;;;:::o;1743:255::-;1821:5;:10;1827:3;1821:10;;;;;;;;;;;:19;;;;;;;;;;;;1807:33;;:10;:33;;;1799:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;1928:9;1900:5;:10;1906:3;1900:10;;;;;;;;;;;:17;;;:38;;;;:::i;:::-;1880:5;:10;1886:3;1880:10;;;;;;;;;;;:17;;:58;;;;1969:21;1949:5;:10;1955:3;1949:10;;;;;;;;;;;:17;;;:41;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1743:255;:::o;1285:450::-;1364:5;:10;1370:3;1364:10;;;;;;;;;;;:22;;;;;;;;;;;;1350:36;;:10;:36;;;1342:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;1458:1;1438:5;:10;1444:3;1438:10;;;;;;;;;;;:17;;;:21;1430:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;1526:15;1502:5;:10;1508:3;1502:10;;;;;;;;;;;:23;;;:39;1494:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;1594:10;1586:28;;:47;1615:5;:10;1621:3;1615:10;;;;;;;;;;;:17;;;1586:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1664:1;1644:5;:10;1650:3;1644:10;;;;;;;;;;;:17;;:21;;;;1696:31;1676:5;:10;1682:3;1676:10;;;;;;;;;;;:17;;;:51;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1285:450;:::o;239:34::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2006:318::-;2089:5;:10;2095:3;2089:10;;;;;;;;;;;:19;;;;;;;;;;;;2075:33;;:10;:33;;;2067:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;2196:9;2168:5;:10;2174:3;2168:10;;;;;;;;;;;:17;;;:38;;;;:::i;:::-;2148:5;:10;2154:3;2148:10;;;;;;;;;;;:17;;:58;;;;2225:10;2217:28;;:47;2246:5;:10;2252:3;2246:10;;;;;;;;;;;:17;;;2217:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2295:21;2275:5;:10;2281:3;2275:10;;;;;;;;;;;:17;;;:41;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2006:318;:::o;335:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;280:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2599:100::-;2650:4;2674:5;:10;2680:3;2674:10;;;;;;;;;;;:17;;;2667:24;;2599:100;;;:::o;2332:259::-;2432:5;:10;2438:3;2432:10;;;;;;;;;;;:19;;;;;;;;;;;;2418:33;;:10;:33;;;2410:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;2517:16;2491:5;:10;2497:3;2491:10;;;;;;;;;;;:23;;:42;;;;2564:19;2544:5;:10;2550:3;2544:10;;;;;;;;;;;:17;;;:39;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2332:259;;:::o;88:117:3:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:114::-;1243:6;1277:5;1271:12;1261:22;;1176:114;;;:::o;1296:184::-;1395:11;1429:6;1424:3;1417:19;1469:4;1464:3;1460:14;1445:29;;1296:184;;;;:::o;1486:132::-;1553:4;1576:3;1568:11;;1606:4;1601:3;1597:14;1589:22;;1486:132;;;:::o;1624:77::-;1661:7;1690:5;1679:16;;1624:77;;;:::o;1707:108::-;1784:24;1802:5;1784:24;:::i;:::-;1779:3;1772:37;1707:108;;:::o;1821:179::-;1890:10;1911:46;1953:3;1945:6;1911:46;:::i;:::-;1989:4;1984:3;1980:14;1966:28;;1821:179;;;;:::o;2006:113::-;2076:4;2108;2103:3;2099:14;2091:22;;2006:113;;;:::o;2155:732::-;2274:3;2303:54;2351:5;2303:54;:::i;:::-;2373:86;2452:6;2447:3;2373:86;:::i;:::-;2366:93;;2483:56;2533:5;2483:56;:::i;:::-;2562:7;2593:1;2578:284;2603:6;2600:1;2597:13;2578:284;;;2679:6;2673:13;2706:63;2765:3;2750:13;2706:63;:::i;:::-;2699:70;;2792:60;2845:6;2792:60;:::i;:::-;2782:70;;2638:224;2625:1;2622;2618:9;2613:14;;2578:284;;;2582:14;2878:3;2871:10;;2279:608;;;2155:732;;;;:::o;2893:373::-;3036:4;3074:2;3063:9;3059:18;3051:26;;3123:9;3117:4;3113:20;3109:1;3098:9;3094:17;3087:47;3151:108;3254:4;3245:6;3151:108;:::i;:::-;3143:116;;2893:373;;;;:::o;3272:122::-;3345:24;3363:5;3345:24;:::i;:::-;3338:5;3335:35;3325:63;;3384:1;3381;3374:12;3325:63;3272:122;:::o;3400:139::-;3446:5;3484:6;3471:20;3462:29;;3500:33;3527:5;3500:33;:::i;:::-;3400:139;;;;:::o;3545:474::-;3613:6;3621;3670:2;3658:9;3649:7;3645:23;3641:32;3638:119;;;3676:79;;:::i;:::-;3638:119;3796:1;3821:53;3866:7;3857:6;3846:9;3842:22;3821:53;:::i;:::-;3811:63;;3767:117;3923:2;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3894:118;3545:474;;;;;:::o;4025:118::-;4112:24;4130:5;4112:24;:::i;:::-;4107:3;4100:37;4025:118;;:::o;4149:222::-;4242:4;4280:2;4269:9;4265:18;4257:26;;4293:71;4361:1;4350:9;4346:17;4337:6;4293:71;:::i;:::-;4149:222;;;;:::o;4377:329::-;4436:6;4485:2;4473:9;4464:7;4460:23;4456:32;4453:119;;;4491:79;;:::i;:::-;4453:119;4611:1;4636:53;4681:7;4672:6;4661:9;4657:22;4636:53;:::i;:::-;4626:63;;4582:117;4377:329;;;;:::o;4712:118::-;4799:24;4817:5;4799:24;:::i;:::-;4794:3;4787:37;4712:118;;:::o;4836:180::-;4884:77;4881:1;4874:88;4981:4;4978:1;4971:15;5005:4;5002:1;4995:15;5022:114;5104:1;5097:5;5094:12;5084:46;;5110:18;;:::i;:::-;5084:46;5022:114;:::o;5142:129::-;5188:7;5217:5;5206:16;;5223:42;5259:5;5223:42;:::i;:::-;5142:129;;;:::o;5277:::-;5334:9;5367:33;5394:5;5367:33;:::i;:::-;5354:46;;5277:129;;;:::o;5412:145::-;5506:44;5544:5;5506:44;:::i;:::-;5501:3;5494:57;5412:145;;:::o;5563:678::-;5775:4;5813:3;5802:9;5798:19;5790:27;;5827:71;5895:1;5884:9;5880:17;5871:6;5827:71;:::i;:::-;5908:72;5976:2;5965:9;5961:18;5952:6;5908:72;:::i;:::-;5990;6058:2;6047:9;6043:18;6034:6;5990:72;:::i;:::-;6072;6140:2;6129:9;6125:18;6116:6;6072:72;:::i;:::-;6154:80;6229:3;6218:9;6214:19;6205:6;6154:80;:::i;:::-;5563:678;;;;;;;;:::o;6247:474::-;6315:6;6323;6372:2;6360:9;6351:7;6347:23;6343:32;6340:119;;;6378:79;;:::i;:::-;6340:119;6498:1;6523:53;6568:7;6559:6;6548:9;6544:22;6523:53;:::i;:::-;6513:63;;6469:117;6625:2;6651:53;6696:7;6687:6;6676:9;6672:22;6651:53;:::i;:::-;6641:63;;6596:118;6247:474;;;;;:::o;6727:180::-;6775:77;6772:1;6765:88;6872:4;6869:1;6862:15;6896:4;6893:1;6886:15;6913:233;6952:3;6975:24;6993:5;6975:24;:::i;:::-;6966:33;;7021:66;7014:5;7011:77;7008:103;;7091:18;;:::i;:::-;7008:103;7138:1;7131:5;7127:13;7120:20;;6913:233;;;:::o;7152:169::-;7236:11;7270:6;7265:3;7258:19;7310:4;7305:3;7301:14;7286:29;;7152:169;;;;:::o;7327:174::-;7467:26;7463:1;7455:6;7451:14;7444:50;7327:174;:::o;7507:366::-;7649:3;7670:67;7734:2;7729:3;7670:67;:::i;:::-;7663:74;;7746:93;7835:3;7746:93;:::i;:::-;7864:2;7859:3;7855:12;7848:19;;7507:366;;;:::o;7879:419::-;8045:4;8083:2;8072:9;8068:18;8060:26;;8132:9;8126:4;8122:20;8118:1;8107:9;8103:17;8096:47;8160:131;8286:4;8160:131;:::i;:::-;8152:139;;7879:419;;;:::o;8304:305::-;8344:3;8363:20;8381:1;8363:20;:::i;:::-;8358:25;;8397:20;8415:1;8397:20;:::i;:::-;8392:25;;8551:1;8483:66;8479:74;8476:1;8473:81;8470:107;;;8557:18;;:::i;:::-;8470:107;8601:1;8598;8594:9;8587:16;;8304:305;;;;:::o;8615:178::-;8755:30;8751:1;8743:6;8739:14;8732:54;8615:178;:::o;8799:366::-;8941:3;8962:67;9026:2;9021:3;8962:67;:::i;:::-;8955:74;;9038:93;9127:3;9038:93;:::i;:::-;9156:2;9151:3;9147:12;9140:19;;8799:366;;;:::o;9171:419::-;9337:4;9375:2;9364:9;9360:18;9352:26;;9424:9;9418:4;9414:20;9410:1;9399:9;9395:17;9388:47;9452:131;9578:4;9452:131;:::i;:::-;9444:139;;9171:419;;;:::o;9596:169::-;9736:21;9732:1;9724:6;9720:14;9713:45;9596:169;:::o;9771:366::-;9913:3;9934:67;9998:2;9993:3;9934:67;:::i;:::-;9927:74;;10010:93;10099:3;10010:93;:::i;:::-;10128:2;10123:3;10119:12;10112:19;;9771:366;;;:::o;10143:419::-;10309:4;10347:2;10336:9;10332:18;10324:26;;10396:9;10390:4;10386:20;10382:1;10371:9;10367:17;10360:47;10424:131;10550:4;10424:131;:::i;:::-;10416:139;;10143:419;;;:::o;10568:179::-;10708:31;10704:1;10696:6;10692:14;10685:55;10568:179;:::o;10753:366::-;10895:3;10916:67;10980:2;10975:3;10916:67;:::i;:::-;10909:74;;10992:93;11081:3;10992:93;:::i;:::-;11110:2;11105:3;11101:12;11094:19;;10753:366;;;:::o;11125:419::-;11291:4;11329:2;11318:9;11314:18;11306:26;;11378:9;11372:4;11368:20;11364:1;11353:9;11349:17;11342:47;11406:131;11532:4;11406:131;:::i;:::-;11398:139;;11125:419;;;:::o;11550:191::-;11590:4;11610:20;11628:1;11610:20;:::i;:::-;11605:25;;11644:20;11662:1;11644:20;:::i;:::-;11639:25;;11683:1;11680;11677:8;11674:34;;;11688:18;;:::i;:::-;11674:34;11733:1;11730;11726:9;11718:17;;11550:191;;;;:::o", "source": "// SPDX-License-Identifier: GPL-3.0\r\n\r\npragma solidity 0.8.13;\r\n\r\n/**\r\n * @title Storage\r\n * @dev Store & retrieve value in a variable\r\n * @custom:dev-run-script ./scripts/deploy_with_ethers.ts\r\n */\r\ncontract Legacy {\r\n\r\n uint id;\r\n mapping(uint => WILL) public wills;\r\n mapping(address => uint[]) public wills_testator;\r\n mapping(address => uint[]) public wills_beneficiary;\r\n\r\n enum Status {\r\n INITIATED_BY_TESTATOR,\r\n WITHDRAWN_BY_BENEFICIARY,\r\n AMOUNT_CHANGED,\r\n DATE_CHANGED\r\n }\r\n\r\n struct WILL {\r\n uint withdrawDate;\r\n uint amount;\r\n address testator;\r\n address beneficiary;\r\n Status status;\r\n }\r\n\r\n\r\n constructor() {\r\n id = 0;\r\n }\r\n\r\n function deposit(address _beneficiary, uint _withdrawDate) public payable{\r\n wills[id] = WILL({\r\n beneficiary: _beneficiary,\r\n amount: msg.value,\r\n withdrawDate: _withdrawDate,\r\n testator: msg.sender,\r\n status: Status.INITIATED_BY_TESTATOR\r\n });\r\n wills_testator[msg.sender].push(id);\r\n wills_beneficiary[_beneficiary].push(id);\r\n id++;\r\n }\r\n\r\n function currentDate() public view returns (uint) {\r\n return block.timestamp;\r\n }\r\n\r\n function withdrawBeneficiary(uint _id) public {\r\n require(msg.sender == wills[_id].beneficiary, \"You are not the beneficiary!\");\r\n require(wills[_id].amount > 0, \"No founds available\");\r\n require(wills[_id].withdrawDate struct Legacy.WILL)" }, "typeName": { "id": 25, "keyType": { "id": 22, "name": "uint", "nodeType": "ElementaryTypeName", "src": "247:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "239:21:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL)" }, "valueType": { "id": 24, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 23, "name": "WILL", "nodeType": "IdentifierPath", "referencedDeclaration": 53, "src": "255:4:1" }, "referencedDeclaration": 53, "src": "255:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage_ptr", "typeString": "struct Legacy.WILL" } } }, "visibility": "public" }, { "constant": false, "functionSelector": "c78d30d5", "id": 31, "mutability": "mutable", "name": "wills_testator", "nameLocation": "314:14:1", "nodeType": "VariableDeclaration", "scope": 344, "src": "280:48:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[])" }, "typeName": { "id": 30, "keyType": { "id": 27, "name": "address", "nodeType": "ElementaryTypeName", "src": "288:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "280:26:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[])" }, "valueType": { "baseType": { "id": 28, "name": "uint", "nodeType": "ElementaryTypeName", "src": "299:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 29, "nodeType": "ArrayTypeName", "src": "299:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, "visibility": "public" }, { "constant": false, "functionSelector": "a95e95e7", "id": 36, "mutability": "mutable", "name": "wills_beneficiary", "nameLocation": "369:17:1", "nodeType": "VariableDeclaration", "scope": 344, "src": "335:51:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[])" }, "typeName": { "id": 35, "keyType": { "id": 32, "name": "address", "nodeType": "ElementaryTypeName", "src": "343:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "335:26:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[])" }, "valueType": { "baseType": { "id": 33, "name": "uint", "nodeType": "ElementaryTypeName", "src": "354:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 34, "nodeType": "ArrayTypeName", "src": "354:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, "visibility": "public" }, { "canonicalName": "Legacy.Status", "id": 41, "members": [ { "id": 37, "name": "INITIATED_BY_TESTATOR", "nameLocation": "418:21:1", "nodeType": "EnumValue", "src": "418:21:1" }, { "id": 38, "name": "WITHDRAWN_BY_BENEFICIARY", "nameLocation": "450:24:1", "nodeType": "EnumValue", "src": "450:24:1" }, { "id": 39, "name": "AMOUNT_CHANGED", "nameLocation": "485:14:1", "nodeType": "EnumValue", "src": "485:14:1" }, { "id": 40, "name": "DATE_CHANGED", "nameLocation": "510:12:1", "nodeType": "EnumValue", "src": "510:12:1" } ], "name": "Status", "nameLocation": "400:6:1", "nodeType": "EnumDefinition", "src": "395:134:1" }, { "canonicalName": "Legacy.WILL", "id": 53, "members": [ { "constant": false, "id": 43, "mutability": "mutable", "name": "withdrawDate", "nameLocation": "565:12:1", "nodeType": "VariableDeclaration", "scope": 53, "src": "560:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 42, "name": "uint", "nodeType": "ElementaryTypeName", "src": "560:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 45, "mutability": "mutable", "name": "amount", "nameLocation": "593:6:1", "nodeType": "VariableDeclaration", "scope": 53, "src": "588:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 44, "name": "uint", "nodeType": "ElementaryTypeName", "src": "588:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 47, "mutability": "mutable", "name": "testator", "nameLocation": "618:8:1", "nodeType": "VariableDeclaration", "scope": 53, "src": "610:16:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 46, "name": "address", "nodeType": "ElementaryTypeName", "src": "610:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 49, "mutability": "mutable", "name": "beneficiary", "nameLocation": "645:11:1", "nodeType": "VariableDeclaration", "scope": 53, "src": "637:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 48, "name": "address", "nodeType": "ElementaryTypeName", "src": "637:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 52, "mutability": "mutable", "name": "status", "nameLocation": "674:6:1", "nodeType": "VariableDeclaration", "scope": 53, "src": "667:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" }, "typeName": { "id": 51, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 50, "name": "Status", "nodeType": "IdentifierPath", "referencedDeclaration": 41, "src": "667:6:1" }, "referencedDeclaration": 41, "src": "667:6:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "visibility": "internal" } ], "name": "WILL", "nameLocation": "544:4:1", "nodeType": "StructDefinition", "scope": 344, "src": "537:151:1", "visibility": "public" }, { "body": { "id": 60, "nodeType": "Block", "src": "712:25:1", "statements": [ { "expression": { "id": 58, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 56, "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21, "src": "723:2:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "30", "id": 57, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "728:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "723:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 59, "nodeType": "ExpressionStatement", "src": "723:6:1" } ] }, "id": 61, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 54, "nodeType": "ParameterList", "parameters": [], "src": "709:2:1" }, "returnParameters": { "id": 55, "nodeType": "ParameterList", "parameters": [], "src": "712:0:1" }, "scope": 344, "src": "698:39:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 101, "nodeType": "Block", "src": "818:360:1", "statements": [ { "expression": { "id": 81, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 68, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "829:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 70, "indexExpression": { "id": 69, "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21, "src": "835:2:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "829:9:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 72, "name": "_beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 63, "src": "874:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "expression": { "id": 73, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "909:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 74, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", "src": "909:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 75, "name": "_withdrawDate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 65, "src": "947:13:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "expression": { "id": 76, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "985:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 77, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "985:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "expression": { "id": 78, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 41, "src": "1018:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$41_$", "typeString": "type(enum Legacy.Status)" } }, "id": 79, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "INITIATED_BY_TESTATOR", "nodeType": "MemberAccess", "referencedDeclaration": 37, "src": "1018:28:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } ], "id": 71, "name": "WILL", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "841:4:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_WILL_$53_storage_ptr_$", "typeString": "type(struct Legacy.WILL storage pointer)" } }, "id": 80, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [ "beneficiary", "amount", "withdrawDate", "testator", "status" ], "nodeType": "FunctionCall", "src": "841:217:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_memory_ptr", "typeString": "struct Legacy.WILL memory" } }, "src": "829:229:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 82, "nodeType": "ExpressionStatement", "src": "829:229:1" }, { "expression": { "arguments": [ { "id": 88, "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21, "src": "1101:2:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "baseExpression": { "id": 83, "name": "wills_testator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 31, "src": "1069:14:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, "id": 86, "indexExpression": { "expression": { "id": 84, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1084:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 85, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "1084:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1069:26:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "id": 87, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "src": "1069:31:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", "typeString": "function (uint256[] storage pointer,uint256)" } }, "id": 89, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1069:35:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 90, "nodeType": "ExpressionStatement", "src": "1069:35:1" }, { "expression": { "arguments": [ { "id": 95, "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21, "src": "1152:2:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "baseExpression": { "id": 91, "name": "wills_beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "1115:17:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, "id": 93, "indexExpression": { "id": 92, "name": "_beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 63, "src": "1133:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1115:31:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "id": 94, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "src": "1115:36:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", "typeString": "function (uint256[] storage pointer,uint256)" } }, "id": 96, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1115:40:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 97, "nodeType": "ExpressionStatement", "src": "1115:40:1" }, { "expression": { "id": 99, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "1166:4:1", "subExpression": { "id": 98, "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21, "src": "1166:2:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 100, "nodeType": "ExpressionStatement", "src": "1166:4:1" } ] }, "functionSelector": "47e7ef24", "id": 102, "implemented": true, "kind": "function", "modifiers": [], "name": "deposit", "nameLocation": "754:7:1", "nodeType": "FunctionDefinition", "parameters": { "id": 66, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 63, "mutability": "mutable", "name": "_beneficiary", "nameLocation": "770:12:1", "nodeType": "VariableDeclaration", "scope": 102, "src": "762:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 62, "name": "address", "nodeType": "ElementaryTypeName", "src": "762:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 65, "mutability": "mutable", "name": "_withdrawDate", "nameLocation": "789:13:1", "nodeType": "VariableDeclaration", "scope": 102, "src": "784:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 64, "name": "uint", "nodeType": "ElementaryTypeName", "src": "784:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "761:42:1" }, "returnParameters": { "id": 67, "nodeType": "ParameterList", "parameters": [], "src": "818:0:1" }, "scope": 344, "src": "745:433:1", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 110, "nodeType": "Block", "src": "1236:41:1", "statements": [ { "expression": { "expression": { "id": 107, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967292, "src": "1254:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", "src": "1254:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 106, "id": 109, "nodeType": "Return", "src": "1247:22:1" } ] }, "functionSelector": "4f99b7c5", "id": 111, "implemented": true, "kind": "function", "modifiers": [], "name": "currentDate", "nameLocation": "1195:11:1", "nodeType": "FunctionDefinition", "parameters": { "id": 103, "nodeType": "ParameterList", "parameters": [], "src": "1206:2:1" }, "returnParameters": { "id": 106, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 105, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 111, "src": "1230:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 104, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1230:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1229:6:1" }, "scope": 344, "src": "1186:91:1", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { "id": 175, "nodeType": "Block", "src": "1331:404:1", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 117, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1350:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 118, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "1350:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "baseExpression": { "id": 119, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1364:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 121, "indexExpression": { "id": 120, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 113, "src": "1370:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1364:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 122, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beneficiary", "nodeType": "MemberAccess", "referencedDeclaration": 49, "src": "1364:22:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1350:36:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "596f7520617265206e6f74207468652062656e656669636961727921", "id": 124, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1388:30:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2", "typeString": "literal_string \"You are not the beneficiary!\"" }, "value": "You are not the beneficiary!" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5c17882b1ee20ec60ab31bddfca5c0cde1d2e0db854f0db41ebee9d383daeae2", "typeString": "literal_string \"You are not the beneficiary!\"" } ], "id": 116, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "1342:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 125, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1342:77:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 126, "nodeType": "ExpressionStatement", "src": "1342:77:1" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "baseExpression": { "id": 128, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1438:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 130, "indexExpression": { "id": 129, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 113, "src": "1444:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1438:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 131, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "1438:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 132, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1458:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1438:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4e6f20666f756e647320617661696c61626c65", "id": 134, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1461:21:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6", "typeString": "literal_string \"No founds available\"" }, "value": "No founds available" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ee9dc7206421dcf026735ffd7ce55eac29d0edb31368aabac3af6b0fdf522bd6", "typeString": "literal_string \"No founds available\"" } ], "id": 127, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "1430:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 135, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1430:53:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 136, "nodeType": "ExpressionStatement", "src": "1430:53:1" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "baseExpression": { "id": 138, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1502:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 140, "indexExpression": { "id": 139, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 113, "src": "1508:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1502:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 141, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "withdrawDate", "nodeType": "MemberAccess", "referencedDeclaration": 43, "src": "1502:23:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 142, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967292, "src": "1526:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 143, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", "src": "1526:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1502:39:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "57697468647261772064617465206973206e6f7420726561636865642e", "id": 145, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1543:31:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6", "typeString": "literal_string \"Withdraw date is not reached.\"" }, "value": "Withdraw date is not reached." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_e584a014c7803fb0eb1ab0f4a32d4001e9c1b8be0245522d7f2329cc7f523ad6", "typeString": "literal_string \"Withdraw date is not reached.\"" } ], "id": 137, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "1494:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 146, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1494:81:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 147, "nodeType": "ExpressionStatement", "src": "1494:81:1" }, { "expression": { "arguments": [ { "expression": { "baseExpression": { "id": 154, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1615:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 156, "indexExpression": { "id": 155, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 113, "src": "1621:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1615:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 157, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "1615:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "arguments": [ { "expression": { "id": 150, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1594:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "1594:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 149, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1586:8:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { "id": 148, "name": "address", "nodeType": "ElementaryTypeName", "src": "1586:8:1", "stateMutability": "payable", "typeDescriptions": {} } }, "id": 152, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1586:19:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 153, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", "src": "1586:28:1", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, "id": 158, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1586:47:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 159, "nodeType": "ExpressionStatement", "src": "1586:47:1" }, { "expression": { "id": 165, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "baseExpression": { "id": 160, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1644:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 162, "indexExpression": { "id": 161, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 113, "src": "1650:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1644:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 163, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "1644:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "30", "id": 164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1664:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1644:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 166, "nodeType": "ExpressionStatement", "src": "1644:21:1" }, { "expression": { "id": 173, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "baseExpression": { "id": 167, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1676:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 169, "indexExpression": { "id": 168, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 113, "src": "1682:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1676:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 170, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 52, "src": "1676:17:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "id": 171, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 41, "src": "1696:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$41_$", "typeString": "type(enum Legacy.Status)" } }, "id": 172, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "WITHDRAWN_BY_BENEFICIARY", "nodeType": "MemberAccess", "referencedDeclaration": 38, "src": "1696:31:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "src": "1676:51:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "id": 174, "nodeType": "ExpressionStatement", "src": "1676:51:1" } ] }, "functionSelector": "6fb4f869", "id": 176, "implemented": true, "kind": "function", "modifiers": [], "name": "withdrawBeneficiary", "nameLocation": "1294:19:1", "nodeType": "FunctionDefinition", "parameters": { "id": 114, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 113, "mutability": "mutable", "name": "_id", "nameLocation": "1319:3:1", "nodeType": "VariableDeclaration", "scope": 176, "src": "1314:8:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 112, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1314:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1313:10:1" }, "returnParameters": { "id": 115, "nodeType": "ParameterList", "parameters": [], "src": "1331:0:1" }, "scope": 344, "src": "1285:450:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 216, "nodeType": "Block", "src": "1788:210:1", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 182, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1807:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 183, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "1807:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "baseExpression": { "id": 184, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1821:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 186, "indexExpression": { "id": 185, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 178, "src": "1827:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1821:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 187, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "testator", "nodeType": "MemberAccess", "referencedDeclaration": 47, "src": "1821:19:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1807:33:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "596f7520617265206e6f7420746865207465737461746f72", "id": 189, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1842:26:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a", "typeString": "literal_string \"You are not the testator\"" }, "value": "You are not the testator" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a", "typeString": "literal_string \"You are not the testator\"" } ], "id": 181, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "1799:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 190, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1799:70:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 191, "nodeType": "ExpressionStatement", "src": "1799:70:1" }, { "expression": { "id": 206, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "baseExpression": { "id": 192, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1880:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 194, "indexExpression": { "id": 193, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 178, "src": "1886:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1880:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 195, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "1880:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 205, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "baseExpression": { "id": 196, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1900:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 198, "indexExpression": { "id": 197, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 178, "src": "1906:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1900:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 199, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "1900:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "arguments": [ { "expression": { "id": 202, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1928:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 203, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", "src": "1928:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 201, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1920:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 200, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1920:7:1", "typeDescriptions": {} } }, "id": 204, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1920:18:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1900:38:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1880:58:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 207, "nodeType": "ExpressionStatement", "src": "1880:58:1" }, { "expression": { "id": 214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "baseExpression": { "id": 208, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "1949:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 210, "indexExpression": { "id": 209, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 178, "src": "1955:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1949:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 211, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 52, "src": "1949:17:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "id": 212, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 41, "src": "1969:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$41_$", "typeString": "type(enum Legacy.Status)" } }, "id": 213, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "AMOUNT_CHANGED", "nodeType": "MemberAccess", "referencedDeclaration": 39, "src": "1969:21:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "src": "1949:41:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "id": 215, "nodeType": "ExpressionStatement", "src": "1949:41:1" } ] }, "functionSelector": "6e0c2858", "id": 217, "implemented": true, "kind": "function", "modifiers": [], "name": "depositmore", "nameLocation": "1752:11:1", "nodeType": "FunctionDefinition", "parameters": { "id": 179, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 178, "mutability": "mutable", "name": "_id", "nameLocation": "1769:3:1", "nodeType": "VariableDeclaration", "scope": 217, "src": "1764:8:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 177, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1764:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1763:10:1" }, "returnParameters": { "id": 180, "nodeType": "ParameterList", "parameters": [], "src": "1788:0:1" }, "scope": 344, "src": "1743:255:1", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 269, "nodeType": "Block", "src": "2056:268:1", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 229, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 223, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "2075:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "2075:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "baseExpression": { "id": 225, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2089:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 227, "indexExpression": { "id": 226, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, "src": "2095:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2089:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 228, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "testator", "nodeType": "MemberAccess", "referencedDeclaration": 47, "src": "2089:19:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "2075:33:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "596f7520617265206e6f7420746865207465737461746f72", "id": 230, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2110:26:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a", "typeString": "literal_string \"You are not the testator\"" }, "value": "You are not the testator" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a", "typeString": "literal_string \"You are not the testator\"" } ], "id": 222, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "2067:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 231, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2067:70:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 232, "nodeType": "ExpressionStatement", "src": "2067:70:1" }, { "expression": { "id": 247, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "baseExpression": { "id": 233, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2148:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 235, "indexExpression": { "id": 234, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, "src": "2154:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2148:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 236, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "2148:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 246, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "baseExpression": { "id": 237, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2168:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 239, "indexExpression": { "id": 238, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, "src": "2174:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2168:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 240, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "2168:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "arguments": [ { "expression": { "id": 243, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "2196:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 244, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", "src": "2196:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 242, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2188:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2188:7:1", "typeDescriptions": {} } }, "id": 245, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2188:18:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2168:38:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2148:58:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 248, "nodeType": "ExpressionStatement", "src": "2148:58:1" }, { "expression": { "arguments": [ { "expression": { "baseExpression": { "id": 255, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2246:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 257, "indexExpression": { "id": 256, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, "src": "2252:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2246:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 258, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "2246:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "arguments": [ { "expression": { "id": 251, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "2225:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "2225:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 250, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2217:8:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { "id": 249, "name": "address", "nodeType": "ElementaryTypeName", "src": "2217:8:1", "stateMutability": "payable", "typeDescriptions": {} } }, "id": 253, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2217:19:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 254, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", "src": "2217:28:1", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, "id": 259, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2217:47:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 260, "nodeType": "ExpressionStatement", "src": "2217:47:1" }, { "expression": { "id": 267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "baseExpression": { "id": 261, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2275:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 263, "indexExpression": { "id": 262, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, "src": "2281:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2275:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 264, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 52, "src": "2275:17:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "id": 265, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 41, "src": "2295:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$41_$", "typeString": "type(enum Legacy.Status)" } }, "id": 266, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "AMOUNT_CHANGED", "nodeType": "MemberAccess", "referencedDeclaration": 39, "src": "2295:21:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "src": "2275:41:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "id": 268, "nodeType": "ExpressionStatement", "src": "2275:41:1" } ] }, "functionSelector": "9879f8f9", "id": 270, "implemented": true, "kind": "function", "modifiers": [], "name": "withdrawTestator", "nameLocation": "2015:16:1", "nodeType": "FunctionDefinition", "parameters": { "id": 220, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 219, "mutability": "mutable", "name": "_id", "nameLocation": "2037:3:1", "nodeType": "VariableDeclaration", "scope": 270, "src": "2032:8:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 218, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2032:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2031:10:1" }, "returnParameters": { "id": 221, "nodeType": "ParameterList", "parameters": [], "src": "2056:0:1" }, "scope": 344, "src": "2006:318:1", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 303, "nodeType": "Block", "src": "2399:192:1", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 278, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "2418:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 279, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "2418:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "baseExpression": { "id": 280, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2432:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 282, "indexExpression": { "id": 281, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, "src": "2438:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2432:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 283, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "testator", "nodeType": "MemberAccess", "referencedDeclaration": 47, "src": "2432:19:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "2418:33:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "596f7520617265206e6f7420746865207465737461746f72", "id": 285, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2453:26:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a", "typeString": "literal_string \"You are not the testator\"" }, "value": "You are not the testator" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c8cd8f8629e9a6105244cca8d736cd78839838e9d7784d7a57798df0a712931a", "typeString": "literal_string \"You are not the testator\"" } ], "id": 277, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "2410:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 286, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2410:70:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 287, "nodeType": "ExpressionStatement", "src": "2410:70:1" }, { "expression": { "id": 293, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "baseExpression": { "id": 288, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2491:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 290, "indexExpression": { "id": 289, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, "src": "2497:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2491:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 291, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "withdrawDate", "nodeType": "MemberAccess", "referencedDeclaration": 43, "src": "2491:23:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 292, "name": "_newWithdrawDate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 274, "src": "2517:16:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2491:42:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 294, "nodeType": "ExpressionStatement", "src": "2491:42:1" }, { "expression": { "id": 301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "baseExpression": { "id": 295, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2544:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 297, "indexExpression": { "id": 296, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, "src": "2550:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2544:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 298, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 52, "src": "2544:17:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "id": 299, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 41, "src": "2564:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$41_$", "typeString": "type(enum Legacy.Status)" } }, "id": 300, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "DATE_CHANGED", "nodeType": "MemberAccess", "referencedDeclaration": 40, "src": "2564:19:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "src": "2544:39:1", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$41", "typeString": "enum Legacy.Status" } }, "id": 302, "nodeType": "ExpressionStatement", "src": "2544:39:1" } ] }, "functionSelector": "f2dcc9b9", "id": 304, "implemented": true, "kind": "function", "modifiers": [], "name": "changeWithdrawDate", "nameLocation": "2341:18:1", "nodeType": "FunctionDefinition", "parameters": { "id": 275, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 272, "mutability": "mutable", "name": "_id", "nameLocation": "2365:3:1", "nodeType": "VariableDeclaration", "scope": 304, "src": "2360:8:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 271, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2360:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 274, "mutability": "mutable", "name": "_newWithdrawDate", "nameLocation": "2375:16:1", "nodeType": "VariableDeclaration", "scope": 304, "src": "2370:21:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 273, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2370:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2359:33:1" }, "returnParameters": { "id": 276, "nodeType": "ParameterList", "parameters": [], "src": "2399:0:1" }, "scope": 344, "src": "2332:259:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 316, "nodeType": "Block", "src": "2656:43:1", "statements": [ { "expression": { "expression": { "baseExpression": { "id": 311, "name": "wills", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26, "src": "2674:5:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$", "typeString": "mapping(uint256 => struct Legacy.WILL storage ref)" } }, "id": 313, "indexExpression": { "id": 312, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 306, "src": "2680:3:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2674:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_WILL_$53_storage", "typeString": "struct Legacy.WILL storage ref" } }, "id": 314, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "amount", "nodeType": "MemberAccess", "referencedDeclaration": 45, "src": "2674:17:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 310, "id": 315, "nodeType": "Return", "src": "2667:24:1" } ] }, "functionSelector": "e3d7d40f", "id": 317, "implemented": true, "kind": "function", "modifiers": [], "name": "get_amount", "nameLocation": "2608:10:1", "nodeType": "FunctionDefinition", "parameters": { "id": 307, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 306, "mutability": "mutable", "name": "_id", "nameLocation": "2624:3:1", "nodeType": "VariableDeclaration", "scope": 317, "src": "2619:8:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 305, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2619:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2618:10:1" }, "returnParameters": { "id": 310, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 309, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 317, "src": "2650:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 308, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2650:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2649:6:1" }, "scope": 344, "src": "2599:100:1", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { "id": 329, "nodeType": "Block", "src": "2796:57:1", "statements": [ { "expression": { "baseExpression": { "id": 325, "name": "wills_testator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 31, "src": "2814:14:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, "id": 327, "indexExpression": { "id": 326, "name": "testatorAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 319, "src": "2829:15:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2814:31:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "functionReturnParameters": 324, "id": 328, "nodeType": "Return", "src": "2807:38:1" } ] }, "functionSelector": "5046c66d", "id": 330, "implemented": true, "kind": "function", "modifiers": [], "name": "get_wills_testator", "nameLocation": "2716:18:1", "nodeType": "FunctionDefinition", "parameters": { "id": 320, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 319, "mutability": "mutable", "name": "testatorAddress", "nameLocation": "2743:15:1", "nodeType": "VariableDeclaration", "scope": 330, "src": "2735:23:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 318, "name": "address", "nodeType": "ElementaryTypeName", "src": "2735:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "2734:25:1" }, "returnParameters": { "id": 324, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 323, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 330, "src": "2781:13:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 321, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2781:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 322, "nodeType": "ArrayTypeName", "src": "2781:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "visibility": "internal" } ], "src": "2780:15:1" }, "scope": 344, "src": "2707:146:1", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { "id": 342, "nodeType": "Block", "src": "2955:63:1", "statements": [ { "expression": { "baseExpression": { "id": 338, "name": "wills_beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "2973:17:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, "id": 340, "indexExpression": { "id": 339, "name": "beneficiaryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 332, "src": "2991:18:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2973:37:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "functionReturnParameters": 337, "id": 341, "nodeType": "Return", "src": "2966:44:1" } ] }, "functionSelector": "35b354b3", "id": 343, "implemented": true, "kind": "function", "modifiers": [], "name": "get_wills_beneficiary", "nameLocation": "2870:21:1", "nodeType": "FunctionDefinition", "parameters": { "id": 333, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 332, "mutability": "mutable", "name": "beneficiaryAddress", "nameLocation": "2900:18:1", "nodeType": "VariableDeclaration", "scope": 343, "src": "2892:26:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 331, "name": "address", "nodeType": "ElementaryTypeName", "src": "2892:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "2891:28:1" }, "returnParameters": { "id": 337, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 336, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 343, "src": "2941:13:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 334, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2941:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 335, "nodeType": "ArrayTypeName", "src": "2941:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "visibility": "internal" } ], "src": "2940:15:1" }, "scope": 344, "src": "2861:157:1", "stateMutability": "view", "virtual": false, "visibility": "public" } ], "scope": 345, "src": "200:2831:1", "usedErrors": [] } ], "src": "39:2994:1" }, "compiler": { "name": "solc", "version": "0.8.13+commit.abaa5c0e.Emscripten.clang" }, "networks": { "1338": { "events": {}, "links": {}, "address": "0x1F4649C10854EB727369E746a5Bae73e8Dca6740", "transactionHash": "0xcfa00ca03291bf273ceaa5327b1719dde3aaea7dad0f4bff6b87ef3f5c547335" } }, "schemaVersion": "3.4.10", "updatedAt": "2022-11-12T10:55:01.127Z", "networkType": "ethereum", "devdoc": { "custom:dev-run-script": "./scripts/deploy_with_ethers.ts", "details": "Store & retrieve value in a variable", "kind": "dev", "methods": {}, "title": "Storage", "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }