legacy/truffle/build/contracts/Legacy.json

9710 lines
404 KiB
JSON

{
"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<block.timestamp, \"Withdraw date is not reached.\");\r\n payable(msg.sender).transfer(wills[_id].amount);\r\n wills[_id].amount = 0;\r\n wills[_id].status = Status.WITHDRAWN_BY_BENEFICIARY;\r\n }\r\n\r\n function depositmore(uint _id) public payable{\r\n require(msg.sender == wills[_id].testator, \"You are not the testator\");\r\n wills[_id].amount = wills[_id].amount + uint256(msg.value);\r\n wills[_id].status = Status.AMOUNT_CHANGED;\r\n }\r\n\r\n function withdrawTestator(uint _id) public payable{\r\n require(msg.sender == wills[_id].testator, \"You are not the testator\");\r\n wills[_id].amount = wills[_id].amount - uint256(msg.value);\r\n payable(msg.sender).transfer(wills[_id].amount);\r\n wills[_id].status = Status.AMOUNT_CHANGED;\r\n }\r\n\r\n function changeWithdrawDate(uint _id, uint _newWithdrawDate) public{\r\n require(msg.sender == wills[_id].testator, \"You are not the testator\");\r\n wills[_id].withdrawDate = _newWithdrawDate;\r\n wills[_id].status = Status.DATE_CHANGED;\r\n }\r\n\r\n function get_amount(uint _id) public view returns (uint) {\r\n return wills[_id].amount;\r\n }\r\n\r\n function get_wills_testator(address testatorAddress) public view returns (uint[] memory) {\r\n return wills_testator[testatorAddress];\r\n }\r\n\r\n function get_wills_beneficiary(address beneficiaryAddress) public view returns (uint[] memory){\r\n return wills_beneficiary[beneficiaryAddress];\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n",
"sourcePath": "/home/matze/Programming/legacy/truffle/contracts/Legacy.sol",
"ast": {
"absolutePath": "project:/contracts/Legacy.sol",
"exportedSymbols": {
"Legacy": [
344
]
},
"id": 345,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 18,
"literals": [
"solidity",
"0.8",
".13"
],
"nodeType": "PragmaDirective",
"src": "39:23:1"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Legacy",
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 19,
"nodeType": "StructuredDocumentation",
"src": "66:132:1",
"text": " @title Storage\n @dev Store & retrieve value in a variable\n @custom:dev-run-script ./scripts/deploy_with_ethers.ts"
},
"fullyImplemented": true,
"id": 344,
"linearizedBaseContracts": [
344
],
"name": "Legacy",
"nameLocation": "209:6:1",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 21,
"mutability": "mutable",
"name": "id",
"nameLocation": "230:2:1",
"nodeType": "VariableDeclaration",
"scope": 344,
"src": "225:7:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 20,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "225:4:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"functionSelector": "8db7fbe7",
"id": 26,
"mutability": "mutable",
"name": "wills",
"nameLocation": "268:5:1",
"nodeType": "VariableDeclaration",
"scope": 344,
"src": "239:34:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WILL_$53_storage_$",
"typeString": "mapping(uint256 => 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
}
}